Inspiration Job hunting is repetitive and exhausting. You upload the same CV dozens of times, rewrite cover letters from scratch, and still miss roles that actually fit your skills. Many people — especially early-career candidates or those without a polished resume — get stuck before they even start. We built Aria to flip that workflow: tell us who you are once by uploading a CV or speaking your experience out loud, and let AI handle finding jobs, scoring fit, tailoring your application, and helping you apply, all in one place.

What it does Aria is an AI-powered job application platform that takes you from profile to application in minutes. Users can upload a PDF or DOCX CV, or use the Voice CV builder to describe their experience out loud. Aria scrapes live job listings from Google Jobs, Indeed, and major employer career portals, then scores each role against the user’s profile with explainable match percentages, matched skills, and skill gaps. For any job, users can generate a role-specific CV and cover letter, export a PDF, and send the application via email without leaving the dashboard. A Kanban-style application tracker keeps sent, viewed, interview, offer, and rejected statuses in one view. Users can also use voice search to describe what they’re looking for — for example, “remote frontend roles in fintech” — and get instant results.

How we built it We started with Vercel v0 to scaffold the UI — landing page, onboarding flow, and dashboard — then extended it into a full-stack Next.js 16 app deployed on Vercel. AWS is the backbone of the platform: Amazon Aurora PostgreSQL stores users, parsed CVs, job listings, AI match scores, tailored CVs, and applications; Amazon Cognito handles secure signup and login via NextAuth; Amazon S3 stores uploaded CV files with presigned URLs; and Amazon SES sends application emails with tailored CV PDFs attached. GPT-4o, accessed through the AIML API, parses CVs, matches jobs in batches, tailors CVs per role, and generates cover letters. Speechmatics transcribes voice recordings for CV building and voice job search. Bright Data scrapes live job listings, and a Vercel Cron job syncs and re-matches jobs every six hours. Puppeteer with Chromium renders tailored CVs as downloadable PDFs in a serverless environment. The stack also includes React 19, TypeScript, Drizzle ORM, Tailwind CSS, shadcn/ui, and Zod validation. For local development during the hackathon, we used PGlite as an embedded Postgres database so the full app runs without AWS credentials, then switched environment flags to Aurora, Cognito, S3, and SES for production.

Challenges we ran into Connecting Aurora to Vercel serverless was the biggest hurdle. Our RDS cluster lived inside a VPC with no public inbound rule on port 5432, so serverless functions on Vercel could not reach the database. We had to open the security group, enable public access on the writer instance, and use SSL in the connection string. Job scraping quality was harder than expected — raw scrapes returned search pages, expired listings, and classified ads instead of real jobs, so we built URL validation, source filtering, and deactivation logic to keep only legitimate listings in Aurora. AI CV tailoring without fabricating experience was another challenge; we solved it with strict prompt rules to preserve structure, rephrase only existing content, and weave in keywords only where truthful. PDF generation on Vercel also required switching from standard Puppeteer to @sparticuz/chromium with puppeteer-core for headless rendering in production.

Accomplishments that we're proud of We’re proud of building a complete end-to-end flow from voice or file onboarding to AI matching, CV tailoring, email application, and Kanban tracking. The voice-first onboarding path lets users without a resume still build a structured profile. Our explainable AI matching stores scores, matched and missing skills, and reasoning in Aurora — not just a black-box ranking. We also built a dual-mode architecture with the full AWS stack in production and PGlite plus local filesystem storage for fast hackathon iteration. Finally, we turned a polished UI bootstrapped with v0 into a production-ready dashboard with real backend logic.

What we learned We learned that AWS databases and serverless deployments require careful networking setup — VPC security groups and public access matter as much as the ORM layer. v0 is a strong starting point for UI velocity, but real products need thoughtful backend design including schema design, cron jobs, rate limiting, and auth flows. AI in production needs guardrails, especially for CV tailoring where hallucinated credentials would be harmful. We also learned that scraping is as much about cleaning and validation as it is about fetching data — deduplication and filtering are essential for quality results.

What's next for Aria Next, we want to add LinkedIn, Greenhouse, and Lever integrations for one-click apply on supported ATS platforms. We plan to build an interview prep mode with AI-generated Q&A based on the job description and tailored CV. Smarter matching with embedding-based similarity could replace batch LLM scoring for better performance and cost. We also see potential for a team or recruiter view for staffing agencies managing multiple candidates, and a mobile app with push notifications when new high-match jobs appear.

Built With

Share this project:

Updates

posted an update

Aria started as a Vercel v0 UI and is now a production job-search platform: speak or upload your CV, get AI-matched roles, tailor applications, and track everything in one dashboard.

What’s new since submission

Voice CV builder — speak your experience; Speechmatics transcribes, GPT-4o structures it into a profile Voice job search — say what you want on the browse page; AI extracts intent and finds matching listings Public vacancies page

/vacancies — browse live listings without signing in Scrapes Google Jobs, Indeed, ikman.lk, topjobs.lk, and MNC career portals via Bright Data Vercel Cron syncs every 6 hours into Amazon Aurora PostgreSQL

AI cover letters + tailored CV PDFs Gmail compose for one-click apply (plus Amazon SES in production) Direct links to real job postings (fake URLs filtered out)

Explainable match scores (matched/missing skills + reasoning) stored in Aurora Vacancies personalized by CV location and target roles Clickable role suggestions during onboarding

Local dev with PGlite — no AWS required to hack on features Resilient scraping with parallel fast mode and fallback jobs Live links Demo: https://aria-zeta-virid.vercel.app (or https://youtu.be/2bKSs4F6nfk?si=nddX_YtWe1xGADOD) GitHub: https://github.com/AhamedAAHA/Aria v0 project: https://v0.app/chat/projects/prj_KUyB63BnCzFh5dPnuNubCWuAx4lj

Log in or sign up for Devpost to join the conversation.