How I Built ELCV.app in 2 Weeks Using Supabase, Vercel, and Gemini

A Resume Builder… Built in Just 2 Weeks?
Yes. And here’s how.
ELCV.app is a simple, multilingual AI-powered resume builder that lets users create and download a professional CV without needing to sign up. It supports any language, includes AI rewriting tools, and offers a clean one-page UX.
I built it from scratch in just under three weeks, solo.
This post is for makers, devs, indie hackers, or anyone interested in the actual tech stack and thought process behind a small SaaS product launch.
Problem First, Code Later
Before I wrote a single line of code, I validated one thing:
People struggle to write professional CVs — especially in languages other than English.
Most resume tools are:
English-only
Complex or bloated
Locked behind sign-up or subscriptions
So I wrote down 3 core principles:
Multilingual input/output
No sign-up required to generate
Super cheap pay-as-you-go download model
The Tech Stack
I wanted a serverless, scalable, zero-maintenance setup. Here's what I used:
Frontend
React + TailwindCSS – lightning fast development and responsiveness
Next.js on Vercel – SSR, image optimization, easy deployment
ShadCN UI – for modern components
Backend / Auth / DB
Supabase
Auth: Email/password login (optional)
Postgres DB: To save resume content (if logged in)
Storage: For user-uploaded photos and resume backups
AI Tools
Gemini API
Rewriting user CV content
Generating cover letters
Analyzing CV quality (coming soon)
Payments
Kashier API (Egypt) for fast local micro-payments
Stripe or crypto support is planned for global users
PDF Generation
HTML-to-PDF via
puppeteer-core
on Vercel edge functionsOutput options: PDF, JPEG, PNG
Launch MVP, Learn Fast
Instead of waiting for everything to be “perfect”, I launched the first version with:
6 templates only
1 AI prompt per CV
3 download format (PDF, JPG, PNG)
Only guest mode (no login)
The result? People actually used it.
What’s Next?
More AI features: CV grading, tone correction
More templates: By industry & design
Global payment support (Stripe, Razorpay)
Lessons Learned
You don’t need to build a giant product to be useful
AI + nocode/devtools = launch fast, iterate faster
Make the path to value instant — no forced login, no upsells
A $0.50 product is still a business — if the UX is 🔥
Try ELCV.app
Want to see it in action?
👉 https://elcv.app
Try building a resume in your native language, and let me know what you think.
Built solo, shipped fast, and growing every day
Thanks for reading!
Hossam
Subscribe to my newsletter
Read articles from hossam omar directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
