A customizable resume/CV template focusing on clean and concise presentation, with a touch of color.
This template is available on typst Universe!
To compile this project you need the following:
Build the document once with
typst compile main.typBuild the document whenever you save changes by running
typst watch main.typThe following code provides a minimum working example:
#import "@preview/modern-resume:1.0.0": *
#show: modern-resume.with(
author: "John Doe", // Optional parameter
job-title: "Data Scientist", // Optional parameter
bio: lorem(5), // Optional parameter
avatar: image("avatar.png"), // Optional parameter
contact-options: ( // All entries are optional
email: link("mailto:[email protected]")[john.doe\@gmail.com],
mobile: "+43 1234 5678",
location: "Austria",
linkedin: link("https://www.linkedin.com/in/jdoe")[linkedin/jdoe],
github: link("https://github.com/jdoe")[github.com/jdoe],
website: link("https://jdoe.dev")[jdoe.dev],
),
// Optional custom theme
theme: (
primary: rgb("#313C4E"),
secondary: rgb("#222A33"),
accentColor: rgb("#449399"),
textPrimary: rgb("#000000"),
textSecondary: rgb("#7C7C7C"),
textMuted: rgb("#ffffff"),
),
)
== Education
#experience(
title: "Master's degree",
subtitle: "University of Sciences",
task-description: [
- Short summary of the most important courses
- Explanation of master thesis topic
],
date-from: "10/2021",
date-to: "07/2023",
label: "Courses",
)
// More content goes here
See main.typ for a full example that showcases all available elements.
Example outputs for different color palettes:
| Default colors | Pink colors |
|---|---|
![]() |
![]() |
The template allows you to make it yours by defining a custom color palette.
You can create and pass your own theme dictionary to the modern-resume function:
// Define a custom theme once
#let custom-theme = (
primary: rgb("#ffc0cb"), // Pink background for header
secondary: rgb("#222A33"), // Dark background for contact info
accentColor: rgb("#449399"), // Accent color for headings and details
textPrimary: rgb("#000000"), // Primary text color
textSecondary: rgb("#7C7C7C"),// Secondary text color
textMuted: rgb("#ffffff"), // Text color for elements on dark background
)
// Use it in the main resume function
#show: modern-resume.with(
// ... other parameters
theme: custom-theme,
)
// And reuse it in individual components for consistency
#experience(
// ... parameters
theme: custom-theme,
)
#project(
// ... parameters
theme: custom-theme,
)
#pill("Skill", theme: custom-theme)If you don't specify a theme, the default theme will be used.
All components accept a theme parameter that allows you to customize their appearance.
This section introduces the visual elements that are part of this template.
Import this element from the template module with pill.
#pill("German (native)")
#pill("English (C1)")
// With custom theme
#pill("German (native)", theme: custom-theme)#pill("Teamwork", fill: true)
#pill("Critical thinking", fill: true)
// With custom theme
#pill("Problem solving", fill: true, theme: custom-theme)Import the experience element from the template module with experience.
#experience(
title: "Master's degree",
subtitle: "University of Sciences",
task-description: [
- Short summary of the most important courses
- Explanation of master thesis topic
],
date-from: "10/2021",
date-to: "07/2023",
label: "Courses",
)
// With custom theme
#experience(
title: "Master's degree",
subtitle: "University of Sciences",
task-description: [
- Short summary of the most important courses
- Explanation of master thesis topic
],
date-from: "10/2021",
date-to: "07/2023",
label: "Courses",
theme: custom-theme,
)#experience(
title: "Full Stack Software Engineer",
subtitle: [#link("https://www.google.com")[Some IT Company]],
facility-description: "Company operating in sector XY",
task-description: [
- Short summary of your responsibilities
],
date-from: "09/2018",
date-to: "07/2021",
label: "Achievements/Tasks",
)
// With custom theme
#experience(
title: "Full Stack Software Engineer",
subtitle: [#link("https://www.google.com")[Some IT Company]],
facility-description: "Company operating in sector XY",
task-description: [
- Short summary of your responsibilities
],
date-from: "09/2018",
date-to: "07/2021",
label: "Achievements/Tasks",
theme: custom-theme,
)Import this element from the template module with project.
#project(
title: "Project 2",
subtitle: "Data Visualization, Data Engineering",
description: [
- #lorem(20)
],
date-from: "08/2022",
date-to: "09/2022",
)
// With custom theme
#project(
title: "Project 2",
subtitle: "Data Visualization, Data Engineering",
description: [
- #lorem(20)
],
date-from: "08/2022",
date-to: "09/2022",
theme: custom-theme,
)Run the tests with
typst compile tests/test_lib.typ --root .or with
nix flake checkThis project would not be what it is without:
- Font Awesome Free | providing the icons






