Resume Schema

Technical reference for the Master Profile and Resume data structures.

Resume Schema

VeriWorkly utilizes a standardized, type-safe schema to represent professional data across the entire ecosystem. This schema ensures consistency between the local-first store, the synchronization engine, and the dual-engine rendering pipeline.


The Master Profile

The MasterProfile is the core data structure that stores a user's complete professional history. It is designed to be a "Source of Truth" from which individual resumes are derived.

Core Interface

export interface MasterProfileData {
  basics: ResumeBasics;
  links: ResumeLinks;
  summary: string;
  experience: ResumeExperienceItem[];
  education: ResumeEducationItem[];
  projects: ResumeProjectItem[];
  skills: ResumeSkillGroup[];
  sections: ResumeSection[];
  customization: ResumeCustomization;
  // ... extended sections
}

Detailed Section Schemas

Manages personal identity and digital presence.

export interface ResumeBasics {
  fullName: string;
  role: string;
  headline: string;
  email: string;
  phone: string;
  location: string;
}

export interface ResumeLinkItem {
  id: string;
  type: "github" | "linkedin" | "portfolio" | "custom" | string;
  label: string;
  url: string;
}

2. Professional Experience

Represents a single career milestone.

export interface ResumeExperienceItem {
  id: string;
  company: string;
  role: string;
  location: string;
  startDate: string; // ISO format
  endDate: string; // ISO format or empty
  current: boolean;
  summary: string; // Rich text or markdown
  highlights: string[];
}

3. Education & Projects

Academic background and personal initiatives.

export interface ResumeEducationItem {
  school: string;
  degree: string;
  field: string;
  startDate: string;
  endDate: string;
}

export interface ResumeProjectItem {
  name: string;
  role: string;
  link: string;
  summary: string;
  highlights: string[];
}

Customization Engine

The ResumeCustomization interface defines the visual parameters utilized by both the Web and PDF rendering engines.

PropertyTypeDescription
fontFamilystringThe primary typeface for the document.
accentColorstringHEX code for headings and interactive elements.
sectionSpacingnumberVertical gap between major resume blocks.
pagePaddingnumberInner margins for the document container.
bodyLineHeightnumberTypographic line-height for body text.

Source Code Reference

The full TypeScript definitions for the resume schema can be explored on GitHub: apps/studio/types/resume.ts

On this page

Edit on GitHub