How I'd build Northstar
I'd reach for Next.js on the frontend with TypeScript, FastAPI on the backend, and Postgres for the database. Stripe handles billing across the three tiers, Claude API powers the resume scoring and document generation, and Resend handles email delivery for interview questions and offer letters. Resume files live in S3, and I'd deploy the frontend to Vercel and the backend to Railway. Honest estimate: 160-240 billable hours to get to production, so roughly $12,000-18,000 at your rate. That covers auth, billing, resume processing, Claude integrations, and a working dashboard - not premature optimization or months of polish, but real product.
Day-by-day plan
Day 1: Provision auth schema with role-based access, multi-tenant isolation at the database level, and a clean tenant model. Day 2: Wire Stripe billing across the three pricing tiers - checkout flows, webhooks for subscription events, and tier-gated feature access. Day 3-4: Build the resume upload flow, PDF/DOCX parsing, file storage in S3, and Claude API integration for scoring and conflict detection. Day 4-5: Wire job description generation and interview question generation as separate Claude prompts. Day 5-6: Add offer letter drafting and integrate Resend for outgoing emails with templating. Week 2: Build the founder dashboard - results view, file management, export to PDF. Week 2-3: Add test coverage for Claude prompt edge cases, deploy to staging, load test the Stripe webhook handlers, and cut to production.
What's hard about this build
Resume parsing is deceptively thorny. PDFs render differently depending on layout, and some formats are OCR-only - miss a skill or misread a date and your credibility is gone. The resume scoring itself is the real risk: one high-profile false negative (AI rejects a strong candidate) or false positive (AI passes someone who tanks an interview) spreads through founder Slack communities fast and becomes a reputation crater. Multi-tenant data isolation must be bulletproof - a query bug that leaks one founder's resume data to another is a compliance disaster and a shutdown scenario. Resume de-duplication is also subtle: the same candidate uploaded twice in different formats needs conflict detection and merging. Finally, Claude API latency and cost scaling: at volume, you're either managing rate limits or your per-user cost explodes.
What's fast because of AI
Claude handles the scaffolding - boilerplate for Next.js authentication, Stripe webhook handlers, and Postgres schema migrations. Resume scoring logic is fast to iterate on because Claude helps draft and refine the evaluation prompts and can generate rubrics from sample data. UI copywriting gets accelerated: job description templates, onboarding messages, and error states are written by Claude. Test generation is where I see a real time win: enumeration of edge cases - malformed PDFs, multi-page resumes, unusual date formats - takes a week to think through manually but Claude generates them in an afternoon. Debugging integration mismatches between Stripe webhooks and subscription state is faster with Claude catching schema misalignments. Finally, offer letter templating: Claude drafts flexible templates that founders can customize without touching code.
How I'd hand it off
I'd leave you three Loom recordings: the founder signup and onboarding flow, the resume upload and scoring workflow, and the export and offer-letter pipeline. You get a runbook covering how to deploy, manage Stripe and Claude API keys, monitor the database, and handle the most common support requests. For the first 30 days post-launch, I stay on a pager rotation - bugs get a same-day fix, and we iterate on Claude prompts based on real usage. You get the GitHub repo with commit history, AWS credentials transferred to your IAM role, and the Postgres database fully backed up with a restore procedure documented. If you hire someone to run it after, the handoff is a single Loom + the runbook.