Skip to main content

Experience

Represents a single work experience entry.
export type Experience = {
  id: string;
  company: string;
  position: string;
  location: string;
  startDate: string;
  endDate: string;
  current: boolean;
  description: string;
};

Fields

id
string
required
Unique identifier for the experience entry (generated with crypto.randomUUID())
company
string
required
Name of the company or organization
position
string
required
Job title or role
location
string
required
Geographic location of the position
startDate
string
required
Start date of employment (typically formatted as MM/YYYY)
endDate
string
required
End date of employment (typically formatted as MM/YYYY or “Present”)
current
boolean
required
Whether this is your current position
description
string
required
Detailed description of responsibilities and achievements

Education

Represents a single education entry.
export type Education = {
  id: string;
  school: string;
  degree: string;
  field: string;
  startDate: string;
  endDate: string;
  description: string;
};

Fields

id
string
required
Unique identifier for the education entry
school
string
required
Name of the educational institution
degree
string
required
Type of degree (e.g., “Bachelor of Science”, “Master of Arts”)
field
string
required
Field of study or major
startDate
string
required
Year started (typically formatted as YYYY)
endDate
string
required
Year completed or expected completion (typically formatted as YYYY)
description
string
required
Additional details like relevant coursework, honors, GPA, etc.

Skill

Represents a single skill.
export type Skill = {
  id: string;
  name: string;
  level?: string;
  category?: string;
};

Fields

id
string
required
Unique identifier for the skill
name
string
required
Name of the skill (e.g., “React”, “Python”, “Project Management”)
level
string
Proficiency level (e.g., “Beginner”, “Intermediate”, “Expert”)
category
string
Skill category for grouping (e.g., “Frontend”, “Backend”, “Tools”)

Project

Represents a single project entry.
export type Project = {
  id: string;
  name: string;
  description: string;
  githubUrl: string;
  liveUrl: string;
  technologies: string[];
};

Fields

id
string
required
Unique identifier for the project
name
string
required
Name of the project
description
string
required
Detailed description of the project and your role
githubUrl
string
required
URL to the project’s GitHub repository
liveUrl
string
required
URL to the live deployment or demo
technologies
string[]
required
Array of technologies used in the project

CustomSection

Represents a custom section you can add to your resume.
export type CustomSection = {
  id: string;
  title: string;
  items: CustomSectionItem[];
};

Fields

id
string
required
Unique identifier for the custom section
title
string
required
Title of the custom section (e.g., “Certifications”, “Publications”)
items
CustomSectionItem[]
required
Array of items in this custom section

CustomSectionItem

Represents a single item within a custom section.
export type CustomSectionItem = {
  id: string;
  title: string;
  subtitle: string;
  startDate: string;
  endDate: string;
  description: string;
};

Fields

id
string
required
Unique identifier for the item
title
string
required
Main title of the item (e.g., certification name, publication title)
subtitle
string
required
Secondary information (e.g., issuing organization, publisher)
startDate
string
required
Start date or issue date
endDate
string
required
End date or expiration date
description
string
required
Additional details about the item

Build docs developers (and LLMs) love