---
title: "Resume with Notion and Python"
slug: notion_latex_resume
canonical_url: https://nerdymomocat.github.io/posts/notion_latex_resume/
collection: Notes
published_at: 2023-05-03T00:00:00.000Z
updated_at: 2025-02-11T00:00:00.000Z
tags: 
  - Python
  - "Mini Automation"
  - Notion
  - Academia
  - Resources
excerpt: "LaTeX templates ftw!"
author: "Nerdy Momo Cat"
---

## Navigation Context

- Canonical URL: https://nerdymomocat.github.io/posts/notion_latex_resume/
- You are here: Home > Posts > Notes > Resume with Notion and Python

### Useful Next Links
- [Home](https://nerdymomocat.github.io/)
- [Bundles](https://nerdymomocat.github.io/collections/bundles/)
- [Logbook](https://nerdymomocat.github.io/collections/logbook/)
- [Notes](https://nerdymomocat.github.io/collections/notes/)
- [Stream](https://nerdymomocat.github.io/collections/stream/)

### Related Content

#### Pages That Mention This Page
- [Code and Snippets](https://nerdymomocat.github.io/posts/code-and-snippets/)
- [Notion Tips, Tricks and FAQs](https://nerdymomocat.github.io/posts/notion-tips-tricks-and-faqs/)

![](https://nerdymomocat.github.io/_astro/info-alternate_gray.xE4Ugu2z_Z1EYdWV.svg)

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](https://nerdymomocat-shortened-url.vercel.app/notion_latex_resume_template), this [replit project](https://nerdymomocat-shortened-url.vercel.app/notion_latex_resume_replit_code) or this [github project](https://nerdymomocat-shortened-url.vercel.app/notion_latex_resume_github_code) if you want to run it locally.

[![Example generated resume image](https://nerdymomocat.github.io/_astro/image6.BBd01Avw_Z1qzVWh.webp)](https://nerdymomocat.github.io/_astro/image6.BBd01Avw_Z1qzVWh.webp)

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](https://www.overleaf.com/latex/templates/deedy-cv/bjryvfsjdyxz): modified to be rendered as a single column resume.

[![Template folder](https://nerdymomocat.github.io/_astro/image3.D9pIOKmI_Z1lnkzu.webp)](https://nerdymomocat.github.io/_astro/image3.D9pIOKmI_Z1lnkzu.webp)

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)](https://nerdymomocat.github.io/_astro/image.CsTetxvk_1DPA13.webp)](https://nerdymomocat.github.io/_astro/image.CsTetxvk_1DPA13.webp)

The resume information (MEOW| Resume Database)

[![The resume structure (MEOW| Resume Database Formatting)](https://nerdymomocat.github.io/_astro/image2.D6ajS4sC_Z1ymhkd.webp)](https://nerdymomocat.github.io/_astro/image2.D6ajS4sC_Z1ymhkd.webp)

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](https://nerdymomocat.github.io/_astro/image7.C3SCYi0Q_Z1CLiyd.webp)](https://nerdymomocat.github.io/_astro/image7.C3SCYi0Q_Z1CLiyd.webp)

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](https://nerdymomocat.github.io/_astro/image9.k9LV8nk2_ZK9X4z.webp)](https://nerdymomocat.github.io/_astro/image9.k9LV8nk2_ZK9X4z.webp)

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](https://nerdymomocat.github.io/_astro/image4.K4Achi4K_Z1CtUSU.webp)](https://nerdymomocat.github.io/_astro/image4.K4Achi4K_Z1CtUSU.webp)

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](https://nerdymomocat.github.io/_astro/image8.DHAqhKo9_X2JS0.webp)](https://nerdymomocat.github.io/_astro/image8.DHAqhKo9_X2JS0.webp)

New information addition buttons

[![Pre-filled information in new information addition buttons](https://nerdymomocat.github.io/_astro/image5.q0lS3qyA_ZXKcol.webp)](https://nerdymomocat.github.io/_astro/image5.q0lS3qyA_ZXKcol.webp)

Pre-filled information in new information addition buttons

[![Example of newly add information using addition buttons](https://nerdymomocat.github.io/_astro/image12.D9BT8QVb_1s56Sy.webp)](https://nerdymomocat.github.io/_astro/image12.D9BT8QVb_1s56Sy.webp)

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](https://nerdymomocat.github.io/_astro/image11.IK-FiKfE_26D9wR.webp)](https://nerdymomocat.github.io/_astro/image11.IK-FiKfE_26D9wR.webp)

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](https://nerdymomocat.github.io/_astro/image10.CtyfhZ4h_1AUNCy.webp)](https://nerdymomocat.github.io/_astro/image10.CtyfhZ4h_1AUNCy.webp)

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.

[](https://nerdymomocat.github.io/notion/b933f8f4-0cfc-413e-86d9-460d7fddfd56/notion_latex_resume_video.mp4) Your browser does not support the video tag.

Generation example video

* * *

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

[Feed my software & bakery addiction @  ![Buy Me a Coffee at ko-fi.com](https://storage.ko-fi.com/cdn/brandasset/logo_white_stroke.png)](https://ko-fi.com/nerdymomocat)