An open API service indexing awesome lists of open source software.

https://github.com/firsttris/astro-cv

Curriculum Vitae with Astro
https://github.com/firsttris/astro-cv

astro consulting curriculum-vitae cv freelancer freelancing react recruiter recruiting recruitment

Last synced: 2 months ago
JSON representation

Curriculum Vitae with Astro

Awesome Lists containing this project

README

          

# Astro CV

### A modern, customizable Curriculum Vitae built with Astro

[![Astro](https://img.shields.io/badge/Astro-5.x-BC52EE?style=for-the-badge&logo=astro&logoColor=white)](https://astro.build/)
[![React](https://img.shields.io/badge/React-19-61DAFB?style=for-the-badge&logo=react&logoColor=black)](https://react.dev/)
[![TypeScript](https://img.shields.io/badge/TypeScript-Ready-3178C6?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
[![Emotion](https://img.shields.io/badge/Emotion-DB7093?style=for-the-badge&logo=emotion&logoColor=white)](https://emotion.sh/)
[![MDX](https://img.shields.io/badge/MDX-1B1F24?style=for-the-badge&logo=mdx&logoColor=white)](https://mdxjs.com/)

[Features](#-features) · [Getting Started](#-getting-started) · [Commands](#-commands) · [Project Structure](#-project-structure)

---

## Why this project?

> Recruiters often request a CV in Word format to convert it to their layout, sometimes even altering the content. **No more!**

- **Tamper-proof** — An HTML CV that cannot be easily modified by third parties
- **Skills showcase** — Demonstrate your JavaScript skills directly through the CV itself
- **Consistent styling** — Ensure uniform format across all devices and prints
- **Easy updates** — Change your data once, see it reflected everywhere
- **Multi-language support** — Present your CV in multiple languages

---

## ✨ Features

| Feature | Description |
|---------|-------------|
| **Modern Stack** | Built with Astro 5, React 19, and Emotion for styling |
| **Icon Library** | Extensive icon support via Iconify (DevIcons, Material Symbols, Simple Icons, and more) |
| **Print-Ready** | Optimized for both web viewing and PDF/print output |
| **Responsive** | Looks great on desktop, tablet, and mobile |
| **Fast** | Static site generation for blazing-fast load times |

---

## 🚀 Getting Started

### Prerequisites

- Node.js 18+
- npm or yarn

### Installation

```bash
# Clone the repository
git clone https://github.com/yourusername/astro-cv.git

# Navigate to the project
cd astro-cv

# Install dependencies
npm install

# Start development server
npm run dev
```

Then open [http://localhost:4321](http://localhost:4321) in your browser.

---

## 🧞 Commands

| Command | Action |
|---------|--------|
| `npm install` | Install dependencies |
| `npm run dev` | Start dev server at `localhost:4321` |
| `npm run build` | Build for production to `./dist/` |
| `npm run preview` | Preview production build locally |
| `npm run astro ...` | Run Astro CLI commands |

---

## 📁 Project Structure

```
astro-cv/
├── public/ # Static assets (images, fonts, etc.)
├── src/
│ ├── components/ # Reusable Astro/React components
│ ├── layouts/ # Page layouts
│ ├── pages/ # Routes (each .astro file = one page)
│ └── styles/ # Global styles
├── astro.config.mjs # Astro configuration
└── package.json
```

---

## 📚 Learn More

- [Astro Documentation](https://docs.astro.build) — Learn about Astro features and API
- [Astro Discord](https://astro.build/chat) — Get help from the community

---

Made with ❤️ and [Astro](https://astro.build)