A modern, responsive CV/Portfolio application built with React, TypeScript, and Bun. Features a clean, professional design with dark mode, print-friendly layout, and JSON-based data management.
- 🎨 Modern, responsive design with dark mode
- 📱 Mobile-friendly layout
- 🖨️ Print-friendly styling with proper page breaks
- 📤 Export CV data as JSON
- 🔄 Hot-reloading development server
- 📝 JSON-based data management with template files
- 🎯 TypeScript for enhanced type safety
- 🎨 TailwindCSS for styling
- React 18
- TypeScript
- Bun (Runtime & Bundler)
- TailwindCSS
- Lucide React (Icons)
cv/
├── data_source/ # JSON data files and templates
│ └── *.dist.json # Template files for CV data
├── public/ # Static assets
├── src/
│ ├── components.tsx # Reusable React components
│ ├── cv.tsx # Main CV component
│ ├── index.tsx # Application entry point
│ ├── server.tsx # Development server
│ ├── types.ts # TypeScript type definitions
│ └── data/ # TypeScript data modules
└── tsconfig.json # TypeScript configuration
- Install dependencies:
bun install
-
Set up your CV data:
- Copy the
.dist.json
files indata_source/
removing the.dist
suffix - Edit the JSON files with your personal information
- Copy the
-
Start the development server:
bun run dev
The application will be available at http://localhost:1337
Build the application for production:
bun run build
The built files will be available in the public/dist
directory.
- CV data is stored in JSON files in the
data_source/
directory - Template files (*.dist.json) provide the structure for data files
- Supports sections for:
- Personal information
- Professional summary
- Work experience
- Technical skills
- Education
- Languages
- Notable projects
- Optimized for printing with proper page breaks
- Clean, professional layout in print format
- Automatic styling adjustments for print media
- Export complete CV data as JSON
- Print-friendly version with proper formatting
- Hot reloading for rapid development
- TypeScript for enhanced type safety
- Modern development environment with Bun
MIT
Created by Papa Black with assistance from Claude