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!

  • sexyshingle@alien.topB
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    curios to see how well a PDF resume from this fares thru the various ATS’s that are out there

  • hash004@alien.topB
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    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.

  • JustDalek_@alien.topB
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    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?

    • AmruthPillai@alien.topOPB
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      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.

    • p0op@alien.topB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Depending on the country, adding an image to your resume is still pretty standard.

    • AmruthPillai@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      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.

  • Marcosaurios@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    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!

  • ovizii@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    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?

    • AmruthPillai@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      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.

        • ovizii@alien.topB
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          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.

  • FUCKUSERNAME2@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    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.

    • AmruthPillai@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      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.

  • privacyplsreddit@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    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!

    • AmruthPillai@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      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.

  • soyasoya5@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    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.

    • AmruthPillai@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      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.

      • soyasoya5@alien.topB
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago
        # -- 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