Inspiration

As someone with a background in both Cybersecurity and Web Development, I often found myself juggling multiple resumes tailored to different job roles. Each time I applied for a job, I had to edit my CV to match the role — and keeping track of those changes, versions, and formats became a frustrating process.

That’s when I decided to create CVStore — a simple but powerful app that helps professionals generate, track, and optimize their resumes using AI, all from one place.

What it does

CVStore allows users to:

  • Create a detailed profile with their work history, skills, and achievements.
  • Instantly generate general CVs tailored to disciplines like cybersecurity, development, devops, etc.
  • Generate job-specific resumes by pasting a job description — the AI tailors the CV accordingly.
  • Keep track of resume versions in a timeline and restore or update anytime.
  • Export resumes as PDF or DOCX.
  • Analyze resumes for ATS optimization, providing keyword scores and improvement suggestions.
  • Manage usage with free and paid subscription plans (via RevenueCat).

    How we built it

    CVStore is built using a mix of powerful tools and services:

  • Bolt.new: Used to scaffold the app logic, database models, and initial workflows.

  • React.js: Built the frontend with dynamic, responsive components.

  • Tailwind CSS: Styled the UI for speed and modern design.

  • Supabase: Used for backend database, authentication, and file storage.

  • Pollinations AI: Integrated for smart, contextual resume generation.

  • RevenueCat: Handled subscription plans, usage tracking, and plan limits.

  • Netlify: Deployed the production site with CI/CD pipelines and global hosting.

  • PWA Support: Enabled installable access on mobile and offline editing support.

Challenges we ran into

  • Resume versioning logic: Designing a versioning system that’s intuitive but flexible was tricky, especially when restoring or comparing past versions.
  • AI prompt accuracy: Ensuring the AI generated content that was professional, concise, and keyword-aligned for ATS systems required several prompt refinements.
  • PDF/DOCX exports: Preserving formatting across different export options (especially DOCX) took more effort than expected.
  • Subscription enforcement: Coordinating plan restrictions and real-time usage limits between RevenueCat, Supabase, and the frontend needed precise access control logic. **RevenueCat Integration*: Integrating RevenueCat using paddle was a hustle, I couldn't manage to see any packages on the Front end after configuring everything correctly on the Revenuecat platform. I ended up opting for just Revenuecat web billing with worked like magic!

Accomplishments that we're proud of

  • How to effectively combine AI, design systems, and backend-as-a-service to build a real-world, scalable SaaS product.
  • The importance of prompt engineering when integrating AI with user data.
  • Best practices for building multi-tier subscription logic and enforcing plan limits securely.
  • How to create clean, intuitive UX flows for users who aren’t tech-savvy. ## What we learned

What's next for cvstore

  • Add cover letter generation using AI, based on user profile and job descriptions.
  • Integrate LinkedIn profile imports for faster onboarding.
  • Introduce resume review assistant to highlight weak points and suggest improvements.
  • Launch a referral program and team plans for small groups or bootcamps.
  • Localize the app into multiple languages.
  • Improve export templates and offer more professional designs to match industrie

Built With

  • bolt.new
  • netlify
  • pollinations
  • react
  • revenuecat
  • supabase
Share this project:

Updates