ApplyBloom is an AI-assisted job application platform split into two codebases:
auto-apply-frontend(Next.js web app)auto-apply-backend(Cloudflare Worker API and async processors)
→ docs/auto-apply/ — Architecture, phased delivery plan, decisions, and references for the AI-driven auto-apply pipeline. Read this first before touching any auto-apply code.
- Auto-apply mode: upload resume, discover matching jobs, and queue apply actions.
- Single-job mode: pick one job, tailor resume for that job, then apply.
- Node.js 20+
- npm 10+
- Open a terminal in
auto-apply-backend. - Install dependencies:
npm install
- Create
auto-apply-backend/.dev.vars:
DEV_DEMO_USER_ID=local_demo_user
DEV_IMMEDIATE_QUEUE_PROCESSING=true
RESEND_API_KEY=your_resend_api_key
RESEND_FROM_EMAIL=ApplyBloom <onboarding@resend.dev>
GREENHOUSE_BOARD_TOKENS=
LEVER_COMPANY_TOKENS=- Start backend:
npm run dev
- Health check:
http://127.0.0.1:8787/api/v1/health
- Open a second terminal in
auto-apply-frontend. - Install dependencies:
npm install
- Create/update
auto-apply-frontend/.env.local:
NEXT_PUBLIC_BACKEND_API_BASE_URL=http://127.0.0.1:8787
NEXT_PUBLIC_DEMO_USER_ID=local_demo_user
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key- Start frontend:
npm run dev
- Open:
http://localhost:3000
- Frontend tests:
cd auto-apply-frontendnpm run test
- Backend tests:
cd auto-apply-backendnpm run test
Cannot find module './xxx.js'or RSC payload mismatch usually means stale Next build artifacts:cd auto-apply-frontendnpm run clean:nextnpm run dev
- If frontend cannot call backend, verify:
NEXT_PUBLIC_BACKEND_API_BASE_URL=http://127.0.0.1:8787- backend terminal is running
npm run dev
- Frontend and backend remain separate codebases.
- API edge remains stateless.
- Long-running work is handled by async processors.
- External GitHub repos are reference implementations; behavior is ported into ApplyBloom code.
- System design
- Implementation idea
- Resources and source links
- Remaining integrations checklist
- Branch protection setup
- Contributing guide
Community contributions are welcome. Please start with CONTRIBUTING.md for setup, branch naming, test requirements, and pull request expectations.