Transform your career with smart, ATS-optimized resumes that actually get noticed.
Resync is the world's first AI-powered resume builder with real-time ATS scoring. Built with modern technologies and designed for the mobile-first generation of job seekers.
- π€ AI Content Generation: Smart suggestions for bullet points and descriptions
- π Real-time ATS Scoring: Live feedback on resume compatibility
- π¨ Modern Templates: Professional, ATS-friendly designs
- π± Mobile-First Design: Seamless editing across all devices
- βοΈ Cloud Sync: Save and access resumes anywhere
- π Secure Authentication: Protected user data with Stack Auth
- π PDF Export: High-quality PDF generation with perfect formatting
- π― Template Gallery: 50+ professional templates for all industries
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- Framer Motion - Smooth animations
- Radix UI - Accessible component primitives
- Cloudflare Workers - Edge computing for global performance
- D1 Database - Serverless SQLite database
- Drizzle ORM - Type-safe database operations
- Stack Auth - Secure authentication system
- OpenAI GPT-4 - AI content generation
- ESLint & Prettier - Code quality and formatting
- Husky - Git hooks for quality control
- pnpm - Fast, disk space efficient package manager
- Node.js 18.0 or higher
- pnpm (recommended) or npm
- Cloudflare account (for deployment)
# Clone the repository
git clone https://github.com/appedme/resync.git
cd resync
# Install dependencies
pnpm install
# Copy environment variables
cp .env.example .env.local
# Set up the database
pnpm db:setup
# Start development server
pnpm devCreate a .env.local file with the following variables:
# Database
DATABASE_URL="your-d1-database-url"
# Authentication
STACK_AUTH_SECRET="your-stack-auth-secret"
STACK_AUTH_PROJECT_ID="your-stack-auth-project-id"
# AI Integration
OPENAI_API_KEY="your-openai-api-key"
# Cloudflare
CLOUDFLARE_ACCOUNT_ID="your-cloudflare-account-id"
CLOUDFLARE_API_TOKEN="your-cloudflare-api-token"src/
βββ app/ # Next.js App Router pages
β βββ api/ # API routes
β βββ dashboard/ # User dashboard
β βββ editor/ # Resume editor
β βββ ...
βββ components/ # React components
β βββ editor/ # Editor-specific components
β βββ landing/ # Landing page components
β βββ ui/ # Reusable UI components
βββ lib/ # Utility functions and configurations
β βββ db/ # Database schema and operations
β βββ auth/ # Authentication logic
β βββ utils/ # Helper functions
βββ types/ # TypeScript type definitions
βββ hooks/ # Custom React hooks
The application uses Drizzle ORM with the following main tables:
users- User account informationresumes- Resume data and metadatatemplates- Resume template definitions
GET /api/resumes- Fetch user resumesPOST /api/resumes- Create new resumePUT /api/resumes/:id- Update resumeDELETE /api/resumes/:id- Delete resumePOST /api/generate-pdf- Generate PDF from resume data
# Development
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production server
pnpm lint # Run ESLint
pnpm type-check # Run TypeScript checks
# Database
pnpm db:generate # Generate database migrations
pnpm db:migrate # Run database migrations
pnpm db:studio # Open Drizzle Studio
pnpm db:seed # Seed database with sample data
# Deployment
pnpm deploy # Deploy to Cloudflare
pnpm preview # Preview deployment locally- Create Components: Add new React components in
src/components/ - Define Types: Add TypeScript types in
src/types/ - Add API Routes: Create new API endpoints in
src/app/api/ - Database Changes: Update schema in
src/lib/db/schema.ts - Tests: Add tests in
__tests__/directory
Resync is built mobile-first with:
- Responsive design that works on all screen sizes
- Touch-optimized interface
- Progressive Web App (PWA) capabilities
- Offline functionality for core features
Templates are defined in src/components/editor/templates/. To add a new template:
- Create a new template component
- Add it to the template registry
- Update the database with template metadata
- Add preview images and descriptions
The AI features use OpenAI's GPT-4 API. Configure the prompts and behavior in:
src/lib/ai/- AI service functionssrc/app/api/ai/- AI API endpoints
# Build and deploy
pnpm deploy
# Preview deployment
pnpm preview- Set up Cloudflare D1 database
- Configure environment variables in Cloudflare dashboard
- Set up custom domain (optional)
- Configure analytics and monitoring
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Use TypeScript for all new code
- Follow the existing code style and conventions
- Run
pnpm lintbefore submitting - Add tests for new features
- Load Time: Sub-second page loads with edge computing
- Bundle Size: Optimized for minimal JavaScript delivery
- SEO: Server-side rendering for better search visibility
- Accessibility: WCAG 2.1 AA compliant
- Authentication: Secure JWT-based authentication
- Data Protection: Encrypted data storage
- GDPR Compliance: User data privacy controls
- Rate Limiting: API protection against abuse
- Error Tracking: Comprehensive error monitoring
- Performance Monitoring: Real-time performance metrics
- User Analytics: Privacy-focused usage analytics
- Uptime Monitoring: 99.9% uptime SLA
- Documentation: Check our docs folder
- Issues: Report bugs on GitHub Issues
- Discussions: Join our GitHub Discussions
- Email: Contact us at hello@resync.app
Q: How do I reset my database?
A: Run pnpm db:reset to reset your local database.
Q: Can I use this commercially? A: Yes, see our license for details.
Q: How do I contribute a new template? A: See our template contribution guide.
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js for the amazing React framework
- Cloudflare for edge computing infrastructure
- OpenAI for AI capabilities
- Tailwind CSS for styling system
- Radix UI for accessible components
- Mobile App: Native iOS and Android applications
- Advanced AI: Enhanced content suggestions and optimization
- Team Features: Collaboration tools for organizations
- Integrations: Connect with job boards and ATS systems
Built with β€οΈ by the Resync Team
Website β’ Demo β’ Documentation β’ Support