You enter your email and paste the job details (or a link). The portal infers your company from the email domain.
Paste a job description. Get my résumé and cover letter, tailored to the role, in seconds. Every detail is drawn from real experience and genuine motivations — no generic templates, no hallucinations.
I’m not currently looking — I just like building demos. If the role is interesting, I’ll read it.
R.03 →Paste a role to get started
Four steps, each with a footnote. None of them are surprising; the surprise is that they all actually run against a real database.
You enter your email and paste the job details (or a link). The portal infers your company from the email domain.
Two checks run in parallel — company-values fit and role-fit (skills, seniority, domain). If something’s off, you’re told upfront, not after.
The system researches the company, then queries a vector database of real experiences and selects the most relevant ones. Nothing is fabricated.
Résumé and cover letter, streamed live, ready to forward. Reviewable, exportable, dated.
A short form. The portal does the rest. Either paste the description, or drop a link — whichever is faster for you.
Results will stream in here once you submit the role. Résumé, cover letter, and research snapshot update live.
The page is, for now, blank.
Paste a role above. The dossier will fill in below, in roughly twenty-five seconds, including the company research.
Six entries. Hover or focus any row to reveal its note. They double as a cheat-sheet for how I think about this kind of system.
A Next.js frontend collects the role details and streams results via SSE. The FastAPI backend first researches your company using Tavily web search, then runs two alignment checks in parallel — company-values fit and role-fit (skills, seniority, domain) — using structured LLM extraction. If alignment passes, it queries a PostgreSQL + pgvector database of real experiences via embedding similarity, selects the most relevant ones, and streams a tailored resume and cover letter through OpenAI. Everything is stored and observable via Logfire tracing.
graph LR
A[Next.js Frontend] -->|SSE| B[FastAPI Backend]
B --> C[Tavily Web Search]
B --> D[Alignment Checks]
D --> D1[Company-Values Fit]
D --> D2[Role Fit]
B --> E[PostgreSQL + pgvector]
E -->|Embedding Similarity| F[Experience Selection]
F --> G[OpenAI Generation]
G -->|Stream| A
B --> H[Logfire Tracing]No. The system curates from a database of real experiences, skills, and projects. It selects and emphasizes what's relevant — it doesn't invent. In the future I'll add additional guardrails to detect even embellishment.
No. This is a practical demonstration of full-stack and AI engineering skills. If it makes you curious enough to reach out, it's done its job.
Submissions — your email, company, and job description — are stored so I can review what roles come in. Your data isn't shared or sold.
The alignment check protects your time too. If the role isn't a strong fit — wrong domain, seniority mismatch, values misalignment — the system is transparent about it upfront rather than wasting your time with a generic packet.
Sending generic résumés felt like a missed opportunity to show what I can actually build. Also: I think it’s funny.