JATLAS was inspired by the DOJ's release of the Jeffrey Epstein archive.

While the raw files are publicly available, they're clunky and difficult to navigate. The inspiration for this project was to turn this unstructured library into an explorable knowledge graph, accessible to anyone who wants see Epstein's network of connections at a glance and trace them back to primary sources.

What It Does

JATLAS turns the Epstein email archive into an interactive knowledge graph. Agents scrape public email threads, extract names and relationships using NLP, and build a weighted network showing who communicated with whom and how often. Users can explore the graph visually, see the strongest connections to Epstein, and click any node to view primary-source email excerpts linked to the original threads.

How I built it

I built 100% of JATLAS through vibe-coding:

  • ChatGPT & Gemini for ideation, architecture brainstorming, and prompt refinement
  • Perplexity for quick research & fact-checking
  • ChatGPT Codex to generate initial blueprints and validate results
  • Claude Code as my primary coding agent to build and iterate

Frontend: Next.js 14 + TypeScript + Tailwind CSS with react-force-graph-2d for UI

Backend: FastAPI + Python NLP pipeline (spaCy + rapidfuzz)

DB: PostgreSQL + pgvector

Scraping: Browserbase + Playwright

Deployment: Vercel for hosting and CI

Challenges we ran into

This was my first hackathon and my first time seriously building. Over 36 hours, I broke off from my initial team, pivoted three times, and scrapped entire repos. Time constraints created a sense of urgency as I was constantly deciding whether to double down or change direction. Some notable challenges were knowing which tools to use (Claude? Codex? raw Python?), knowing when to iterate or pivot, and avoiding getting lost in the sauce in the pursuit of perfection.

Built With

Share this project:

Updates