How i built a resume that auto updates

How i built a resume that auto updates

This is a journey of me building a resume that gathers data around the internet and curates with ATS in mind

If you’re anything like me, the thought of updating your resume ranks somewhere between cleaning out your inbox and filing taxes. You tell yourself, “I’ll get to it next weekend,” but that weekend never comes. Sound familiar? For me, that procrastination led to the shocking realization that my resume hadn’t been updated in over a year! A whole year of new projects, skills, and achievements left undocumented.

I knew something had to change. But instead of forcing myself into yet another cycle of guilt-driven manual updates, I decided to solve the problem with automation. After all, why waste time on repetitive tasks when I could build a system to do it for me?

The Idea: Automating the Resume

My vision was simple: create a fully automated process that updates my resume every week without any intervention from me. The idea was not only to save time but also to ensure that my resume was always up-to-date with my latest achievements, projects, and skills. Here’s how I approached it

Step 1: Setting Up the Automation Framework

The first step was to set up a cron job that triggers every Sunday at UTC. I used GitHub Actions to handle this scheduling, ensuring it runs like clockwork. No more “I’ll do it later” excuses!

Step 2: Pulling Data From Key Sources

To keep my resume accurate and relevant, I decided to pull data from two main sources:

  1. GitHub Stats: This provides insights into my latest projects, repositories, and the programming languages I’ve been using most frequently.

  2. LinkedIn Profile: This ensures that my professional experience and skills stay aligned with my online presence.

By combining these two data sources, I could capture a comprehensive view of my professional growth and activities.

Step 3: Generating the Resume in LaTeX

The real magic happens in LaTeX. Using the FAANG Path Overleaf template (which is both elegant and ATS-compliant), I set up a script that takes the pulled data and dynamically generates a polished PDF.

The automation:

  • Adds any new projects from GitHub.

  • Updates the skills section based on my most-used programming languages.

  • Refreshes the experience section with the latest data from LinkedIn.

The result? A professional, always-updated resume that reflects my latest work.

Step 4: Hosting and Sharing

To make sharing my resume effortless, I hosted it directly in the same GitHub repository where the automation script lives. This way, I can simply share the repository link or the direct link to the PDF whenever someone asks for my resume.

No more downloading, editing, or re-uploading. It’s all handled seamlessly.

The Outcome: Lazy Yet Genius

What started as a way to avoid manual updates turned into a powerful productivity tool. Now, every Sunday, my resume updates itself with zero input from me. Here’s what this automation achieved:

  1. No More Manual Edits: Every change is handled automatically, whether it’s a new project or a recently learned skill.

  2. Always Ready to Share: With the resume hosted online, I can instantly share it with anyone, anywhere.

  3. Aligned With My Goals: The resume reflects my latest achievements and activities, ensuring it’s a true representation of my professional journey.

Tools and Technologies Used

If you’re curious about the tech stack that made this possible, here’s the rundown:

  • Python: For fetching and processing data from GitHub and LinkedIn.

  • LaTeX: For generating the resume in a professional and ATS-compliant format.

  • GitHub Actions: For scheduling and running the automation script every week.

  • FAANG Path Overleaf Template: The foundation for the resume design.

Why Automate?

Sometimes, the best ideas come from asking yourself one simple question: “How can I do less work?” By automating my resume, I not only eliminated a tedious task but also ensured that I’m always prepared for new opportunities.

If you’re tired of staring at an outdated resume and telling yourself you’ll fix it “later,” why not take a page out of my book? Automate it and let laziness inspire your creativity.

Check It Out

Want to see the automation in action? Here are the links:

Built with Python, LaTeX, and GitHub Actions, this project has saved me countless hours and ensures I’m always ready to impress.

So, what are you waiting for? Start automating and make your life easier!