skip to content
Site header image Nerdy Momo Cat

Resume with Notion and Python

LaTeX templates ftw!

Last Updated:

Table of contents

Make a Notion setup for a LaTex resume using Python and Replit. The template has two databases: resume info and structure. It has pre-filled buttons for easy info input and a modification block for changes. The resume has inline annotations and href for Notion links, no empty sections, and sorted entries.

Introduction

All you need: this notion template, this replit project or this github project if you want to run it locally.

Example generated resume image
Example generated resume image

How does it work?

Well, the notion template comes with a stylized file for latex. You can use it in your own system, or upload the zip to overleaf.

It is based off a very popular template by Deedy: modified to be rendered as a single column resume.

Template folder
Template folder

See that resume_generated.tex file?

That is the one we would be generating anytime we need to update our resume.

Setup

Oops! I got ahead of myself.

Notion Setup

Let’s first talk about the template itself.

It consists of 2 databases:

The resume information (MEOW| Resume Database)
The resume information (MEOW| Resume Database)
The resume structure (MEOW| Resume Database Formatting)
The resume structure (MEOW| Resume Database Formatting)

What do they do?

MEOW| Resume Database Formatting Database tells you which sections there are.

It has just 7 properties: - Name (name of the section) - Sort By (time end or start) - Sort Direction (ascending or descending) - Rank (Order in which you want sections) - Item Format (Individual item formats) - Section Format (Start and end of section formatting) - MEOW| Resume Database (Related resume items/entries)

Items are placed inside section format using NP:Items.

Item Properties inside the format are referred by NP:Property_Name

How Items and Property Names are used for formatting
How Items and Property Names are used for formatting

MEOW| Resume Database includes each item. It only has 9 properties.

  • Name
  • URL
  • People
  • Organization
  • Time (Can be date, year, range)
  • Comments
  • Status
  • Geographic Location
  • MEOW| Resume Database Formatting (Section the item belongs to)
Properties in the MEOW| Resume Database
Properties in the MEOW| Resume Database

Any of the text properties in the free text can have linked urls, bold or italics and it is rendered equivalently in LaTeX.

Add One-Time Information

Adding information is super-duper easy.

The template comes with buttons for one time addition of basics.

One time addition buttons
One time addition buttons

It also has an add new information callout with pre-added buttons that you can just add as a synced block to your dashboard that you open everyday.

The buttons come with a ton of pre-filled information and pointers of things you need to add/replace to make it easy.

New information addition buttons
New information addition buttons
Pre-filled information in new information addition buttons
Pre-filled information in new information addition buttons
Example of newly add information using addition buttons
Example of newly add information using addition buttons

Make Modifications

The template also includes a modification block.

A submitted paper got accepted? A submitted grant got accepted? A student graduated?

Handle it through the modify callout. Remember to add this as a synced block to your workspace too.

Example of modify callout
Example of modify callout

Replit Setup

Then you go to the repl.

Fill in the value for these secrets. (Remember to share your template page in your workspace with the notion integration key)

Secret environment variables in replit
Secret environment variables in replit

Generate

And click run!

And voila. It generates the resume_generated.tex

It automatically takes care of a few things - Adds inline annotations to match notion - Adds href when there are links in notion - Does not add empty sections - Sorts entries in a section.

Generation example video

If you end up using the resume generator, please consider buying me a coffee here: