Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CV Site

A self-hosted CV hosting platform that makes your resume feel like a polished product page β€” not a PDF attachment. Runs on Cloudflare, deploy under your own domain.

Important

I'm personally strongly against flooding codebases with AI-generated content the author doesn't fully understand β€” what the community calls "AI slop." That said, I needed this project quickly and built it with heavy AI assistance. I'm being upfront about that.

As a result, my current skill level isn't sufficient to properly review overly complex PRs β€” they may not get merged. But any issue, bug report, or ⭐ star is genuinely appreciated and will be seen. Thank you for understanding.

This project is actively being developed and debugged β€” not yet in a stable state. Deploy at your own risk.


πŸ€” Why not just a PDF?

A static PDF is one-size-fits-all and leaves you blind. CV Site gives you:

  • 🌐 A real URL that looks professional β€” cv.yourdomain.com, served from Cloudflare's global edge
  • ✨ Animations and rich layouts β€” themes can use any CSS/JS effect, potentially leaving a stronger impression than a flat document
  • πŸ‘οΈ Full visibility β€” you know exactly who opened your CV, when, and from where
  • 🎯 Control over what each person sees β€” show different CV versions or languages to different recruiters via magic links

βš™οΈ How it works

Theme + Data β†’ Asset β†’ Magic Link β†’ Visitor

You create an Asset (theme + your CV data), generate a Magic Link, share it. Change your CV anytime β€” the link always shows the latest version, no resend needed.

✨ Key features

  • πŸ”— Magic Links β€” per-visitor access with custom CV content, file permissions, optional email whitelist
  • 🎨 Themes β€” built-in editorial themes with rich typography and layout; custom theme support in development
  • 🌍 Multi-language β€” one theme, multiple language variants (en/zh built-in); language switcher in CV header
  • πŸ“Ž Proof file requests β€” visitor submits a request; you get a Telegram alert; Resend delivers the file from your own domain. Whitelist controls who can request
  • πŸ“Š Visitor analytics β€” browser fingerprint aggregation (UA, screen, timezone, CPU, platform), visit history, per-visitor detail, clickable filter
  • πŸ’¬ Contact messages β€” visitors can leave messages, stored in admin
  • πŸ“₯ RxResume import β€” import rxresu.me JSON directly into the asset editor
  • πŸ”” Alerts β€” Telegram push (new visitors, file requests) + Resend transactional email

πŸ› οΈ Stack

Layer Technology
Runtime Cloudflare Workers (SSR)
Framework Astro + TypeScript
Database D1 (SQLite)
Files R2 Object Storage
Config KV Namespace
CAPTCHA Turnstile (optional)

πŸš€ Deploy in 5 minutes

See Deployment Guide β€” requires a Cloudflare account (free tier).

The short version:

git clone https://github.com/sealeelike/CV.git
cd CV/cv-site && npm install
npx wrangler login
# create D1 / R2 / KV resources, update wrangler.jsonc
npx wrangler d1 execute cv-site-db --remote --file=schema.sql
npm run build && npx wrangler deploy

First login to /admin/login sets your password.

πŸ—‚οΈ Admin panel

  • /admin/assets β€” manage CV assets (theme + data pairs), inline JSON editor, proof files
  • /admin/themes β€” Theme Store: browse built-in themes, create assets, upload custom themes
  • /admin/access β€” Magic Links: create links, assign assets, set file permissions, language variants
  • /admin/visitors β€” visitor list with fingerprint details
  • /admin/requests β€” proof file request log
  • /admin/settings β€” Resend, Telegram, Turnstile config

πŸ—ΊοΈ Roadmap

Features planned or in progress:

  • 🎨 Custom theme upload β€” package your own theme (CSS + config) and use it as a template
  • πŸ–ΌοΈ Avatar upload β€” upload a profile photo directly in the asset editor
  • πŸ” PDF watermarks β€” per-link custom watermark text (e.g. "For Google HR only")
  • 🌐 Multi-language email β€” deliver proof file emails in the visitor's language
  • πŸ“§ Email template presets β€” pre-filled Resend email body with placeholders
  • πŸ—‘οΈ Record management β€” delete visitors, requests, and messages; batch delete
  • πŸ“ Visitor notes β€” add private notes to guest records in the admin panel
  • 🐳 Platform portability β€” support for more deployment targets beyond Cloudflare (Docker, Vercel, and others)

About

A Cloudflare-hosted CV platform. Track visitors and serve customized resume variants via magic links.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages