base on A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today! <div align="center" markdown="1"> <a href="https://go.warp.dev/Reactive-Resume"> <img alt="Warp Sponsorship" width="400" src="https://github.com/warpdotdev/brand-assets/blob/main/Github/Sponsor/Warp-Github-LG-03.png?raw=true" /> </a> ### [Warp, built for coding with multiple AI agents.](https://go.warp.dev/Reactive-Resume) [Available for MacOS, Linux, & Windows](https://go.warp.dev/Reactive-Resume)<br> --- <img alt="Reactive Resume" width="800" src="https://i.imgur.com/FFc4nyZ.jpg" /> ![App Version](https://img.shields.io/github/package-json/version/AmruthPillai/Reactive-Resume?label=version) [![Docker Pulls](https://img.shields.io/docker/pulls/amruthpillai/reactive-resume)](https://hub.docker.com/repository/docker/amruthpillai/reactive-resume) [![GitHub Sponsors](https://img.shields.io/github/sponsors/AmruthPillai)](https://github.com/sponsors/AmruthPillai) [![Crowdin](https://badges.crowdin.net/reactive-resume/localized.svg)](https://crowdin.com/project/reactive-resume) [![Discord](https://img.shields.io/discord/1173518977851473940?label=discord&link=https%3A%2F%2Fdiscord.gg%2FhzwkZbyvUW)](https://discord.gg/hzwkZbyvUW) # Reactive Resume A free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume. ### [Go to App](https://rxresu.me/) | [Docs](https://docs.rxresu.me/) </div> ## Description Reactive Resume is a free and open-source resume builder that simplifies the process of creating, updating, and sharing your resume. With zero user tracking or advertising, your privacy is a top priority. The platform is extremely user-friendly and can be self-hosted in less than 30 seconds if you wish to own your data completely. It's available in multiple languages and comes packed with features such as real-time editing, dozens of templates, drag-and-drop customisation, and integration with OpenAI for enhancing your writing. You can share a personalised link of your resume to potential employers, track its views or downloads, and customise your page layout by dragging-and-dropping sections. The platform also supports various font options and provides dozens of templates to choose from. And yes, there's even a dark mode for a more comfortable viewing experience. Start creating your standout resume with Reactive Resume today! ## Templates | Azurill | Bronzor | Chikorita | | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------- | | <img src="./apps/client/public/templates/jpg/azurill.jpg" width="200px" /> | <img src="./apps/client/public/templates/jpg/bronzor.jpg" width="200px" /> | <img src="./apps/client/public/templates/jpg/chikorita.jpg" width="200px" /> | | Ditto | Gengar | Glalie | | -------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | | <img src="./apps/client/public/templates/jpg/ditto.jpg" width="200px" /> | <img src="./apps/client/public/templates/jpg/gengar.jpg" width="200px" /> | <img src="./apps/client/public/templates/jpg/glalie.jpg" width="200px" /> | | Kakuna | Leafish | Nosepass | | ---------------------------------------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------ | | <img src="./apps/client/public/templates/jpg/kakuna.jpg" width="200px" /> | <img src="./apps/client/public/templates/jpg/leafish.jpg" width="200px" /> | <img src="./apps/client/public/templates/jpg/nosepass.jpg" width="200px" /> | | Onyx | Pikachu | Rhyhorn | | ------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | | <img src="./apps/client/public/templates/jpg/onyx.jpg" width="200px" /> | <img src="./apps/client/public/templates/jpg/pikachu.jpg" width="200px" /> | <img src="./apps/client/public/templates/jpg/rhyhorn.jpg" width="200px" /> | ## Features - **Free, forever** and open-source - No telemetry, user tracking or advertising - You can self-host the application in less than 30 seconds - **Available in multiple languages** ([help add/improve your language here](https://translate.rxresu.me/)) - Use your email address (or a throw-away address, no problem) to create an account - You can also sign in with your GitHub or Google account, and even set up two-factor authentication for extra security - Create as many resumes as you like under a single account, optimising each resume for every job application based on its description for a higher ATS score - **Bring your own OpenAI API key** and unlock features such as improving your writing, fixing spelling and grammar or changing the tone of your text in one-click - Translate your resume into any language using ChatGPT and import it back for easier editing - Create single page resumes or a resume that spans multiple pages easily - Customize the colours and layouts to add a personal touch to your resume - Customise your page layout as you like just by dragging-and-dropping sections - Create custom sections that are specific to your industry if the existing ones don't fit - Jot down personal notes specific to your resume that's only visible to you - Lock a resume to prevent making any further edits (useful for master templates) - **Dozens of templates** to choose from, ranging from professional to modern - Design your resume using the standardised EuroPass design template - Supports printing resumes in A4 or Letter page formats - Design your resume with any font that's available on [Google Fonts](https://fonts.google.com/) - **Share a personalised link of your resume** to companies or recruiters for them to get the latest updates - You can track the number of views or downloads your public resume has received - Built with state-of-the-art (at the moment) and dependable technologies that's battle tested and peer reviewed by the open-source community on GitHub - **MIT License**, so do what you like with the code as long as you credit the original author - And yes, there’s a dark mode too 🌓 ## Built With - React (Vite), for the frontend - NestJS, for the backend - Postgres (primary database) - Prisma ORM, which frees you to switch to any other relational database with a few minor changes in the code - Minio (for object storage: to store avatars, resume PDFs and previews) - Browserless (for headless chrome, to print PDFs and generate previews) - SMTP Server (to send password recovery emails) - GitHub/Google OAuth (for quickly authenticating users) - LinguiJS and Crowdin (for translation management and localization) ## Star History <a href="https://star-history.com/#AmruthPillai/Reactive-Resume&Date"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=AmruthPillai/Reactive-Resume&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=AmruthPillai/Reactive-Resume&type=Date" /> <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=AmruthPillai/Reactive-Resume&type=Date" /> </picture> </a> ## License Reactive Resume is packaged and distributed using the [MIT License](/LICENSE.md) which allows for commercial use, distribution, modification and private use provided that all copies of the software contain the same license and copyright. _By the community, for the community._ A passion project by [Amruth Pillai](https://www.amruthpillai.com/) <p> <a href="https://m.do.co/c/ceae1fff245e"> <img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_blue.svg" width="200px"> </a> </p> ", Assign "at most 3 tags" to the expected json: {"id":"939","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"