GitBook: No commit message
BIN
.gitbook/assets/Screenshot 2023-11-18 at 10.11.56 PM.png
Normal file
|
After Width: | Height: | Size: 4.1 MiB |
BIN
.gitbook/assets/Screenshot 2023-11-18 at 10.33.04 PM.png
Normal file
|
After Width: | Height: | Size: 693 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-19 at 1.49.51 PM.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-19 at 11.03.22 AM.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-19 at 2.03.01 PM.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-19 at 2.05.27 PM.png
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-19 at 2.07.07 PM.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-19 at 2.14.17 PM.png
Normal file
|
After Width: | Height: | Size: 371 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-19 at 2.18.46 PM.png
Normal file
|
After Width: | Height: | Size: 83 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-19 at 2.22.26 PM.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-19 at 2.23.46 PM.png
Normal file
|
After Width: | Height: | Size: 89 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-19 at 2.27.38 PM.png
Normal file
|
After Width: | Height: | Size: 205 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-19 at 2.53.01 PM.png
Normal file
|
After Width: | Height: | Size: 247 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 10.33.05 PM (1).png
Normal file
|
After Width: | Height: | Size: 312 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 10.33.05 PM.png
Normal file
|
After Width: | Height: | Size: 312 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 10.37.45 PM.png
Normal file
|
After Width: | Height: | Size: 400 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 10.42.27 PM.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 11.01.39 PM.png
Normal file
|
After Width: | Height: | Size: 209 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 11.07.45 PM.png
Normal file
|
After Width: | Height: | Size: 780 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 11.09.24 PM.png
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 11.11.57 PM.png
Normal file
|
After Width: | Height: | Size: 584 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 11.18.55 PM.png
Normal file
|
After Width: | Height: | Size: 667 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 7.44.46 PM.png
Normal file
|
After Width: | Height: | Size: 94 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 7.46.37 PM.png
Normal file
|
After Width: | Height: | Size: 91 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 7.53.32 PM.png
Normal file
|
After Width: | Height: | Size: 206 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 7.54.31 PM.png
Normal file
|
After Width: | Height: | Size: 125 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 7.55.24 PM.png
Normal file
|
After Width: | Height: | Size: 585 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 8.11.17 PM.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 8.21.47 PM.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 8.47.27 PM.png
Normal file
|
After Width: | Height: | Size: 276 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 9.03.41 PM.png
Normal file
|
After Width: | Height: | Size: 211 KiB |
BIN
.gitbook/assets/Screenshot 2023-11-20 at 9.05.09 PM.png
Normal file
|
After Width: | Height: | Size: 115 KiB |
BIN
.gitbook/assets/Slide.jpg
Normal file
|
After Width: | Height: | Size: 838 KiB |
BIN
.gitbook/assets/Untitlea-2022-12-22-1527.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
.gitbook/assets/Untitled-2022-12-22-1527.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
.gitbook/assets/Untitled-2022-12-22-152711.png
Normal file
|
After Width: | Height: | Size: 144 KiB |
BIN
.gitbook/assets/ezgif.com-video-to-gif (1).gif
Normal file
|
After Width: | Height: | Size: 683 KiB |
BIN
.gitbook/assets/ezgif.com-video-to-gif.gif
Normal file
|
After Width: | Height: | Size: 7.7 MiB |
|
After Width: | Height: | Size: 58 KiB |
100
README.md
@ -1,101 +1,17 @@
|
||||
---
|
||||
description: >-
|
||||
Reactive Resume is a free and open source resume builder that's built to make
|
||||
the mundane tasks of creating, updating and sharing your resume as easy as 1,
|
||||
2, 3.
|
||||
cover: .gitbook/assets/builder.png
|
||||
coverY: 279.7092095721537
|
||||
A free and open-source resume builder that simplifies the process of creating,
|
||||
updating, and sharing your resume.
|
||||
---
|
||||
|
||||
# Reactive Resume
|
||||
# 👋 Reactive Resume
|
||||
|
||||
[](https://github.com/AmruthPillai/Reactive-Resume/releases) [](https://github.com/AmruthPillai/Reactive-Resume/blob/main/LICENSE) [](https://translate.rxresu.me) [](https://hub.docker.com/r/amruthpillai/reactive-resume) [](https://app.fossa.com/projects/git%2Bgithub.com%2FAmruthPillai%2FReactive-Resume?ref=badge\_shield)
|
||||
## Overview
|
||||
|
||||
> #### [Go to App](https://rxresu.me) | [GitHub Repo](https://github.com/AmruthPillai/Reactive-Resume)
|
||||
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.
|
||||
|
||||
### Summary
|
||||
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.
|
||||
|
||||
Reactive Resume is a free and open source resume builder that's built to make the mundane tasks of creating, updating and sharing your resume as easy as 1, 2, 3. With this app, you can create multiple resumes, share them with recruiters through a unique link and print as PDF, all for free, no advertisements, without losing the integrity and privacy of your data.
|
||||
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.
|
||||
|
||||
You have complete control over what goes into your resume, how it looks, what colours, what templates, even the layout in which sections placed. Want a dark mode resume? It's as easy as editing 3 values and you're done. You don't need to wait to see your changes either. Everything you type, everything you change, appears immediately on your resume and gets updated in real time.
|
||||
|
||||
### Features
|
||||
|
||||
* Free, forever
|
||||
* No Advertising
|
||||
* No User Tracking
|
||||
* Sync your data across devices
|
||||
* Import data from [LinkedIn](https://www.linkedin.com/), [JSON Resume](https://jsonresume.org/)
|
||||
* Manage multiple resumes with one account
|
||||
* Open Source (with large community support)
|
||||
* Send your resume to others with a unique sharable link
|
||||
* Accessible in multiple languages, [help translate here](https://translate.rxresu.me/)
|
||||
* Pick any font from [Google Fonts](https://fonts.google.com/) to use on your resume
|
||||
* Choose from 6 vibrant templates and more coming soon
|
||||
* Export your resume to JSON or PDF format with just one click
|
||||
* Create an account using your email, or just Sign in with Google
|
||||
* Mix and match colours to any degree, even a dark mode resume?
|
||||
* Add sections, add pages and change layouts the way you want to
|
||||
* Tailor-made Backend and Database, isolated from Google, Amazon etc.
|
||||
* **Oh, and did I mention that it's free?**
|
||||
|
||||
### Languages
|
||||
|
||||
* Arabic (اَلْعَرَبِيَّةُ)
|
||||
* Bengali (বাংলা)
|
||||
* Bulgarian (български)
|
||||
* Catalan (Valencian)
|
||||
* Chinese (中文)
|
||||
* Czech (čeština)
|
||||
* Danish (Dansk)
|
||||
* Dutch (Nederlands)
|
||||
* English
|
||||
* Finnish (Suomi)
|
||||
* French (Français)
|
||||
* German (Deutsch)
|
||||
* Greek (Ελληνικά)
|
||||
* Hebrew (Ivrit)
|
||||
* Hindi (हिन्दी)
|
||||
* Hungarian (Magyar)
|
||||
* Indonesian (Bahasa Indonesia)
|
||||
* Italian (Italiano)
|
||||
* Japanese (日本語)
|
||||
* Kannada (ಕನ್ನಡ)
|
||||
* Khmer (ភាសាខ្មែរ)
|
||||
* Korean (한국어)
|
||||
* Malayalam (മലയാളം)
|
||||
* Marathi (मराठी)
|
||||
* Nepali (नेपाली)
|
||||
* Norwegian (Norsk)
|
||||
* Odia (ଓଡ଼ିଆ)
|
||||
* Persian (فارسی)
|
||||
* Polish (Polski)
|
||||
* Portuguese (Português)
|
||||
* Romanian (limba română)
|
||||
* Russian (русский)
|
||||
* Serbian (српски језик)
|
||||
* Spanish (Español)
|
||||
* Swedish (Svenska)
|
||||
* Tamil (தமிழ்)
|
||||
* Turkish (Türkçe)
|
||||
* Ukranian (Українська мова)
|
||||
* Vietnamese (Tiếng Việt)
|
||||
|
||||
Help by [translating Reactive Resume](https://translate.rxresu.me) to your language!
|
||||
|
||||
### Report Issues
|
||||
|
||||
Use the [GitHub Issues](https://github.com/AmruthPillai/Reactive-Resume/issues/new/choose) platform to notify me about bugs or new features that you would like to see in Reactive Resume. Please check before creating new issues as there might already be one.
|
||||
|
||||
### Donations
|
||||
|
||||
Reactive Resume would be nothing without the folks who supported me and kept the project alive in the beginning, and your continued support is what keeps me going. If you found Reactive Resume to be useful, helpful or just insightful and appreciate the effort I took to make the project, please consider donating as little or as much as you can.
|
||||
|
||||
#### [**💸 Contribute via PayPal**](https://paypal.me/RajaRajanA)
|
||||
|
||||
### License
|
||||
|
||||
Reactive Resume is packaged and distributed using the [MIT License](https://choosealicense.com/licenses/mit/) 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://amruthpillai.com/)
|
||||
Start creating your standout resume with Reactive Resume today!
|
||||
|
||||
53
SUMMARY.md
@ -1,27 +1,42 @@
|
||||
# Table of contents
|
||||
|
||||
* [Reactive Resume](README.md)
|
||||
* [👋 Reactive Resume](README.md)
|
||||
|
||||
## Tutorial
|
||||
## Overview
|
||||
|
||||
* [Creating an account](tutorial/creating-an-account.md)
|
||||
* [Create a new resume](tutorial/create-a-new-resume.md)
|
||||
* [Import from external sources](tutorial/import-from-external-sources.md)
|
||||
* [Working with the artboard](tutorial/working-with-the-artboard.md)
|
||||
* [Filling resume data](tutorial/filling-resume-data.md)
|
||||
* [Create a custom section](tutorial/create-a-custom-section.md)
|
||||
* [Exporting the resume](tutorial/exporting-the-resume.md)
|
||||
* [Deleting your account](tutorial/deleting-your-account.md)
|
||||
* [💡 Information](overview/information.md)
|
||||
* [✨ Features](overview/features.md)
|
||||
|
||||
## Source Code
|
||||
## Engineering
|
||||
|
||||
* [Introduction](source-code/introduction.md)
|
||||
* [Docker](source-code/docker.md)
|
||||
* [Gitpod](source-code/gitpod.md)
|
||||
* [Local Build](source-code/local-build.md)
|
||||
* [Environment Variables](source-code/environment-variables.md)
|
||||
* [🎴 Mission](engineering/mission.md)
|
||||
* [🎒 Tech Stack](engineering/tech-stack.md)
|
||||
* [🔧 How It Works: The Frontend](engineering/how-it-works-the-frontend.md)
|
||||
* [🔨 How It Works: The Backend](engineering/how-it-works-the-backend.md)
|
||||
|
||||
## Deployment
|
||||
## Product Guides
|
||||
|
||||
* [Introduction](deployment/introduction.md)
|
||||
* [Docker](deployment/docker.md)
|
||||
* [🦸 Setting up your account](product-guides/setting-up-your-account.md)
|
||||
* [🖊 Updating your profile](product-guides/updating-your-profile.md)
|
||||
* [🔑 Updating your password](product-guides/updating-your-password.md)
|
||||
* [🛂 Setting up two-factor authentication](product-guides/setting-up-two-factor-authentication.md)
|
||||
* [🧠 Enabling OpenAI Integration](product-guides/enabling-openai-integration.md)
|
||||
* [🇦🇮 Translate your resume with ChatGPT](product-guides/translate-your-resume-with-chatgpt.md)
|
||||
* [👩💻 Exporting your resume as JSON](product-guides/exporting-your-resume-as-json.md)
|
||||
* [👩💻 Exporting your resume as PDF](product-guides/exporting-your-resume-as-pdf.md)
|
||||
* [📢 Making your resume publicly available](product-guides/making-your-resume-publicly-available.md)
|
||||
* [🖇 Importing your data from LinkedIn](product-guides/importing-your-data-from-linkedin.md)
|
||||
* [📃 Creating a Multi-Page Resume](product-guides/creating-a-multi-page-resume.md)
|
||||
* [Use ChatGPT to rewrite your resume](product-guides/use-chatgpt-to-rewrite-your-resume.md)
|
||||
|
||||
## Contributing
|
||||
|
||||
* [🇧🇷 Translating Reactive Resume into your language](contributing/translating-reactive-resume-into-your-language.md)
|
||||
* [💵 Sponsor through Open Collective](contributing/sponsor-through-open-collective.md)
|
||||
* [💶 Sponsor through GitHub Sponsors](contributing/sponsor-through-github-sponsors.md)
|
||||
|
||||
## Meta
|
||||
|
||||
* [⚖ License](meta/license.md)
|
||||
* [🔏 Privacy Policy](meta/privacy-policy.md)
|
||||
* [🐕🦺 Terms of Service](meta/terms-of-service.md)
|
||||
|
||||
5
contributing/sponsor-through-github-sponsors.md
Normal file
@ -0,0 +1,5 @@
|
||||
# 💶 Sponsor through GitHub Sponsors
|
||||
|
||||
You can also sponsor or donate through GitHub, right from the repository's home page or using this link: [https://github.com/sponsors/AmruthPillai](https://github.com/sponsors/AmruthPillai)
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 11.18.55 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
19
contributing/sponsor-through-open-collective.md
Normal file
@ -0,0 +1,19 @@
|
||||
# 💵 Sponsor through Open Collective
|
||||
|
||||
{% hint style="info" %}
|
||||
Reactive Resume is fiscally hosted by [Open Collective Europe](https://www.oceurope.org/), which technically gives the project a "non-profit" status.
|
||||
{% endhint %}
|
||||
|
||||
The motto of Open Collective is transparency. As a public-facing non-profit project, you can visit the project's collective page to view a list of expenses and invoices incurred over a period of time. All funds raised are dedicated to covering these costs.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 11.01.39 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
You, as the sponsor, have full visibility into where your money is being spent, and how it has impacted the development of Reactive Resume first-hand.
|
||||
|
||||
You have the option to sponsor a recurring amount, which will contribute to maintaining a steady foundation for future server costs. Alternatively, you can make a one-time donation, which would also greatly support the project and myself.
|
||||
|
||||
**If you would like to sponsor Reactive Resume** through Open Collective, head on over to this link: [https://opencollective.com/Reactive-Resume](https://opencollective.com/Reactive-Resume)
|
||||
|
||||
{% hint style="success" %}
|
||||
Depending on where you live (USA or EU), donations and sponsorships to Reactive Resume could be made tax-deductible.
|
||||
{% endhint %}
|
||||
@ -0,0 +1,28 @@
|
||||
# 🇧🇷 Translating Reactive Resume into your language
|
||||
|
||||
If you speak a language other than English, please consider helping to translate Reactive Resume into your native language. You can sign up to be a translator even if your language is already translated, this would ensure that you get updated whenever the app adds new phrases to be translated.
|
||||
|
||||
By making the app available in multiple languages, more people in non-English dominant regions can use the app, create their own professional resumes, and feel included.
|
||||
|
||||
To translate Reactive Resume, simply create an account on Crowdin or head on over to [https://translate.rxresu.me/](https://translate.rxresu.me/) which redirects you to the Crowdin project page. Here, you can see a list of languages that are available for translations.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 10.33.05 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
To start working on a specific language, simply click on the flag/locale associated with the language and you should see a button titled “Translate All”. Click on that button, and you would be redirected to the editor where you can begin translating each phrase, one-by-one.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 10.37.45 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Crowdin also provides you with machine translations provided by Google Translate or DeepL, which you can use as a reference point and tweak the result to something more suitable.
|
||||
|
||||
To save the translations for each phrase, all you need to do is type in the translated phrase and click on Save (or you can also press `Ctrl` + `Enter`) and it would automatically move you to the next phrase to be translated.
|
||||
|
||||
{% hint style="success" %}
|
||||
Contributing to the translations on Crowdin also gets you a coveted spot on the home page's wall of fame.
|
||||
{% endhint %}
|
||||
|
||||
<div data-full-width="true">
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 10.42.27 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
</div>
|
||||
|
||||
7
engineering/how-it-works-the-backend.md
Normal file
@ -0,0 +1,7 @@
|
||||
# 🔨 How It Works: The Backend
|
||||
|
||||
<div data-full-width="true">
|
||||
|
||||
<figure><img src="../.gitbook/assets/Untitled-2022-12-22-152711.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
</div>
|
||||
35
engineering/how-it-works-the-frontend.md
Normal file
@ -0,0 +1,35 @@
|
||||
# 🔧 How It Works: The Frontend
|
||||
|
||||
<div data-full-width="true">
|
||||
|
||||
<figure><img src="../.gitbook/assets/Untitlea-2022-12-22-1527.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
</div>
|
||||
|
||||
There are two frontend applications written in React (Vite + SWC). One for the app itself, and one called the “artboard" which is in charge of displaying the resume as it was intended.
|
||||
|
||||
It's sort of a micro-frontend approach, without the host/remote connection or the necessary tooling for this to function. Instead, I make use of an `iframe` to display the remote application and `window.postMessage` to send data to the remote.
|
||||
|
||||
**The client's responsibilities include** everything you would expect from a regular frontend application:
|
||||
|
||||
* The rendering of the Homepage
|
||||
* User Authentication & Account Management
|
||||
* Client-Server Communication through Axios/React Query
|
||||
* Editing the Resume (adding sections and editing metadata for the resume to make it personalized)
|
||||
|
||||
**The artboard’s responsibilities include:**
|
||||
|
||||
* Accepting resume data through the `message` event
|
||||
* Setting up base styles for the page and shared styles for resumes
|
||||
* Uses CSS Variables to hoist colors and other style properties for components to consume them globally
|
||||
* Loading the required fonts and icon libraries for the resume
|
||||
* Deciding which template to display, depending on the resume metadata
|
||||
* Displaying pages of the resume
|
||||
* Displays pages horizontally with page numbers and page line breaks, in **builder mode**
|
||||
* Displaying pages vertically one after another, in **printer mode and preview mode**
|
||||
|
||||
The motivation behind having two different applications is that the resume should not bleed any of the styles from the host application. The resume should have it's own space of managing stylesheets.
|
||||
|
||||
The artboard makes uses a combination of CSS Variables and Tailwind CSS to design resumes.
|
||||
|
||||
It also makes use of one of Tailwind’s first-class plugins `@tailwindcss/typography` to display content inside text blocks using the prose class. Since the prose class usually applies it's own text colors and font sizes, it is also important to override that with our own `text-color-text` class which is a shim to the CSS Variable `--color-text` defined in the resume metadata, and similar the `--font-size`.
|
||||
13
engineering/mission.md
Normal file
@ -0,0 +1,13 @@
|
||||
# 🎴 Mission
|
||||
|
||||
The mission of Reactive Resume is clear and simple.
|
||||
|
||||
> * to make resumes accessible to everyone, for free, forever.
|
||||
> * to make the process of designing a resume hassle-free.
|
||||
> * to prove that free doesn't always have to mean low quality.
|
||||
|
||||
Reactive Resume, since its inception, has never has implemented any sort of user tracking, telemetry, advertising or paywalls, and I hope to keep it that way for as long as I can support the project.
|
||||
|
||||
I do, however, accept donations as a means of sustaining the development of the project, so if you feel like you'd want to extend your support and lend a hand, read more here:
|
||||
|
||||
**Contributing to Reactive Resume**
|
||||
26
engineering/tech-stack.md
Normal file
@ -0,0 +1,26 @@
|
||||
# 🎒 Tech Stack
|
||||
|
||||
Here's a brief overview of the tech stack that's used to build Reactive Resume.
|
||||
|
||||
* [React](https://react.dev/) ([Vite](https://vitejs.dev/)), as the frontend
|
||||
* [NestJS](https://nestjs.com/), as the backend
|
||||
* [PostgreSQL](https://www.postgresql.org/), as the primary database
|
||||
* [Prisma ORM](https://www.prisma.io/), as the interface between the server and the database
|
||||
* [Redis](https://redis.io/), mostly for caching, but also used to track resume statistics
|
||||
* [Minio](https://min.io/), an open-source S3 alternative to store objects
|
||||
* [Browserless](https://www.browserless.io/), an open-source docker image that allows to run headless Chrome as a separate service
|
||||
|
||||
Some of the optional dependencies, which are not required when self-hosting your own version are:
|
||||
|
||||
* Any SMTP Server, to send password recovery emails
|
||||
* [Sentry](https://sentry.io/), to track errors occurred on the server
|
||||
* GitHub/Google OAuth, to quickly sign-up and authenticate users
|
||||
* [Crowdin](https://crowdin.com/), to manage translations and collaborate with translators across the world to contribute new translation phrases to the project
|
||||
|
||||
There are several open-source libraries that we use. Without them, it would not have been possible to build Reactive Resume.
|
||||
|
||||
* [lingui](https://lingui.dev/)
|
||||
* [dnd-kit](https://dndkit.com/)
|
||||
* [react-resizable-panels](https://github.com/bvaughn/react-resizable-panels)
|
||||
* [react-zoom-pan-pinch](https://github.com/BetterTyped/react-zoom-pan-pinch)
|
||||
* and so many others...
|
||||
28
meta/license.md
Normal file
@ -0,0 +1,28 @@
|
||||
# ⚖ License
|
||||
|
||||
{% code overflow="wrap" fullWidth="false" %}
|
||||
```
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Amruth Pillai
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
```
|
||||
{% endcode %}
|
||||
70
meta/privacy-policy.md
Normal file
@ -0,0 +1,70 @@
|
||||
# 🔏 Privacy Policy
|
||||
|
||||
{% hint style="info" %}
|
||||
Effective Date: 21st November 2023
|
||||
{% endhint %}
|
||||
|
||||
**1. Introduction**
|
||||
|
||||
Welcome to Reactive Resume! This Privacy Policy outlines how we collect, use, and protect your personal information when you use our Resume Builder app, "Reactive Resume" (referred to as "we," "our," or "us"). We are committed to safeguarding your privacy and ensuring the security of your personal data.
|
||||
|
||||
By using the Reactive Resume app, you agree to the terms and conditions of this Privacy Policy. Please read this policy carefully to understand how we handle your information.
|
||||
|
||||
**2. Information We Collect**
|
||||
|
||||
2.1. **Personal Information**: When you use Reactive Resume, we may collect the following personal information:
|
||||
|
||||
* Full name
|
||||
* Email address
|
||||
* Resume content (e.g., work experience, education, skills)
|
||||
|
||||
2.2. **Automatically Collected Information**: We may also collect non-personal information automatically when you use our app, such as device information, usage data, and technical information, to improve our services and user experience.
|
||||
|
||||
**3. Use of Information**
|
||||
|
||||
We use the collected information for the following purposes:
|
||||
|
||||
3.1. **Resume Building**: We use the personal information provided to create and customize resumes as per your instructions.
|
||||
|
||||
3.2. **Communication**: We may use your email address to send important notifications, updates, and relevant information about Reactive Resume.
|
||||
|
||||
3.3. **Improvement**: We may use non-personal information for analytics and to enhance the functionality, security, and performance of our app.
|
||||
|
||||
**4. Data Security**
|
||||
|
||||
We take data security seriously and have implemented measures to protect your personal information from unauthorized access, disclosure, alteration, and destruction. However, no method of data transmission or storage is entirely secure, so we cannot guarantee absolute security.
|
||||
|
||||
**5. Data Sharing**
|
||||
|
||||
We do not intend to sell, redistribute, or share your personal information with any third parties, except as described below:
|
||||
|
||||
5.1. **Service Providers**: We may share your personal information with trusted third-party service providers who assist us in delivering our services, provided they agree to maintain the confidentiality of your data.
|
||||
|
||||
5.2. **Legal Compliance**: We may disclose your information if required by law or in response to a legal request, such as a court order or government investigation.
|
||||
|
||||
**6. Your Choices**
|
||||
|
||||
6.1. **Access and Correction**: You may access, correct, or delete your personal information stored in the Reactive Resume app by using the app's built-in features.
|
||||
|
||||
6.2. **Communication Preferences**: You can manage your communication preferences by unsubscribing from email notifications or contacting us.
|
||||
|
||||
**7. Children's Privacy**
|
||||
|
||||
Reactive Resume is not intended for use by children under the age of 13. We do not knowingly collect personal information from children, and if we become aware of such data, we will delete it promptly.
|
||||
|
||||
**8. Changes to this Privacy Policy**
|
||||
|
||||
We may update this Privacy Policy periodically to reflect changes in our practices or for legal, operational, or regulatory reasons. We will notify you of any material changes via email or through the app. Please review this policy regularly.
|
||||
|
||||
**9. Contact Us**
|
||||
|
||||
If you have any questions, concerns, or requests regarding this Privacy Policy or your personal information, please contact us at \[insert contact email].
|
||||
|
||||
Thank you for trusting Reactive Resume with your personal information. We are committed to protecting your privacy and providing you with a valuable resume-building experience.
|
||||
|
||||
```
|
||||
Raja Rajan Ashokan (legal name)
|
||||
c/o Reactive Resume
|
||||
Berlin, Germany
|
||||
hello@amruthpillai.com
|
||||
```
|
||||
64
meta/terms-of-service.md
Normal file
@ -0,0 +1,64 @@
|
||||
# 🐕🦺 Terms of Service
|
||||
|
||||
{% hint style="info" %}
|
||||
Effective Date: 21st November 2023
|
||||
{% endhint %}
|
||||
|
||||
These Terms of Service ("Terms") govern your use of the Reactive Resume app ("Reactive Resume" or "the Service"), provided by \[Your Company Name] ("we," "our," or "us"). By creating an account and using Reactive Resume, you agree to comply with and be bound by these Terms.
|
||||
|
||||
**1. Account Registration**
|
||||
|
||||
1.1. To use Reactive Resume, you must create an account. During registration, you must provide accurate and complete information, including your full name and email address. You are responsible for maintaining the confidentiality of your account credentials.
|
||||
|
||||
**2. User Responsibilities**
|
||||
|
||||
2.1. Your responsibility as a user is to use Reactive Resume to create, update, and share resumes for your personal use. There are no restrictions on the number of resumes or accounts you can create.
|
||||
|
||||
**3. Use of the Service**
|
||||
|
||||
3.1. You may use Reactive Resume to create, update, and share resumes.
|
||||
|
||||
**4. Premium Features**
|
||||
|
||||
4.1. Reactive Resume does not offer premium or paid features. The service is entirely free to use.
|
||||
|
||||
**5. Intellectual Property**
|
||||
|
||||
5.1. All content created by users using Reactive Resume is owned by the respective users. We do not claim any copyright or ownership over the content.
|
||||
|
||||
**6. Data Privacy**
|
||||
|
||||
6.1. User data, including personal information and resume content, is private and not shared with any third party. Please refer to our Privacy Policy for more information on data handling.
|
||||
|
||||
**7. Termination**
|
||||
|
||||
7.1. You can delete your account and all associated data at any time by going to the settings page within Reactive Resume.
|
||||
|
||||
**8. Dispute Resolution**
|
||||
|
||||
8.1. Any issues or disputes related to Reactive Resume can be posted on either our [Discord Server](https://discord.gg/hzwkZbyvUW) or our [GitHub Issues](https://github.com/AmruthPillai/Reactive-Resume/issues) page.
|
||||
|
||||
**9. Limitations and Liabilities**
|
||||
|
||||
9.1. \[Insert boilerplate text outlining limitations and liabilities as per your legal counsel's advice.]
|
||||
|
||||
**10. Updates to Terms**
|
||||
|
||||
10.1. Users are not notified of updates to the Terms of Service. It is your responsibility to periodically review these Terms for any changes.
|
||||
|
||||
**11. Governing Law**
|
||||
|
||||
11.1. These Terms are governed by and construed in accordance with EU law.
|
||||
|
||||
**Contact Us**
|
||||
|
||||
If you have any questions, concerns, or requests regarding these Terms of Service or your use of Reactive Resume, please contact me at [hello@amruthpillai.com](mailto:hello@amruthpillai.com).
|
||||
|
||||
Thank you for using Reactive Resume!
|
||||
|
||||
```
|
||||
Raja Rajan Ashokan (legal name)
|
||||
c/o Reactive Resume
|
||||
Berlin, Germany
|
||||
hello@amruthpillai.com
|
||||
```
|
||||
25
overview/features.md
Normal file
@ -0,0 +1,25 @@
|
||||
# ✨ Features
|
||||
|
||||
## Manage Multiple Resumes
|
||||
|
||||
Under a single account, you're free to handle an unlimited number of resumes—there are no restrictions, no paywalls. It's common practice to have several variations of a single resume template, each slightly tailored to suit specific job descriptions. Reactive Resume is ideally suited for such customization.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-18 at 10.11.56 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
## Realtime Editing
|
||||
|
||||
Make changes to your resume and see them reflected on your page immediately. Your updates are "reactive", so you can make the best design decisions without having to look at a loading spinner.
|
||||
|
||||
<figure><img src="../.gitbook/assets/ezgif.com-video-to-gif (1).gif" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
## Single or Multi-Column Sections
|
||||
|
||||
Inarguable, single columns are the way to go for maximum ATS compatibility, but some people don't want to target ATS systems, and want their resume to look good, while trying to fit in as much information as possible. The decision to go single column or multi-column should be up to you, and it's possible with Reactive Resume in just a few clicks.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-18 at 10.33.04 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
## Other Features
|
||||
|
||||
There's honestly just too many to count, and there are new features being baked into the app everyday. But here's a neat little slide that summarizes all the major features of Reactive Resume.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Slide.jpg" alt=""><figcaption></figcaption></figure>
|
||||
5
overview/information.md
Normal file
@ -0,0 +1,5 @@
|
||||
# 💡 Information
|
||||
|
||||
## Overview
|
||||
|
||||
Got 2 minutes? Watch this video of me explaining what Reactive Resume can do!
|
||||
21
product-guides/creating-a-multi-page-resume.md
Normal file
@ -0,0 +1,21 @@
|
||||
# 📃 Creating a Multi-Page Resume
|
||||
|
||||
Unlike most other resume builders, Reactive Resume does not automatically push your content to the next page in case the content crosses the page break line. The reason for this is [explained here in detail](making-your-resume-publicly-available.md#you-are-not-restricted-to-a-page).
|
||||
|
||||
However, it is quite simple to create multi-page resumes and only requires a tiny bit of manual effort.
|
||||
|
||||
Let's say you've created a resume that's crossing the page limit, like the one shown below.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 11.07.45 PM.png" alt="" width="375"><figcaption></figcaption></figure>
|
||||
|
||||
To move certain sections to a new page, you must first create a new page. You can do this by heading to the "Layout" section in the right-hand side panel and clicking on the button titled "Add New Page".
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 11.09.24 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
When you click on the "Add New Page" button, it creates a new row with "Main" and "Sidebar" columns. Simply drag-and-drop the sections you want to see in the new page from the first page to the second one.
|
||||
|
||||
<figure><img src="../.gitbook/assets/ezgif.com-video-to-gif.gif" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
And there you have it, a new page with just the sections you want. This way you, as the user, have total control over what goes on which page and to control the display of your information and order in which sections appear on the page.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 11.11.57 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
59
product-guides/enabling-openai-integration.md
Normal file
@ -0,0 +1,59 @@
|
||||
# 🧠 Enabling OpenAI Integration
|
||||
|
||||
{% hint style="info" %}
|
||||
This feature is in an experimental phase and could undergo many changes throughout the development of the app.
|
||||
{% endhint %}
|
||||
|
||||
OpenAI has been a game-changer for all of us. I cannot tell you how much ChatGPT has helped me in my everyday work and with the development of Reactive Resume. It only makes sense that you leverage what AI has to offer and let it help you build the perfect resume.
|
||||
|
||||
While most applications out there charge you a fee to use their AI services (rightfully so, because it isn't cheap), you can choose to enter your own OpenAI API key on the Settings page (under OpenAI Integration). **The key is stored in your browser's local storage**, which means that if you uninstall your browser, or even clear your data, the key is gone with it. All requests made to OpenAI are also sent directly to their service and does not hit the app servers at all.
|
||||
|
||||
The policy behind "bring your own key" (BYOK) is [still being discussed](https://community.openai.com/t/openais-bring-your-own-key-policy/14538/46) and probably might change over a period of time, but while it's available, I would keep the feature on the app.
|
||||
|
||||
{% hint style="info" %}
|
||||
You are free to turn off all AI features (and not be aware of its existence) simply by not adding a key in the Settings page and still make use of all the useful features that Reactive Resume has to offer.
|
||||
|
||||
**I would even suggest you to take the extra step of using ChatGPT to write your content, and simply copy it over to Reactive Resume.**
|
||||
{% endhint %}
|
||||
|
||||
## How to get an OpenAI API key?
|
||||
|
||||
Firstly, create an account on OpenAI if you don't already have one. For the purposes of being brief, I'll not go over how to set up an OpenAI account. There should be enough guides on the internet to do this, which would explain the process much better than I can.
|
||||
|
||||
{% hint style="info" %}
|
||||
OpenAI might ask you for your credit card information depending on where you are located, or if you already have an account.
|
||||
{% endhint %}
|
||||
|
||||
Head over to the [OpenAI Platform](https://platform.openai.com/apps) page and click on the API section.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-19 at 2.18.46 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
Now, head over to the [API keys page](https://platform.openai.com/api-keys) on the left navigation where you can manage all your API keys and click on the link that says "Create a new secret key". You can call the key anything you want, but it helps to name it after the application you are going to use the specific key for.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-19 at 2.22.26 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
Once you click on "Create secret key", you should be presented with an API key that you can now use in Reactive Resume. The key would only be visible to you once, so make sure you store it somewhere safe at this screen.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-19 at 2.23.46 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
{% hint style="info" %}
|
||||
The secret key in the screenshot would be disabled by the time you read this, so there's no point in trying to use this one. It's pretty straightforward to create one on your own and it shouldn't cost you unless you go over the Free Credits Limit.
|
||||
{% endhint %}
|
||||
|
||||
Your key should begin with `sk-`, this is how Reactive Resume validates that the key is indeed an OpenAI API key.
|
||||
|
||||
## Enabling OpenAI in Reactive Resume
|
||||
|
||||
Once you have the secret key from OpenAI, head over to the settings page in Reactive Resume, and to the sub-section named "OpenAI Integration".
|
||||
|
||||
Here, you can enter the API key provided, and click on "Store Locally".
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-19 at 2.27.38 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% hint style="info" %}
|
||||
Your API key is securely stored in the browser's local storage and is only utilized when making requests to OpenAI via their official SDK. Rest assured that your key is not transmitted to any external server except when interacting with OpenAI's services.
|
||||
{% endhint %}
|
||||
|
||||
Now, you should be able to see some new sections pop up in the Resume Builder screen where you can take advantage of all the one-click AI actions.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-19 at 2.53.01 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
15
product-guides/exporting-your-resume-as-json.md
Normal file
@ -0,0 +1,15 @@
|
||||
# 👩💻 Exporting your resume as JSON
|
||||
|
||||
The JSON file format from Reactive Resume contains a snapshot of your resume at the time of export.
|
||||
|
||||
To go the extra mile for the safety of your data, you could also choose to save your JSON exports locally on your drive, or the cloud, so that you can import them back into Reactive Resume at any time.
|
||||
|
||||
While it contains information about the data you have entered to go on your resume, it also contains specific data regarding your resume that's used exclusively in Reactive Resume.
|
||||
|
||||
For example, it contains information regarding the design template you chose, the font family, the colors etc. All of this information is conveniently placed under the `metadata` key.
|
||||
|
||||
To export your resume in JSON file format, head on over to the resume builder screen in Reactive Resume and scroll down to the “Export” section in the right panel. Here, you have the option to export as JSON or as PDF.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 7.44.46 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Just click on the “JSON" button and a file should be saved onto your device. You can now upload this file elsewhere for safe-keeping, or import it back into Reactive Resume at any time.
|
||||
27
product-guides/exporting-your-resume-as-pdf.md
Normal file
@ -0,0 +1,27 @@
|
||||
# 👩💻 Exporting your resume as PDF
|
||||
|
||||
PDFs are the preferred format for transferring documents on the internet. They offer the convenience of ensuring that what you see on your device is exactly what others see on their computers or mobile phones. However, one downside of PDFs is that they are not easily parsed, making it more challenging to export a resume as a PDF and import it back without any changes.
|
||||
|
||||
There are other downsides to PDFs, such as font compatibility. However, Reactive Resume addresses this issue by embedding the font you choose in the app into the PDF. This may increase the file size slightly, but guarantees that your resume will display correctly regardless of the PDF reader used by the viewer.
|
||||
|
||||
Exporting your resume in Reactive Resume is extremely simple and, most importantly, free. While other resume builders would typically require a fee to generate a PDF, Reactive Resume allows you to export your resume (or any number of resumes) as PDFs, without any limitations on the number of exports.
|
||||
|
||||
To export your resume as a PDF, head on over to the resume builder page and scroll down to the “Export” section in the right-hand side panel. Click on the button that says “Export as PDF” and it should take no more than 10-15 seconds to generate your PDF.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 7.46.37 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Once it’s ready, a new tab would open with the link to your resume (or in most cases, it should already be downloaded onto your device). Now, you can share the PDF with anyone who needs it.
|
||||
|
||||
***
|
||||
|
||||
{% hint style="warning" %}
|
||||
PDFs are typically a snapshot of your data at the time you exported the resume. However, the downside is that if you update your resume on Reactive Resume, recipients who have already received the PDF would immediately have outdated information.
|
||||
{% endhint %}
|
||||
|
||||
Reactive Resume solves this problem by hosting your resume for free, if you choose to make it publicly available. You will receive a unique link to your resume that can be shared with anyone, and this page will always display the most up-to-date information. From this page, anyone can download a PDF version of your resume if they wish.
|
||||
|
||||
**To know more about making your resume publicly available, check out this guide:**
|
||||
|
||||
{% content-ref url="making-your-resume-publicly-available.md" %}
|
||||
[making-your-resume-publicly-available.md](making-your-resume-publicly-available.md)
|
||||
{% endcontent-ref %}
|
||||
40
product-guides/importing-your-data-from-linkedin.md
Normal file
@ -0,0 +1,40 @@
|
||||
# 🖇 Importing your data from LinkedIn
|
||||
|
||||
It can be a painful process to rewrite all your information again and again on every resume builder. However, Reactive Resume tries its best to make that process less stressful.
|
||||
|
||||
Although LinkedIn does not provide an API to directly extract profile information from their website, and using a scraper to parse through someone's profile is both highly inefficient and against their terms of service, Reactive Resume offers a simple and legal method to export your data from LinkedIn and import it into the app.
|
||||
|
||||
To do this, first log in to your LinkedIn account and navigate to the ["Export your data" page](https://www.linkedin.com/mypreferences/d/download-my-data). If the link doesn't work, you can go to your LinkedIn Settings page, find the section titled "Data Privacy," and click on "Get a copy of your data."
|
||||
|
||||
Here, select the option that says “_Download larger data archive, including connections, verifications, contacts, account history, and information we infer about you based on your profile and activity.”_.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 8.47.27 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% hint style="info" %}
|
||||
While Reactive Resume doesn't require all of this data, LinkedIn only exports your work experience and education data if you select this option, and skips it if you choose the other one.
|
||||
{% endhint %}
|
||||
|
||||
This process usually takes a little over 15 minutes since you don't have to wait for the entire data export, only the first part that LinkedIn provides. Once you receive an email notification from LinkedIn stating that the first part of your data archive is ready, simply click on the link in the email and download the ZIP archive.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 9.03.41 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
You are free to inspect the contents of this ZIP archive to ensure there are no secrets or personal information (other than what you’ve provided LinkedIn, of course) in the files. Reactive Resume will parse these files accordingly. Any other files will simply be ignored.
|
||||
|
||||
{% code lineNumbers="true" fullWidth="false" %}
|
||||
```
|
||||
Profile.csv
|
||||
Email Addresses.csv
|
||||
Certifications.csv
|
||||
Education.csv
|
||||
Languages.csv
|
||||
Positions.csv
|
||||
Projects.csv
|
||||
Skills.csv
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
Now that you have downloaded the ZIP archive, go to the [Resumes Dashboard page](https://rxresu.me/dashboard/resumes) on Reactive Resume. Click on the "Import an existing resume" card. This will open a modal where you can choose the file type you want to upload. From the drop-down menu, select "LinkedIn Data Export (.zip)" and choose the file you downloaded from LinkedIn, then click on “Validate”.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 9.05.09 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
If everything’s green, you should be good to import your data from LinkedIn and that’s it. You should immediately see a new resume pop up on your dashboard with data pre-filled from LinkedIn.
|
||||
37
product-guides/making-your-resume-publicly-available.md
Normal file
@ -0,0 +1,37 @@
|
||||
# 📢 Making your resume publicly available
|
||||
|
||||
By default, all the resumes created on Reactive Resume are set to private. This means that only you can see and download them. However, if you wish, you can make them publicly visible. There are some benefits to doing so, which we will discuss in this guide.
|
||||
|
||||
### Solving the problem of stale resumes
|
||||
|
||||
When you export a resume as a PDF, you are essentially creating a static version of the resume at the time of export. Although this may be acceptable in certain situations, many companies retain your information for extended periods to reach out to you in the future when relevant job openings arise. By that point, your old resume could be outdated, as you may have acquired new work experiences or developed new skills over time.
|
||||
|
||||
To circumvent this problem, you can make your resume publicly available through a link. This ensures that when a recruiter visits the link, they will always see the most up-to-date information. Additionally, they will have the option to easily download your resume as a PDF if needed, for internal sharing purposes.
|
||||
|
||||
### Tracking resumes views and downloads
|
||||
|
||||
One of the main concerns that arises when sending out resumes is whether companies actually review them immediately after they are sent. In the past, there have been various methods to discreetly track this information. One example is by adding a small, invisible pixel to your resume that would notify the sender when the resume is opened. However, many PDF readers have become smarter in detecting and blocking images or scripts from running on the recipient’s computer.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 8.11.17 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
When you share your publicly visible resumes link to others, you can track how many people have seen it, or how many people have downloaded the resume from the page.
|
||||
|
||||
### You are not restricted to a page
|
||||
|
||||
Nowadays, it is uncommon to print resumes, so there is no longer a strict requirement to follow the A4 or Letter page format standards. As a result, Reactive Resume does not automatically move your content to a new page if it exceeds the page break limit. Additionally, when you export your resume as a PDF, it generates a page that adjusts to the length of the resume content. This ensures that the resume remains easily readable on all popular PDF viewers.
|
||||
|
||||
As an added bonus, when you make your resume publicly available, it is displayed on a webpage that expands to fit your content, eliminating the concept of traditional pages and presenting your resume more like a personal website on a single page.
|
||||
|
||||
### It looks cool! ❄️
|
||||
|
||||
A public resume gets its own URL and its own place on the internet forever. When someone visits the link, they see nothing but your resume (and a small link to Reactive Resume). It is designed in a way that puts your content in the spotlight and makes your resume visually more appealing than if it were viewed on a regular PDF reader.
|
||||
|
||||
***
|
||||
|
||||
### So, how do you make a resume public? It’s simple.
|
||||
|
||||
Head on over to the resume builder screen of the resume you want to make public. Scroll down to the "Sharing" section in the right-hand side panel and toggle the switch that says "Public", and that’s it!
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 8.21.47 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
You can now copy a link to your resume that can be shared with others. If you think the link is too long, use any link shortening service (like [bit.ly](http://bit.ly) or [kutt.it](http://kutt.it)) to shorten your link and personalise it with a unique URL.
|
||||
43
product-guides/setting-up-two-factor-authentication.md
Normal file
@ -0,0 +1,43 @@
|
||||
# 🛂 Setting up two-factor authentication
|
||||
|
||||
\
|
||||
Two-factor authentication adds an extra layer of security to your account, beyond just your email/username and password. To enable it, you need to download an Authenticator app on your smartphone. Popular choices include:
|
||||
|
||||
* Google Authenticator (available for [Android](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\&hl=en\&gl=US) and [iOS](https://apps.apple.com/de/app/google-authenticator/id388497605))
|
||||
* [Microsoft Authenticator](https://www.microsoft.com/en/security/mobile-authenticator-app)
|
||||
* LastPass Authenticator (available for [Android](https://play.google.com/store/apps/details?id=com.lastpass.authenticator\&hl=en\&gl=US) and [iOS](https://apps.apple.com/de/app/lastpass-authenticator/id1079110004))
|
||||
|
||||
Password managers like [1Password](https://1password.com/) or [Bitwarden](https://bitwarden.com/) can also generate your two-factor codes while securing your passwords.
|
||||
|
||||
## How does two-factor authentication enhance security?
|
||||
|
||||
Without two-factor authentication, logging in to Reactive Resume requires just your email (or username) and password. This is sufficient for many, but it's vulnerable if your password is discovered by someone else.
|
||||
|
||||
Two-factor authentication requires a two-step verification process:
|
||||
|
||||
1. You'll enter your email/username and password as usual.
|
||||
2. Then, you'll need a code that only your Authenticator app can generate, which changes periodically.
|
||||
|
||||
The chances are slim that a potential intruder has both your login credentials and your mobile phone, making your data much safer.
|
||||
|
||||
## How to enable two-factor authentication on Reactive Resume?
|
||||
|
||||
Firstly, sign in to your account and head over to the settings page.
|
||||
|
||||
In the "Security" section, you will find a sub-section called "Two-Factor Authentication". If you haven't enabled 2FA yet, you should see a button that's labelled "Enable 2FA" like this.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-19 at 2.03.01 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Click on the "Enable 2FA" button, and you should be presented with a QR Code that you can scan on your mobile phone. In case you are using your computer to generate two-factor codes, you can also copy the secret link below and paste it in your password manager.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-19 at 2.05.27 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
Once you've scanned the QR Code, hit "Continue" and you would be asked to enter the code generated from the authenticator app. When you have successfully entered the correct code, 2FA will be enabled on your account.
|
||||
|
||||
You will also be presented with a few backup codes to store for safe keeping. You can use one of these one-time use codes in case you do not have access to your authenticator device.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-19 at 2.07.07 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
The next time you login, after having entered your email and password, you would also be asked to enter your one-time password, which is the 6 digit code from your authenticator app.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-19 at 2.14.17 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
29
product-guides/setting-up-your-account.md
Normal file
@ -0,0 +1,29 @@
|
||||
# 🦸 Setting up your account
|
||||
|
||||
Creating an account on Reactive Resume is straightforward and offers the advantage of being able to handle multiple resumes and access the same resume across different devices, such as a laptop, tablet, or mobile phone.
|
||||
|
||||
Firstly, head over to [https://rxresu.me](https://rxresu.me) and click on the "Get Started" button.
|
||||
|
||||
<div align="center">
|
||||
|
||||
<figure><img src="../.gitbook/assets/spaces_69oKXphCNKiJeU3CSIKT_uploads_jqLDpmCrXijviAGaNtm2_Screenshot 2023-11-18 at 9.webp" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
</div>
|
||||
|
||||
{% hint style="info" %}
|
||||
You can choose to sign in using your **GitHub** or **Google** account or register using your email address.
|
||||
{% endhint %}
|
||||
|
||||
Clicking the sign-in button for GitHub or Google will lead to a swift sign-in process, and if the email linked to these services isn't previously registered, a new Reactive Resume account will be automatically created for you.
|
||||
|
||||
However, if you choose to register using your email address, you can click on the link that says "Create one now"
|
||||
|
||||
Here, all you need to do is enter a few bits of information like your name, email address, a unique username and a secure password. Once you're done with that, just click on the "Sign up" button.
|
||||
|
||||
At this stage, your account is already created. You will be then directed to a page that prompts you to verify your email address by checking for a verification link in your inbox.
|
||||
|
||||
{% hint style="info" %}
|
||||
Email verification is not mandatory for accessing any features—it just confirms your email is valid for password recovery purposes.
|
||||
{% endhint %}
|
||||
|
||||
After completing the registration, you can directly go to the [dashboard page](https://rxresu.me/dashboard/resumes) to manage your account or start crafting new resumes.
|
||||
50
product-guides/translate-your-resume-with-chatgpt.md
Normal file
@ -0,0 +1,50 @@
|
||||
# 🇦🇮 Translate your resume with ChatGPT
|
||||
|
||||
ChatGPT, even the free version, is capable of translating your resume into many different languages if you need to.
|
||||
|
||||
In this guide, I go through the basics of how to export your resume in JSON format and funnel it into ChatGPT with the appropriate prompt. Once you have the resulting translated JSON, simply import it back into Reactive Resume and you can then make further edits appropriate for the locale.
|
||||
|
||||
{% hint style="info" %}
|
||||
Here's an example conversation I had with ChatGPT, translating a sample resume originally written in English into German:\
|
||||
\
|
||||
[https://chat.openai.com/share/50ec9a4b-6a94-431f-abb4-89ae1699439f](https://chat.openai.com/share/50ec9a4b-6a94-431f-abb4-89ae1699439f)
|
||||
{% endhint %}
|
||||
|
||||
This guide assumes you already have an account with OpenAI (or ChatGPT specifically) and that you already have your resume in a language of your choice. We'll pick a resume that's written in English and translate it to German.
|
||||
|
||||
First, head over to your resume on Reactive Resume and scroll down to the “Export” section on the right panel. Here, you have two options, to export the resume as JSON, or as a PDF.
|
||||
|
||||
Once you click on the Export as JSON button, you should see the file downloaded on your device. Open up the file in any code editor (or even Notepad) and copy all of it's contents.
|
||||
|
||||
Now, you can head over to ChatGPT and enter this prompt:
|
||||
|
||||
{% code overflow="wrap" fullWidth="true" %}
|
||||
```
|
||||
You function as a specialized language translator with a focus on converting [source language] text into [target language]. Your expertise extends to understanding the JSON format, and you're cognizant that within this structure, only the values are to be converted into [target language] while the keys must remain in [source language]. Furthermore, you are to retain specific keys such as "id" and "url" in their original language, as well as any key found within the "metadata" section of the schema, without translating them.
|
||||
|
||||
Here is the JSON:
|
||||
"""
|
||||
[paste JSON content here]
|
||||
"""
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
In the above prompt, simply replace the placeholders `[source language]` and `[target language]` with the current language of your resume and the language you want to translate to, respectively. Then, replace the `[paste JSON content here]` placeholder with the contents from your exported JSON file.
|
||||
|
||||
Now, hit **Enter** and watch the magic unfold! ✨
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 7.53.32 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Once ChatGPT has finished it's response and you have the completed JSON output, copy it over and create a new file on your device with these contents. It can be called anything, but make sure it has the file extension `.json`.
|
||||
|
||||
Now, you can head on over back to Reactive Resume and to the Resumes Dashboard page. Here, click on the card that says “Import your resume". This opens up a dialog where you can import resumes from various sources, such as JSON Resume, LinkedIn Data Export or even previous versions of Reactive Resume.
|
||||
|
||||
Select “Reactive Resume" from the drop-down menu and select the file that you just created. Click on validate to ensure that the format is correct and ChatGPT has not messed up the underlying schema of the file.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 7.54.31 PM.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
If everything's green, you can now import the resume and continue working on it within the app, making further edits that are specific to the region you are applying to. For example, it's uncommon for resumes in Germany to have a photo in them, so we can simply remove the photo by clicking on the picture.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-20 at 7.55.24 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
And that's how you can translate your resume into any language you want and maximize your chances of getting through to the career path of your dreams!
|
||||
7
product-guides/updating-your-password.md
Normal file
@ -0,0 +1,7 @@
|
||||
# 🔑 Updating your password
|
||||
|
||||
To update your password, simply sign in to the app and head over to the [settings page](https://rxresu.me/dashboard/settings). Here, you can find the section to update your password under "Security".
|
||||
|
||||
To change your password, simply enter the new password twice and click on the "Change Password" button.
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-19 at 1.49.51 PM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
17
product-guides/updating-your-profile.md
Normal file
@ -0,0 +1,17 @@
|
||||
# 🖊 Updating your profile
|
||||
|
||||
If you need to revise your name, username, email address, or add a photo to your account, this section is designated for those updates.
|
||||
|
||||
Once you are logged in, head over to the [settings page](https://rxresu.me/dashboard/settings). The account section should have all the fields you need to update.
|
||||
|
||||
To update your picture, just click the upload button on the right and select an image from your computer. The URL field will be populated automatically once the upload finishes.
|
||||
|
||||
Whenever you modify your profile details, like your name or username, a 'Save Changes' button will appear. Please note that your changes won't be committed until you click on this button.
|
||||
|
||||
<div align="center">
|
||||
|
||||
<figure><img src="../.gitbook/assets/Screenshot 2023-11-19 at 11.03.22 AM.png" alt="" width="563"><figcaption></figcaption></figure>
|
||||
|
||||
</div>
|
||||
|
||||
Should you opt to alter your email address on this page, you will be sent a message containing a link to confirm the new email. Clicking on this link will finalize the update of your email address.
|
||||
2
product-guides/use-chatgpt-to-rewrite-your-resume.md
Normal file
@ -0,0 +1,2 @@
|
||||
# Use ChatGPT to rewrite your resume
|
||||
|
||||