DEV Community

NIDHAN JAIN
NIDHAN JAIN

Posted on AI-assisted

THE UNCLAIMED: a digital archaeology field kit

Hacktoberfest Open-Source AI Challenge: Ghost in the Machine Submission 👻🌼

This is my submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine.

THE UNCLAIMED: a digital archaeology field kit

What I built

THE UNCLAIMED is a workspace for investigating what remains of forgotten websites. Each investigation is a case: gather search leads, inspect a live page, look for historical captures, save observations, and connect the evidence in a timeline, graph, and report.

The interface is intentionally eerie. The evidence trail is deliberately ordinary: a search snippet is only a lead, and a finding is grounded in text saved to the case.

Demo

Try the deployed app at unclaimed.nidhan.tech.

Code

The repository is public, but it currently has no license file. The code is visible; reuse rights have not been granted.

How I built it

The app uses Next.js, TypeScript, Drizzle, and Tiger Data Postgres. SerpApi turns searches into leads, the Internet Archive provides historical capture records, and Browserbase runs temporary remote Chromium sessions for inspecting live pages.

For analysis, the server sends Gemma 3 4B a bounded packet of saved case evidence. The model returns structured findings that are checked against a schema. A claim marked verified must quote text already stored in the investigation. The graph, timeline, and report are drawn from those saved records.

The model is Gemma 3 4B in both environments. On a laptop, Ollama runs locally. On Render, the Next.js app and model run as separate services; the model service is private and reached through an authenticated gateway. The Ollama port is not exposed publicly, and investigation prompts are not sent to a cloud LLM.

Ambient and effect sounds are static MP3 files in the repository. A local utility uses ElevenLabs to generate the clips; the deployed app serves the files and does not call ElevenLabs at runtime.

Run it locally

You need Node.js, Ollama with Gemma 3 4B, and a PostgreSQL database. Search and remote-browser features also need their provider credentials. See the linked setup guide for the full environment-variable list.

git clone https://github.com/Dev-Nidhan/the-unclaimed.git
cd the-unclaimed
npm install
cp .env.example .env.local
ollama pull gemma3:4b
Enter fullscreen mode Exit fullscreen mode

Fill in the required values in .env.local, start Ollama, then run:

npm run db:migrate
npm run dev
Enter fullscreen mode Exit fullscreen mode

Open http://localhost:3000. The model URL defaults to http://127.0.0.1:11434; the app rejects non-loopback Ollama URLs for local inference.

Why open innovation matters

A forgotten page is already easy to misremember. I wanted the AI layer to make claims that can be traced back to stored evidence, with the same Gemma model available locally for inspection and experimentation. Keeping the model self-hosted also means the core analysis path does not depend on a per-token cloud LLM API.

The whole product is not offline: discovery, archived pages, remote browser sessions, and the hosted database use network services. On Render, the model is kept private while the rest of the demo remains easy to try.

Prize categories

  • Overall — Hacktoberfest Open-Source AI Challenge Week 4: a digital archaeology project about investigating the traces left by vanished websites.
  • Best Use of Gemma: Gemma 3 4B analyzes the saved evidence packet and returns structured findings.
  • Best Use of Render: Render hosts the public Next.js app and the separate private Gemma/Ollama service.
  • Best Use of Browserbase: Browserbase provides temporary remote Chromium sessions for fieldwork.
  • Best Use of SerpApi: Search results seed the case as leads to verify.
  • Best Use of Tiger Data: Tiger Data Postgres stores investigations, sources, observations, and findings.
  • Best Use of Sentry Agent Tracing: Sentry receives scrubbed server errors and traces.
  • Best Use of ElevenLabs: ElevenLabs generates the sound assets through a local utility; playback uses the checked-in static files.
  • Best Use of a .Tech Domain: The live project is hosted at unclaimed.nidhan.tech.

DigitalOcean Spaces is supported in the code for production artifact storage, but it is not configured for this demo, so I have not listed it as a category used.

Limits

Internet Archive lookups can be rate-limited, and search results can be incomplete. Gemma can still make mistakes; evidence quoting and schema checks help make findings reviewable, but they do not replace human judgment. Production artifact uploads are not enabled without Spaces credentials.

The goal is not to make the model tell a ghost story. It is to give an investigator a clear path from a surviving trace to a claim they can check.

Top comments (0)