Paste your portfolio link. Get a professional PDF resume. Instantly.
EasyResume Maker is a zero-friction, AI-powered resume generator. Paste any public URL — portfolio site, GitHub profile, LinkedIn, Dev.to, or personal blog — and get a clean, downloadable PDF resume in seconds.
3 templates · Groq AI (Gemini soon) · 100% client-side · FeedBack system · No data collected
- One URL → One Resume — paste any public link and go
- 3 beautiful templates — Minimal, Modern (two-column), Classic (warm serif)
- AI-powered extraction — uses Groq (llama-3.3-70b) or Gemini 1.5 Flash
- Client-side PDF — generated entirely in your browser via jsPDF
- Zero data collection — your API key and data never touch our servers
- SEO optimised — schema.org structured data, Open Graph, meta tags
- Fully responsive — works on mobile, tablet, desktop
- Accessible — ARIA labels, keyboard navigation, live regions
- 4-stage loading UI — each stage visually aligned to what's actually happening
- FAQ section — SEO-rich content that answers real user questions
- Feedback System — integrated via Formspree for user suggestions
| Layer | Tool | Why |
|---|---|---|
| Frontend | Plain HTML/CSS/JS | Zero build step, instant deploy anywhere |
| Web Scraping | Jina Reader API | Free, handles JS-heavy sites, no auth needed |
| AI (fast) | Groq — llama-3.3-70b | Fastest inference, free tier, JSON mode |
| AI (alt) | Gemini 1.5 Flash | Google's free tier alternative |
| jsPDF | Client-side, no server, excellent quality | |
| Fonts | DM Serif Display + Syne + DM Mono | Distinctive editorial aesthetic |
| Hosting | Any static host | Vercel, Netlify, GitHub Pages — all work |
Just open index.html in your browser. Done. No install, no build.
git clone https://github.com/abhi-jithb/EasyResumeMaker.git
cd easyresume-maker
open index.html # macOS
# or
xdg-open index.html # Linuxnpm install -g vercel
vercel --prodDrag and drop the index.html file at netlify.com/drop.
Push to a repo, enable GitHub Pages from Settings → Pages → main branch.
- Go to console.groq.com
- Sign up for free (takes 30 seconds)
- Click API Keys → Create API Key
- Copy and paste into EasyResume Maker
Groq's free tier allows hundreds of resume generations per day.
Gemini integration is currently undergoing maintenance to support the latest v1 stable API. Groq is the recommended provider for now.
easyresume-maker/
├── index.html # The entire app — one file
├── README.md # This file
├── LICENSE # MIT License
└── og-image.png # (optional) Open Graph image for social sharing
| Template | Style | Best For |
|---|---|---|
| Minimal | Clean white, serif headings, elegant spacing | Designers, writers, general use |
| Modern | Dark sidebar, two-column, yellow accent | Developers, tech roles |
| Classic | Warm tones, terracotta accent, traditional | Business, academia, senior roles |
| Source | Works? | Notes |
|---|---|---|
| Personal portfolio sites (static/SSG) | ✅ Best | Most info, cleanest extraction |
| GitHub profiles | ✅ Great | Pulls bio, repos, skills |
| Dev.to profiles | Jina Reader returns HTTP 400 for some Dev.to URLs | |
| Hashnode blogs | ✅ Great | — |
| Read.cv | ✅ Great | Purpose-built for this use case |
| Returns ~127 chars (JS-blocked) — triggers low-content warning | ||
| Behance | ✅ Good | Project descriptions extracted |
| Medium | @username pages return ~246 chars — triggers low-content warning | |
| React portfolio sites | ✅ Usually works | Jina extracts static HTML shell; results vary by site |
| Next.js portfolio sites | Some content extracted but resume may be sparse (e.g. leerob.io) | |
| Vue / Nuxt portfolio sites | JS-rendered — little content extracted; prefer GitHub or Dev.to | |
| Angular portfolio sites | JS-rendered — prefer a static alternative | |
| Astro / SvelteKit sites | ✅ Usually works | Mostly pre-rendered HTML; extraction typically succeeds |
Why do some sites fail? Sites that load content via JavaScript (React, Next.js, Vue, Angular) may return fewer than 300 characters to Jina Reader — not enough to build a resume. The app will show a specific warning with suggested alternatives instead of passing empty input to the AI. LinkedIn actively blocks scrapers and consistently returns < 300 chars.
- Your API key is used only in your browser session. It is sent directly from your browser to Groq/Google's servers. We never see it.
- Your URL content is fetched via Jina Reader API and sent to the AI for parsing. It is not stored anywhere.
- No cookies, no analytics, no tracking.
- No account required.
- 2 more templates (Compact, Creative)
- Multi-URL support (merge GitHub + LinkedIn + portfolio)
- "Edit before download" — in-browser resume editing
- ATS score checker
- Dark/light mode toggle
- Share resume link (optional)
- Custom colour picker per template
PRs welcome! This is a single-file project by design — all contributions should stay within index.html unless there's a strong reason not to.
- Fork the repo
- Make your changes in
index.html - Test by opening in a browser with a real API key
- Submit a PR with a clear description
MIT — free to use, modify, and distribute.
Built to solve a real problem: resumes are annoying to update. If you already have a portfolio, a GitHub, or a LinkedIn — your story is already written. EasyResume Maker just formats it.
Inspired by the simplicity of README generators: paste your details, get the output, done.
Built with ♥ by Abhijith for developers, designers, and everyone who's stared at a blank resume template at midnight.