discover · compare · collections · requirements · contribute · feed · watching · stats · help with your tokens
JOYCEQL/magic-resume · source
Snapshot 0 · 2026-11-04T12:47:27Z · TypeScript ·
Content fingerprint
b5b19c57d97b7f318e7b0632be08cc2d89bd94250889f9a3a4c1a268adfc8643GitHub description at capture
free online AI resume editor,the only official website is https://magicv.art
README at capture
<div align="center">
# ✨ Magic Resume ✨
[](https://opensource.org/licenses/Apache-2.0)


<a href="https://trendshift.io/repositories/13077" target="_blank"><img src="https://trendshift.io/api/badge/repositories/13077" alt="Magic Resume | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
<a href="https://hellogithub.com/repository/JOYCEQL/magic-resume" target="_blank"><img src="https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=51a0f545d0964a47a173794478119ec7&claim_uid=qMBAYh4ZFCgViJI" alt="Featured|HelloGitHub" style="width: 250px; height: 54px;" width="250" height="54" /></a>
[简体中文](./README.zh-CN.md) | English
</div>
Magic Resume is a modern online resume editor that makes creating professional resumes simple and enjoyable. Built with TanStack Start and Framer Motion, it supports real-time preview and custom themes.
<p align="center">
<a href="https://app.offerin.cn/r/aff_Wsk_9WRpwPmN">
<img src="./images/offerin-banner.png" alt="Sponsored by Offerin AI - AI interview and assessment assistant" width="100%" />
</a>
</p>
## ❤️ Other Sponsors
If you sponsored this project but are not listed here, please contact me.
<!-- GitHub sizes tables to their content; a wide first column fills the available width. -->
<table>
<thead>
<tr>
<th width="10000" align="left">Sponsor</th>
<th align="right">Amount (CNY)</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/fbitalk"><img src="https://github.com/fbitalk.png?size=40" width="40" height="40" alt="@fbitalk" /> @fbitalk</a></td>
<td align="right">¥20</td>
</tr>
<tr>
<td><a href="https://github.com/yj147"><img src="https://github.com/yj147.png?size=40" width="40" height="40" alt="@yj147" /> @yj147</a></td>
<td align="right">¥10</td>
</tr>
<tr>
<td><a href="https://github.com/someone1128"><img src="https://github.com/someone1128.png?size=40" width="40" height="40" alt="@someone1128" /> @someone1128</a></td>
<td align="right">¥10</td>
</tr>
</tbody>
</table>
## 📸 Screenshots
<img width="1920" height="1440" alt="336_1x_shots_so" src="https://github.com/user-attachments/assets/18969a17-06f8-4a4b-94eb-284ba8442620" />
## ✨ Features
- 🚀 Built with TanStack Start
- 💫 Smooth animations (Framer Motion)
- 🎨 Custom theme support
- 📱 Responsive design
- 🌙 Dark mode
- 📤 Export to PDF
- 🔄 Real-time preview
- 💾 Auto-save
- 🔒 Local storage
## 🛠️ Tech Stack
- TanStack Start
- TypeScript
- Motion
- Tiptap
- Tailwind CSS
- Zustand
- Shadcn/ui
- Lucide Icons
## 🚀 Quick Start
1. Clone the project
```bash
git clone git@github.com:JOYCEQL/magic-resume.git
cd magic-resume
```
2. Install dependencies
```bash
pnpm install
```
3. Start development server
```bash
pnpm dev
```
4. Open browser and visit `http://localhost:3000`
### OrcaRouter (optional AI provider)
Select OrcaRouter in AI Providers, register through the [Magic Resume referral link](https://www.orcarouter.ai/ref/ref_54dd337f5d343624a551), then sign in with OrcaRouter or enter your own API key. Fetch the model list, select a model, and test the connection.
This is a partner referral link. Magic Resume may earn a commission on eligible usage by referred sign-ups. Other providers remain available. OAuth sign-in also carries the same referral code for new sign-ups during authorization.
App usage attribution is separate from sign-up referral attribution. Obtain the real `app_id` from the partner console's Integration page, set `VITE_ORCA_APP_ID` at build time, and register the exact deployment callback URL, such as `https://magicv.art/auth/orcarouter/callback`. Local development uses `http://localhost:3000/auth/orcarouter/callback`. Without an `app_id`, app usage attribution is not configured. This variable is a public application identifier, never an API key. See the [OrcaRouter partner app documentation](https://docs.orcarouter.ai/getting-started/sign-in-with-orcarouter#verified-apps-partners).
For local development, set `VITE_ORCA_APP_ID` in `.env.local` and restart the dev server. For GitHub Actions, add the repository variable under **Settings → Secrets and variables → Actions → Variables**; both Cloudflare and Docker publishing pass it at build time. Docker Compose reads the build argument from the shell or `.env`. For a direct build, use `docker build --build-arg VITE_ORCA_APP_ID="$VITE_ORCA_APP_ID" -t magic-resume .`. This identifier is embedded in the frontend build; setting it only on a running container has no effect. Leave it unset until the real value is available.
## 📦 Build and Deploy
```bash
pnpm build
```
### AI provider networking
Cloudflare Workers use the platform's native `fetch` and do not need an application-level proxy. For Node.js or Docker deployments in regions that cannot directly reach OpenAI, Gemini, or Anthropic, set `AI_PROXY_URL`. `HTTPS_PROXY` and `HTTP_PROXY` are also supported as fallbacks.
```bash
AI_PROXY_URL=http://127.0.0.1:7890
```
DeepSeek, Qwen, and Doubao continue to use a direct connection.
## 🐳 Docker Deployment
### Docker Compose
1. Ensure you have Docker and Docker Compose installed
2. Run the following command in the project root directory:
```bash
docker compose up -d
```
This will:
- Automatically build the application image
- Start the container in the background
## 📝 License and Usage Restrictions
The source code of this project is released under the **Apache 2.0** license with an additional **non-commercial use restriction**:
- **Free for Personal Use**: Free to use purely for personal, non-commercial purposes (e.g., personal learning, creating your own resume).
- **Commercial Use Prohibited**: The project may not be used for any commercial purpose, including providing it as a paid or profit-generating service (such as SaaS/PaaS), enterprise commercial operations, resale, or secondary commercial development, **regardless of whether the source code has been modified**.
Please see the [LICENSE](LICENSE) file for detailed terms.
## 🗺️ Roadmap
- [x] AI-assisted writing
- [x] Multi-language support
- [ ] Support for more resume templates
- [x] Support for more export formats
- [x] Import PDF, Markdown, etc.
- [x] Custom model
- [x] Auto one page
- [ ] Online resume hosting
## 📈 Star History
<a href="https://star-history.com/#JOYCEQL/magic-resume&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=JOYCEQL/magic-resume&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=JOYCEQL/magic-resume&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=JOYCEQL/magic-resume&type=Date" />
</picture>
</a>
## 📞 Contact
You can follow the latest updates via:
- Author: Siyue
- X: @GuangzhouY81070
- Discord: Join our community https://discord.gg/9mWgZrW3VN
- Email: 18806723365@163.com
- Project Homepage: https://github.com/JOYCEQL/magic-resume
## 🌟 Support
If you find this project helpful, please give it a star ⭐️