All projects

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

  1. 01Clone repo
  2. 02Chunk (Tree-sitter)
  3. 03Embed → pgvector
  4. 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.