Inspiration Developers ship faster when a senior reviewer and a tech writer are effectively “in the room”—but those people rarely scale. DevLens was inspired by the idea that your screen is the source of truth: capture what you’re doing, get live feedback on the code in view, and turn the session into real documentation others can follow—not another forgotten recording.
What it does Live code review — Paste or send code; the backend runs text-based review (Gemini and/or OpenAI with fallback) and the web UI uses Assistant UI for a chat-style thread. Docs without video — If there’s no recording, you describe what happened in plain text; the app turns that into a structured doc (title, summary, steps) and stores it. Session + doc library — Sessions and generated docs are tracked in a SQLite DB; markdown is served from local disk storage (no cloud bucket required for dev). Hackathon-ready — USE_MOCKS and local storage keep the stack runnable without wiring every external vendor on day one. How we built it Monorepo — apps/web (Vite + React), server (Express + Drizzle + SQLite), packages/shared (types), packages/sponsors (LLM + storage abstractions). One dev command — Root npm run dev runs scripts/dev-runner.mjs so the API (server/) and the UI (apps/web/) start with the correct working directories; Vite proxies /api and /ws to the backend. LLM layer — Shared provider order + fallback (e.g. Gemini then OpenAI) for reviews and narrative→doc JSON generation. UI — Assistant UI primitives for the review thread; dashboard and Review & docs page for reviews and text-only doc generation. Challenges we ran into Port conflicts — Many overlapping node processes left 3001/3011 busy; we stabilized with a single runner, clearer listen error handling, and a default API port that avoids common collisions. “Sponsor” vs reality — Mapping the spec to real keys (e.g. hosted vs open-source Railtracks, Augment tokens, storage) required clear env docs and mock-first paths. Scope vs time — Full screen capture + extension + WebSocket streaming is staged; we prioritized end-to-end text review and text-only docs first. Accomplishments that we're proud of A working vertical slice: UI → API → LLM → DB → markdown, including narrative-only doc generation when video isn’t available. Sensible defaults: local file storage, SQLite, and one command to run frontend + backend. Honest integrations: Gemini/OpenAI wired for real calls; mocks where we didn’t need to fake more than necessary for the demo. What we learned Dev ergonomics matter as much as features — EADDRINUSE and cwd bugs burned time until we owned the dev process with an explicit runner. One “AI vendor” column isn’t enough — Fallbacks and text-only paths matter when vision or video isn’t available. Product clarity beats raw integrations — A clear story (live review + docs, with or without video) beats a pile of unused API keys. What's next for DevLens Chrome extension — Screen capture, frame throttle, and WebSocket-driven live reviews in the sidebar (Assistant UI–aligned). Richer agents — Deeper Railtracks-style orchestration if we adopt a hosted API or a Python sidecar for the open-source framework. Team mode — Search across docs, session history, and optional auth when we move beyond the hackathon demo. Polish — assistant-ui init–style Tailwind/shadcn UI pass, streaming responses, and PDF export for docs.
Log in or sign up for Devpost to join the conversation.