Skip to content

tamarazuk/tidyresume

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

330 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TidyResumeΒ Β TidyResume

TypeScript Next.js Tailwind CSS CodeRabbit Pull Request Reviews

A local-first Markdown resume builder with live preview, resume theming, shareable links, and print-ready output.

TidyResume Editor - Light Mode

TidyResume Editor - Dark Mode

Features

  • 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

How it works

  • 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.

Markdown Extensions

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.

Tech Stack

  • 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.

Getting Started

Prerequisites

  • Node.js 20+
  • pnpm

Installation

# 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 dev

Open http://localhost:3000 to see the app. Need a fresh local database? Run pnpm migrate:local.

Environment Variables

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 to true to disable all emails.
  • DISABLE_MAGIC_LINK_EMAILS β€” Legacy flag to disable magic-link emails.

Scripts

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

Docs

  • Development notes: docs/DEVELOPMENT.md

Roadmap

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)

Contributing

Suggestions and feedback are welcome! Feel free to open an issue or start a discussion. For development details, see docs/DEVELOPMENT.md.

License

MIT. See LICENSE.

About

Markdown-based resume builder with live preview, PDF export, and local-first storage. βœοΈπŸ“„

Topics

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Contributors

Languages