Inspiration

Looking for a job can feel like a full-time job. Every application demands tailoring your resume, writing a custom cover letter, and analyzing your fit against a specific job description. As a developer, I realized this repetitive loop was the perfect candidate for automation. AppliAI was born from a simple idea: what if AI could do the heavy lifting so you can focus on preparing for the interview instead of drowning in paperwork?

What it does

AppliAI is an AI-powered job application copilot. Users upload their CV (PDF), paste a job description or URL, and the app instantly generates a tailored cover letter, calculates a match score, and provides actionable suggestions to improve their candidacy. Everything is tracked in a personal dashboard with full application history and autosave.

How we built it

We built AppliAI using Next.js 16 with the App Router for a fast, server-rendered experience. Clerk handles authentication seamlessly. The database layer uses Prisma ORM with a PostgreSQL (Neon Serverless) backend to persist user data, applications, and generated letters. For the AI engine, we integrated the Google Gemini API as the primary model, with Groq (Llama 3.3 70B) as an automatic fallback. The cover letter editor is powered by Tiptap, giving users a rich-text workspace to refine their output. Styling is handled with Tailwind CSS and shadcn/ui components.

Challenges we ran into

The biggest challenge was API reliability and cost. Initially, we sent the entire PDF file (base64-encoded) directly to the AI, which consumed around 66,000 tokens per request. This hit rate limits (HTTP 429) and payload size limits (HTTP 413) constantly. We solved this by integrating server-side PDF text extraction using pdf-parse, which reduced the payload from ~66,000 tokens down to ~2,000 tokens — a 33x reduction. Another major challenge was handling Gemini's rate limiting during peak usage. We implemented a cascading fallback system: if Gemini returns a 429 error, the request is automatically rerouted to Groq's Llama 3.3 70B model, ensuring near-100% uptime for users.

Accomplishments that we're proud of

We are proud of the hybrid AI fallback architecture that makes the app resilient to API failures. We are also proud of achieving a 96.9% reduction in token usage through smart server-side PDF parsing, which makes the app both faster and cheaper to operate. The polished UI with autosave indicators, real-time match scoring, and a premium dark-mode design is something we feel delivers a genuinely professional user experience.

What we learned

Building AppliAI taught us critical lessons in resilience engineering — designing systems that fail gracefully by cascading to backup services. We learned the importance of payload optimization — never send raw binary data to an LLM when extracted text will do. We also deepened our understanding of full-stack AI integration, connecting authentication, databases, rich-text editors, and multiple AI providers into a cohesive product.

What's next for AppliAI

Next steps include adding PDF export for generated cover letters, implementing an "Apply Changes" feature that lets the AI automatically rewrite sections based on its own suggestions, and adding multi-language support so users can generate cover letters in different languages depending on the job market they are targeting.

Built With

Share this project:

Updates

Submission history