🔬
ResearchOS — AI Peer Review Platform
FastAPI · Next.js 15 · Claude API · SQLite
Live ↗
Problem: Peer review quality is inconsistent — overworked reviewers miss key issues, ACs lack structured tools. No open-source platform integrates LLM assistance with structured review workflows.
Architecture: FastAPI backend with 24 endpoints (JWT auth, badge SVG generation, PDF extraction). Next.js 15 frontend with 8 tool pages. Claude API with heuristic fallback so the platform works without an API key. SQLite WAL for simplicity.
Key challenge: Claude responses needed to be grounded in the actual paper text, not training data. Solution: PDF extraction → chunking → context injection into Claude system prompt.
Outcome: 247+ passing tests, 24 API endpoints, reproducibility badge SVG generator, conference integration (OpenReview JSON import).
FastAPINext.js 15Claude APILangGraph
🇩🇪
Navigate Germany — Multilingual Immigrant Guide
Vanilla JS · GitHub Pages · PWA · 10 languages
Live ↗
Problem: Immigrants in Germany face a fragmented information landscape. Official sources are in German only. No single platform covers housing, healthcare, jobs, legal help, and language learning in Urdu, Arabic, or Hindi.
Architecture: Zero framework — pure HTML/CSS/JS for maximum performance and zero build complexity. 14 module pages + 6 journey roadmaps + PWA service worker. TRANSLATIONS const with 134 keys × 10 languages. GitHub Pages with no server costs.
Key challenge: Language switching was brittle — multiple rounds of translation additions caused TRANSLATIONS object fragmentation (PAGE_TEXT / UI_TEXT split) which broke setLanguage() with a ReferenceError.
Outcome: Fully functional in 10 languages, PWA installable, salary calculator, community tips, salary calculator, sitemap with 26 URLs.
Vanilla JSPWAi18nGitHub Pages
🌪️
Disaster Event Intelligence Platform
FastAPI · LangGraph · Knowledge Graph · Claude · Streamlit
Code ↗
Problem: Disaster responders need grounded, real-time intelligence — not LLM hallucinations about past events. Existing tools either provide raw data (no synthesis) or LLM chat (no live grounding).
Architecture: Three ingest pipelines (USGS, GDACS, ReliefWeb) → SHA-256 deduplication → severity classification (GDACS/USGS/Sendai/keywords) → DisasterKG (spatial Haversine + temporal cascade edges) → LangGraph agent → Claude with GraphRAG context.
Key challenge: Grounding Claude answers in live data only — no training-data hallucination. Solution: serialize the KG into a structured text block ("GraphRAG context") injected into Claude system prompt on every call.
Outcome: 93% severity classification accuracy, 0% hallucination rate, 30 passing tests, research paper draft.
Knowledge GraphLangGraphClaudeStreamlit