A modern CV generator that transforms your data into beautiful, professional CVs using Typst templates.
This is a CV generator application that allows users to create professional CVs using various Typst templates. The application is built with modern Go web technologies and provides a fast, responsive experience for CV creation and generation.
- Multiple CV Templates: Choose from various professional Typst templates
- Real-time Generation: CVs are generated instantly in memory
- No Data Persistence: All data is processed in memory for privacy
- Modern UI: Clean, responsive interface for easy CV creation
- PDF Export: Generate high-quality PDF outputs
- Backend: Go
- Templating: templ - Type-safe HTML templates for Go
- CSS Framework: DaisyUI - Semantic component classes for Tailwind CSS
- CSS Build: Tailwind CSS - Utility-first CSS framework
- CV Engine: Typst - Modern typesetting system
- Frontend Build: Node.js and npm for CSS compilation
- Build Tool: Task - Task runner and build tool
- Containerization: Docker with multi-stage builds
- Go 1.21 or later
- Task (recommended) or standard Go toolchain
- Node.js 16+ and npm (for Tailwind CSS and DaisyUI compilation)
- Docker and Docker Compose (for containerized deployment)
- templ CLI for template generation
- Typst for CV compilation
-
Clone the repository
git clone https://github.com/AlexTLDR/mycv.quest.git cd mycv.quest -
Setup project and install dependencies
# Using Task (recommended) task setup # Or manually go mod download npm install
-
Install templ CLI (if not already installed)
go install github.com/a-h/templ/cmd/templ@latest
-
Build CSS and generate templates
# Using Task (recommended) task css task templ # Or manually npm run build-css-prod templ generate
-
Build and run
# Using Task (recommended) task run # Or using Go directly go build -o bin/mycv-quest ./cmd/server ./bin/mycv-quest
-
Visit the site Open your browser to
http://localhost:8080
βββ bin/ # Compiled binaries (gitignored)
βββ templates/ # templ template files
βββ static/ # Static assets (CSS, JS, images)
β βββ css/ # Generated CSS files
βββ src/ # Source CSS files
β βββ input.css # Tailwind CSS input file
βββ cv-templates/ # Typst CV templates
βββ handlers/ # HTTP handlers
βββ models/ # Data models
βββ services/ # Business logic
βββ cmd/ # Application entry points
β βββ server/ # Main server application
βββ internal/ # Private application code
βββ node_modules/ # Node.js dependencies (gitignored)
βββ package.json # Node.js dependencies
βββ tailwind.config.js # Tailwind CSS configuration
βββ docker-compose.yml # Docker compose configuration
βββ Dockerfile # Multi-stage Docker build
βββ Taskfile.yml # Task automation
βββ go.mod # Go module definition
βββ README.md # This file
Currently available Typst CV templates:
- Basic Resume: Clean and simple design (Source)
- Vantage: Modern professional template (Source)
- Modern Resume: Contemporary design (Source)
Want to see more CV templates? Email me at alex@alextldr.com to propose new CV models from the Typst Universe. I'm always looking to expand our template collection!
This project uses Task for build automation:
# Setup project and install dependencies
task setup
# Install dependencies
task install
# Build CSS with Tailwind and DaisyUI
task css
# Build CSS in watch mode
task css-watch
# Generate templ templates
task templ
# Generate templ templates in watch mode
task templ-watch
# Build the application
task build
# Build and run the application
task run
# Run in development mode with hot reload
task dev
# Docker commands
task docker-build
task docker-run
task docker-compose-up
task docker-compose-dev
task docker-compose-down
# Build for production
task prod
# Clean build artifacts
task clean
# Run linters
task lint
# Run tests
task test
# Show all available tasks
task helpThe application is containerized using Docker with a multi-stage build:
# Build the Docker image
docker build -t mycv-quest .
# Run the container
docker run -p 8080:8080 mycv-quest- User Authentication System: Allow users to create accounts and save their CVs
- Template Customization: Enable users to modify template colors, fonts, and layouts
- Template Builder: Add new fields or modify existing templates (e.g., add a hobby field to any template)
- Multiple Export Formats: Support for Word, LaTeX, and HTML exports
- Make changes to your Go code, templ templates, or CSS
- Rebuild CSS if you modified CSS or templates:
task css
- Generate templates if you modified .templ files:
task templ
- Build and run the application:
task run
- Test your changes at
http://localhost:8080
# Run with auto-rebuild (CSS + Templates + Go)
task devWe welcome contributions! Whether you're:
- Adding new Typst CV templates
- Improving the user interface
- Fixing bugs or adding features
- Improving documentation
Please feel free to:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
For template contributions, please ensure they follow Typst best practices and include proper documentation.
This project is licensed under the MIT License - see the LICENSE file for details.
- Typst Universe: typst.app/universe - Source for CV templates
- templ Documentation: templ.guide
- DaisyUI Documentation: daisyui.com
- Typst Documentation: typst.app/docs
Alex - alex@alextldr.com - GitHub
For template suggestions, feature requests, or general inquiries, don't hesitate to reach out!
Note: All CVs are generated in memory with no persistent data storage, ensuring your privacy and security.