A local-first Markdown resume builder with live preview, resume theming, shareable links, and print-ready output.
- Markdown Editor β Write your resume in Markdown with live preview and resume-specific shortcuts
- Local-first Drafts β Drafts stay in your browser (no account required)
- Resume Appearance β Accent colors, font families, sizing, and spacing controls
- Shareable Links β Publish to a public URL with an optional custom slug
- Magic-Link Editing β Continue editing on another device via email link
- Auto Sync + Unpublish β Changes sync after publishing, with one-click unpublish
- PDF Export β One-click download or print from your browser β both ATS-friendly
- Dark Mode β Editor UI supports light/dark themes and preview theming
- Write locally in the editor; drafts stay in your browser.
- Publish to Cloudflare D1 and share at
/r/[slug](slug optional). - Use a magic link to edit elsewhere; updates auto-sync while published.
Quick reference for resume-specific shortcuts (shorthand and verbose forms are both supported):
| Feature | Shorthand | Verbose | Output |
|---|---|---|---|
| Split line | Left || Right |
[[Left || Right]] |
Left/right aligned line |
| Accent divider | +++ |
[[HR:accent]] |
Thick accent divider |
| Page break | /// |
[[PAGEBREAK]] |
Page break for print/PDF |
Example (raw Markdown in editor):
# Maya Sandoval
## Senior Software Engineer
San Francisco, CA γ» maya@example.com γ» portfolio.example.dev γ» (555) 123-4567
+++
## Professional Summary
Product-minded senior engineer with 7+ years building...
## Experience
**Senior Software Engineer** @ Stripe || *2022 β Present*
- Architected a real-time fraud detection pipeline...
///
## Volunteering
**Mentor** β TechCareer Mentorship Program
- Helped early-career engineers with interview prep...Notes:
- Split lines support inline formatting (e.g.,
**Bold** || 2020). - Verbose
[[...]]syntax works everywhere the shorthand does.
- Framework: Next.js 15 (App Router)
- UI: React 19, custom components + shadcn/ui patterns (Base UI primitives)
- Language: TypeScript
- Styling: Tailwind CSS v4
- Editor: md-editor-rt
- Theming: next-themes
- State: zustand (localStorage persistence)
- Database: Cloudflare D1 + Drizzle ORM
- Email: Resend + React Email
- Hosting/Runtime: OpenNext Cloudflare (Workers)
- Icons: Phosphor Icons
Waiting for Cloudflare/OpenNext to fully support Next 16 before upgrading the framework version.
- Node.js 20+
- pnpm
# Clone the repository
git clone https://github.com/tamarazuk/tidyresume.git
cd tidyresume
# Install dependencies
pnpm install
# Generate Cloudflare binding types (D1, R2, etc.)
pnpm cf-typegen
# Start the dev server (runs local D1 migrations)
pnpm devOpen http://localhost:3000 to see the app.
Need a fresh local database? Run pnpm migrate:local.
Create .env.local if you want to send magic links or customize base URLs.
NEXT_PUBLIC_APP_URLβ Base URL used for magic links (defaults to request origin).NEXT_PUBLIC_SITE_URLβ Site URL for metadata/SEO.RESEND_API_KEYβ Resend API key for production.RESEND_DEV_API_KEYβ Resend API key for development.EMAIL_FROMβ From address for outbound emails.DISABLE_OUTBOUND_EMAILSβ Set totrueto disable all emails.DISABLE_MAGIC_LINK_EMAILSβ Legacy flag to disable magic-link emails.
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production server
pnpm test # Run Vitest
pnpm lint # Run ESLint
pnpm storybook # Run Storybook locally
pnpm storybook:build # Build static Storybook
pnpm format # Format code with Prettier- Development notes:
docs/DEVELOPMENT.md
Last updated: January 2026
- π― Markdown editor with live preview
- πΌοΈ Landing page
- π Dark mode support
- π Publish flow with shareable URLs
- πͺ Magic link editing (no auth)
- π¨οΈ Print to PDF (browser)
- π§Ύ PDF export (one-click)
- π Multiple resume templates
- π§ Guided editor mode (form-based)
- π Custom slug selection
- π¨ Resume appearance customization (accent, typography, spacing)
Suggestions and feedback are welcome! Feel free to open an issue or start a discussion. For development details, see docs/DEVELOPMENT.md.
MIT. See LICENSE.

