< back

How I Keep My Curriculum Updated in Under 10 Minutes

I have a simple setup to keep my career files updated: different versions of my curriculum and my cover letter. Today I want to share how it works.

experience.md: single source of truth

This file is the main source for all my career timeline details. It follows a specific markdown format. Here is a fictional example (not my real experience):

### Acme Corp, Senior Engineer (Mar 2024 – Present)

Working on Platform Redesign (Mar 2024 – Jan 2026):
- Led migration of 12 services to a shared observability stack, cutting incident triage time by ~40%
- Introduced AI-assisted code review in the team workflow, reducing review turnaround from days to hours

Working on API Gateway (Jun 2025 – Present):
- Designed rate limiting and auth middleware used by 8 internal products
- Shipped GraphQL federation layer on Node.js and PostgreSQL

Whenever I want to update a block of experience, I run /add-experience. The command is programmed to update the right timeline block following content rules (more on those later). Before it writes anything, the AI asks me for details: metrics, dates, tech stack, and anything else that could make the text stronger.

/refresh-curriculum: what makes everything easy

This command reads experience.md and checks whether the other files need an update. It touches curriculum-international.md, curriculum-basic.md, and letter.md.

Those three files, plus experience.md, have version control that prevents calling the command multiple times and changing them without new input. The sync state lives in .experience-sync.json.

CONTENT-RULES.md: the personal touch

Both commands above read this file. It guides the AI on how to structure text in my voice:

  • Punctuation and formatting preferences
  • Tone and language
  • No customer product names, real customer names, or anything that exposes internal details
  • A standing order to highlight AI skills: how I use AI in my workflows and what benefits came from it

/to-latex: the final step

After adding experience and refreshing the other files, I run /to-latex to convert the three markdown files to LaTeX. The templates are customized by me too.

I skipped PDF generation on purpose. It would mean adding dependencies on my machine, or a Docker Compose setup with large images. I convert the LaTeX files to PDF online instead.

Where is the result?

The final curriculum PDF is on my Elsewhere page: joaovictornsv-curriculum.pdf.

Conclusion

In summary, the workflow is simple:

  1. Run /add-experience, provide the text, and answer the AI's questions
  2. Call /refresh-curriculum, and validate the changes
  3. Use /to-latex, convert the output files to PDF online, and download them

In less than 10 minutes, the work is done.

This project is highly customized. If you are not a developer, you can still adapt the idea for your own purpose.

I have not versioned this setup. It lives in my private vault (I wrote about that in my last post). If you want a copy, get in touch.

Hope this post is useful for you.

See you next time!