Quickstart Guide
This guide will walk you through setting up Vitaes locally and creating your first resume. You’ll be up and running in under 5 minutes.Prerequisites
Before you begin, make sure you have the following installed:- Bun (recommended) or Node.js 18+
- PostgreSQL database
- Git
While Vitaes is optimized for Bun, it also works with npm and pnpm. Commands are provided for all package managers.
Installation
Install dependencies
Install all project dependencies using your preferred package manager:
The installation process may take a minute or two as it downloads all required packages for the monorepo.
Configure environment variables
Set up your environment variables for the server. Copy the example file and fill in your values:Open
apps/server/.env and configure the following required variables:.env
Set up the database
Apply the database schema to your PostgreSQL database:This will create all necessary tables in your database, including:
resume- Stores resume data, metadata, and public sharing settingsuser- User accounts and authenticationsession- User sessions
Start the development server
Start both the frontend and backend in development mode:This command starts:
- Web app at http://localhost:3001
- API server at http://localhost:3000
The dev server includes hot module reloading, so your changes will be reflected immediately.
Creating Your First Resume
Now that Vitaes is running, let’s create your first resume:Sign up for an account
- Open http://localhost:3001 in your browser
- Click Sign In in the top navigation
- Create a new account using email or OAuth (Google/GitHub)
Create a new resume
On your dashboard, you’ll see:
- Total resumes - Number of resumes you’ve created
- Public resumes - How many are publicly shared
- Total views - Views across all public resumes
- Total downloads - Download count for public resumes
- Enter a name for your resume (e.g., “Software Engineer Resume”)
- Choose your preferred template:
- Awesome - Clean and modern with color accents
- Modern - Contemporary design with bold typography
- Professional - Classic and traditional layout
- Bold - Eye-catching design for creative fields
- Select your language (EN, ES, FR, DE, JA, PT, ZH)
- Click Create
Vitaes automatically populates your new resume with example data in your selected language, making it easy to see the structure and customize it with your own information.
Edit your resume
You’ll be taken to the resume builder, which consists of two main panels:Left Panel - Editor
- Personal Information - Name, position, contact details, social profiles
- Sections - Work experience, education, skills, certificates, custom sections
- Theme - Colors, fonts, header alignment, section highlighting
- Real-time preview of your resume
- Updates instantly as you make changes
- WYSIWYG - What you see is what you’ll export
Add and organize sections
Vitaes supports multiple section types:Timeline Sections (for work experience, education, certificates)List Sections (for skills, awards, projects)Text Sections (for summary, objective)Drag and drop sections to reorder them in your resume.
Customize the theme
Switch to the Theme tab to customize:
- Template - Switch between awesome, modern, professional, bold
- Theme Color - Choose from preset color schemes
- Header Alignment - Left, center, or right
- Section Highlighting - Enable/disable colored section headers
- Font Size - Adjust for readability
- Page Size - A4 or Letter
- Footer - Add page numbers or custom text
Export and share
Once you’re happy with your resume:Export as PDF
- Click the download button in the preview panel
- Your resume will be generated as a professional PDF
- Go back to your dashboard
- Toggle the resume to Public
- Click Share to get your public URL:
http://localhost:3001/view/your-custom-slug - Anyone with the link can view and download your resume
- Track views and downloads from your dashboard
What’s Next?
Explore Templates
Learn about the four professional templates and when to use each one
Customization Guide
Deep dive into theme customization and advanced options
Database Schema
Understand the database structure and relationships
API Documentation
Explore the type-safe API endpoints
Additional Commands
Here are some useful commands for development:Troubleshooting
Database connection failed
Database connection failed
Ensure PostgreSQL is running and the
DATABASE_URL in apps/server/.env is correct:OAuth login not working
OAuth login not working
If you haven’t configured OAuth providers (Google/GitHub), you can still use email authentication. OAuth setup is optional for local development.To enable OAuth:
- Create OAuth apps in Google Cloud Console and/or GitHub Developer Settings
- Add the client ID and secret to
apps/server/.env - Restart the server
Port already in use
Port already in use
If ports 3000 or 3001 are already in use, you can change them in the respective app configurations:
- Web:
apps/web/vite.config.ts - Server:
apps/server/src/index.ts
MinIO/thumbnail errors
MinIO/thumbnail errors
Thumbnail storage via MinIO is optional. If you see errors related to thumbnails, you can:
- Set up a local MinIO instance
- Use a cloud S3-compatible service
- Or simply ignore thumbnail features during development
Need Help?
If you run into any issues:- Check the Architecture guide to understand the project structure
- Review the Database documentation for schema details
- Open an issue on GitHub