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
Log in or sign up for Devpost to join the conversation.