Build a Next.js/Tailwind/Bun resume optimizer with OpenRouter LLM
Session from 0xKobolds on Hugging Face by moikapy · MIT · condensed by Coders Talk
Click a segment to jump to that moment
21msession
0interventions
GOAL
Build a resume optimizer web app with a landing page, resume upload, a 5-question form builder, template selection, and AI-generated optimized resumes using OpenRouter.
- +0Prompt · +0Create a Next.js/Tailwind/Bun resume optimizer using OpenRouter: landing page → resume upload + 5-question form → template selection → AI-generated optimized resume
- +0mAgent did · +0mWrote a plan.md and attempted to spawn 5 subagents for setup, landing page, upload/form, templates, and backend API, but the broadcasts failed to reach any clients
- +1mFail · +1mSubagent broadcasts went to 0 clients and were skipped due to queued messages, so the parallel subagent plan silently failed
- +1mAgent did · +1mAbandoned subagent approach and executed the plan directly: scaffolded Next.js with bun/shadcn, installed zustand, ai, pdf-parse, mammoth, and shadcn components
- +2mAgent did · +2mBuilt out types, zustand store, OpenRouter client, prompt builder, templates config, resume parser, upload/generate API routes, and all UI components (upload, form builder, template cards, preview, landing hero/features, optimize/templates/result pages)
- +9mAgent did · +9mFixed Next.js config for pdf-parse/mammoth external packages, added a pdf-parse type declaration, corrected an invalid experimental config key, and got a successful production build
- +10mAgent did · +10mWrote a README summarizing the project and gave a feature/tech-stack breakdown to the developer
- +20mPrompt · +20mGeneration error: OpenRouter 401 Missing Authentication header - what do we need for this?
- +20mAgent did · +20mDiagnosed missing OpenRouter API key, added .env.local placeholder, improved error handling in openrouter.ts, and gave step-by-step instructions to obtain and set the key
- +21mOutcome · +21mProject scaffolded end-to-end (landing, upload, form, templates, result pages, API routes) with a passing production build; blocked only on the developer supplying their own OpenRouter API key
VERDICT
Next time I'd skip asking for subagents/plan mode up front since the broadcast-based spawning silently failed and sent 0 messages - going straight to direct execution is what actually got the project built. The build fixes (serverExternalPackages, pdf-parse types) were routine but necessary; the real blocker at the end was just missing my own OpenRouter API key, which the agent correctly diagnosed from the 401 error.