# Project export: JATLAS

This document was generated by HackStack to give an AI agent context about a hackathon project. Sections are labeled with their provenance; content marked as truncated was cut to keep this document small.

## Project metadata

- Hackathon: TreeHacks 2026
- Tagline: Jeffrey Archive, Transparently Linked and Sourced (JATLAS)
- Devpost: https://devpost.com/software/jatlas
- GitHub: not linked
- Demo: https://jatlas-web.vercel.app/
- Team: contributor stats unavailable

## Devpost submission (written by the team)

### Overview

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.

## README (from the GitHub repository)

No README available.

## Detected evidence (automated analysis)

No repository was indexed for this project. Claimed technologies below could not be checked against code.
- FastAPI (technology) — claimed on Devpost, not found in the code
- Google Gemini (technology) — claimed on Devpost, not found in the code
- JavaScript (language) — claimed on Devpost, not found in the code
- Next.js (technology) — claimed on Devpost, not found in the code
- PostgreSQL (technology) — claimed on Devpost, not found in the code
- Python (language) — claimed on Devpost, not found in the code
- React (technology) — claimed on Devpost, not found in the code
- Tailwind CSS (technology) — claimed on Devpost, not found in the code
- TypeScript (language) — claimed on Devpost, not found in the code
- Vercel (technology) — claimed on Devpost, not found in the code

## Codebase structure

No repository index available.

## Key source files

No repository index available; no source files included.