Next.js, FastAPI, Neon, Upstash, ARQ, Clerk
RepoLens
Helps engineers understand unfamiliar codebases: import a repo, get a structured map, chat over it, and plan implementations — never generate code.
Problem
Dropping into a strange monorepo means hours of grep before you can propose a safe change.
Why X, not Y
Why shared packages/db, not api→worker imports
API and workers stay peers. Both depend on packages/db so the worker never becomes a sidecar of the HTTP layer.
Why ARQ, not Celery
Backend is async-first. ARQ is asyncio-native; Celery’s async story is bolted on and heavier than this queue needs.
Why Neon + Upstash from day one
Managed Postgres/pgvector and Redis kill local dual-config drift. Dev and prod speak the same wire protocol.
Why scope secrets per surface
Seven services. Frontend only gets NEXT_PUBLIC_*. DB, queue, AI, and storage stay on Render — the real security boundary.
Flow
- 01Clone repo
- 02Chunk (Tree-sitter)
- 03Embed → pgvector
- 04Summarize / chat / plan
If I rebuilt it today
If I rebuilt today I’d swap ARQ for a still-maintained async queue once one matches the fit — maintenance-mode was a known trade-off, not a surprise.