Hey r/selfhosted, get ready to craft your story like never before!
I’m thrilled to announce that Reactive Resume has just launched its latest version, and it’s a game-changer in the resume-building space (at least, I’d like to think so).
Here’s a glimpse of some of the new features:
- A sleek, polished user interface that makes navigation a breeze.
- Faster PDF generation to get your resume out there quicker.
- Integration with OpenAI for smarter assistance.
- Brand new, highly customisable templates to fit your unique style.
- Comprehensive documentation with user-friendly guides.
- Enhanced security with two-factor authentication.
- Available in multiple languages, contributed by the community.
- Quality of life features such as locking resumes, adding personal notes to resumes, tracking views and downloads on your public resume etc.
The best part? It’s 100% free, forever! No ads, no user tracking, just pure resume-building bliss. Plus, for the tech-savvy, it’s also open-source on GitHub and self-hostable through Docker, something special just for this community.
Ready to give it a spin?
You can visit the website on https://rxresu.me, sure. But you’re on r/selfhosted, so you’re probably more interested in the “how to host it myself” part of the launch. The link to the repository is right here: https://github.com/AmruthPillai/Reactive-Resume/
Self-hosting Reactive Resume is super simple, compared to the nightmare it was in earlier versions having to ensure multiple services are communicating alright. You can check the GitHub repo (under tools/compose
for many docker compose examples of how the project could be set up).
I’m excited to see how you make the most of it!
curios to see how well a PDF resume from this fares thru the various ATS’s that are out there
This looks really nice. A really good feature to have would be able to have version history of the resume so I can revert or just see how the resume has changed over time.
GIT is literally build for that.
I will definitely look into the possibility of having this on, although I suspect my database would blow up if I were to implement this on the cloud.
Totally what I was looking for will try imbed into my website.
Please do let me know how it goes, and if there’s anything I can do to make the process more simpler :)
Thanks mate, might try add it into my docker website, https://github.com/buildwithdan/flask-portfolio
I cheeked out the homepage and saw a photo on the header. Shouldn’t you discourage use of an image on a resume?
doesn’t that put some people at risk to racial bias?
Entirely up to the user. All of the templates adapt depending on whether there’s a picture or not, so no one’s experience is hindered. But it’s true, it is discouraged in some regions, for good reason, but also expected in many other regions or industries.
Depending on the country, adding an image to your resume is still pretty standard.
this is awesome! well done
Creative website name!
Thank you :)
perfect timing, i just got laid off a couple weeks ago lol
Is there an upgrade breaking changes from v3.x to 4.0 if upgrading a self-hosted instance using docker?
Yes, unfortunately it’s not a straightforward upgrade as there are a lot of things changed since V3 to V4. What I’d suggest is to extract or export your resume json from your running V3 instance and store it locally. Once you have v4 running, simply import the JSON back into the app.
Also it should be pointed out that the name of the image tag has changed. There is no client and server anymore, but just latest.
Hi, could you include a docker-compose file to the repository?
The delaying of making my resume becouse i was to lazy actually paid off
Damn it that’s awesome! A few weeks ago I was thinking to build something similar, glad you take the lead! Will give it a go and share my experience!
Do you have upgrade instructions for users who were running it with this image?
image: amruthpillai/reactive-resume:server-latest
Will it break if I just do a docker compose pull?
Yes, unfortunately it’s not a straightforward upgrade as there are a lot of things changed since V3 to V4. What I’d suggest is to extract or export your resume json from your running V3 instance and store it locally. Once you have v4 running, simply import the JSON back into the app.
Also it should be pointed out that the name of the image tag has changed. There is no client and server anymore, but just latest.
After a first glance, I can’t see info about deployment in the docs: https://docs.rxresu.me/ and no docker-compsoe.yml in the repo either: https://github.com/AmruthPillai/Reactive-Resume/
Do you have a link to the self-deployment instructions or a compose file please?
Self-hosting Reactive Resume is super simple, compared to the nightmare it was in earlier versions having to ensure multiple services are communicating alright. You can check the GitHub repo (under
tools/compose
for many docker compose examples of how the project could be set up).
Found it! Thanks.
This looks awesome. Is there any extra setup required for saving to PDF? I just spun it up with the
simple.yml
compose file and PDF save does not work.Haven’t looked into error logs at all yet because I’m busy, just wanted to check out the app quickly.
You need put the bucket name in the storage url
example: STORAGE_URL: http://localhost:9000/default
There’s absolutely no extra setup necessary, if all of the services are running correctly. The error might just be related to networking. You can check out the hosted instance and take it for a spin to validate the product, and then when you have the time debug those errors with self-hosting it. I personally use the docker swarm compose template to deploy the production application and it works right out of the box.
this looks great!
Question / Potential feature request if it doesn’t exist
there used to be a free resume service called rhubarb that’d let you write a bunch of bullet points and swap them in and out of your resume depending on the job you’re applying to, so you’d essentially have one base resume that you could make variants of quickly and easily. their implementation let you click the “skills” section or the “work experience” section and a side bar would open up with your “bank” of all the skills or experience snippets you’d written and you’d simply click the plus or minus button to add or remove them for a specific “variant” of a resume you were working on.
this was insanely useful in tech jobs where you’d have experience with like 20 different pieces of tech but a specific job you’d apply to would only use 10 and you could only fit like 15ish on your resume so you’d swap them around depending on the specific job you’re applying to. do you guys have any feature like this where you support quickly making variations of a base resume to more custom tailor it to a singular position?
It’d also let you track the jobs you’ve applied to by uploading the Job description (just simple copy and pasting of the page into a rich text editor, no link scraping or formatting or anything) and it’d give you basically an “match” score on how good the specific variant of your resume aligns with the skill sets posted for that particular position’s job description. This part was probably just a simple python off-the-shelf machine learning script that does NTM or LDA or something, it wasn’t amazing, and with chatgpt integration already in your app, you could probably do something a lot better for a lot lower effort.
if these features don’t exist in your app, adding them i think would make your app the resume app, because in the current job market, it’s becoming more and more of the norm to shoot out dozens of resumes to land a single bite, and more and more, those resumes need to be custom tailored to the position especially in the age of chatgpt mass produced resumes. Even in tech, if you aren’t custom tailoring your resume for each application your prospects of getting a call back are greatly diminished.
So really this creates two problems your app could solve, easily customizing a “base” resume and keeping track of which job postings you’ve sent which resume to, both of these could be super overengineered, or just simple solutions, and both of these would make your app amazing if it doesn’t have either!
The features you’re asking for already exist in the app. You should be able to create a resume with all section items, and duplicate the resume for a specific job. Now, you have the option to hide certain items from each section or hide a section altogether.
There’s also another interesting feature specific for this use case. You can create a base resume and then lock it, ensuring no further changes are made to it by mistake. Another feature is that you can add personal notes to each resume, for example a link to the job description you applied to.
This is great! I have a feature request if you don’t mind
Can the app be password protected? E.g: Require password upon entering $PUBLIC_URL but not for public resumes. I don’t want the app to be public but still want it available over the internet.
I tried adding basic auth to my reverse proxy and it seems to break the app.
Interesting. It should be possible to do this without having to break the app or modify any of the code. You just need to ensure STORAGE URL and CHROME URL and not public addresses, but URLs that are accessible within your network (without basic auth).
Then it’s just a matter of implementing basic auth on the proxy layer (using nginx/Traefik/caddy). Or instead of basic auth, another strategy would be to block all requests from External IPs and only allow your home IP and the IP of the server itself.
# -- URLs -- PUBLIC_URL: http://localhost:3001 STORAGE_URL: http://localhost:3002 # -- Printer (Chrome) -- CHROME_TOKEN: chrome_token CHROME_URL: ws://headless_chrome:3000
You mean like that? It returns HTTP 500 once I add basic auth to the nginx reverse proxy