Atridad 1ffac7f118
All checks were successful
Docker Deploy / build-and-push (push) Successful in 3m48s
README Updates
2025-06-30 14:27:56 -06:00
2025-05-17 22:42:48 -06:00
2025-06-26 23:41:29 -06:00
2025-06-30 14:20:06 -06:00
2025-05-17 22:42:48 -06:00
2025-06-30 14:16:35 -06:00
2025-06-30 14:27:56 -06:00
2025-05-17 22:42:48 -06:00

Personal Website

My personal website built with Astro and Preact!

Features

  • Resume
  • Blog Posts
  • Projects
  • Talks
  • Terminal View

** Nix shell is required for local development! Install it on your OS of choice OR use NixOS!

Development

# Install dependencies
pnpm i

# Start development server
pnpm shell # Enter nix-shell
pnpm dev

# Build for production
pnpm build

Resume Configuration

The resume system supports multiple sections that can be enabled, disabled, and customized.

Available Resume Sections

Section Required Fields
basics name, email, profiles
summary content
experience company, position, location, date, description
education institution, degree, field, date
skills name, level (1-5)
volunteer organization, position, date
awards title, organization, date
profiles network, username, url

Section Configuration

Each section can be configured in src/config/data.ts:

export const resumeConfig: ResumeConfig = {
  tomlFile: "/files/resume.toml",
  layout: {
    leftColumn: ["experience", "volunteer", "awards"],
    rightColumn: ["skills", "education"],
  },
  sections: {
    summary: {
      title: "Professional Summary",
      enabled: true,
    },
    experience: {
      title: "Work Experience",
      enabled: true,
    },
    awards: {
      title: "Awards & Recognition",
      enabled: true,
    },
    // ... other sections
  },
};

Layout Configuration

The resume layout is fully customizable. You can control which sections appear in which column and their order:

layout: {
  leftColumn: ["experience", "volunteer", "awards"],
  rightColumn: ["skills", "education"],
}

Available sections for layout:

  • experience - Work experience
  • education - Educational background
  • skills - Technical and professional skills
  • volunteer - Volunteer work
  • awards - Awards and recognition

Layout Rules:

  • Sections can be placed in either column
  • Order within each column is determined by array order
  • Missing sections are automatically excluded
  • The summary section always appears at the top (full width)
  • The profiles section appears in the header area

Example Layouts:

Skills-focused layout:

layout: {
  leftColumn: ["skills", "education"],
  rightColumn: ["experience", "awards", "volunteer"],
}

Experience-heavy layout:

layout: {
  leftColumn: ["experience"],
  rightColumn: ["skills", "education", "volunteer", "awards"],
}

Resume Data Format (TOML)

Create a resume.toml file in the public/files/ directory:

[basics]
name = "Your Name"
email = "your.email@example.com"

[[basics.profiles]]
network = "GitHub"
username = "yourusername"
url = "https://github.com/yourusername"

[[basics.profiles]]
network = "LinkedIn"
username = "yourname"
url = "https://linkedin.com/in/yourname"

[summary]
content = "Your professional summary here..."

[[experience]]
company = "Company Name"
position = "Job Title"
location = "City, State"
date = "2020 - Present"
description = [
  "Achievement or responsibility 1",
  "Achievement or responsibility 2"
]
url = "https://company.com"

[[education]]
institution = "University Name"
degree = "Bachelor of Science"
field = "Computer Science"
date = "2016 - 2020"
details = [
  "Relevant coursework or achievements"
]

[[skills]]
name = "JavaScript"
level = 4

[[skills]]
name = "Python"
level = 5

[[volunteer]]
organization = "Organization Name"
position = "Volunteer Position"
date = "2019 - Present"

[[awards]]
title = "Award Title"
organization = "Awarding Organization"
date = "2023"
description = "Brief description of the award"
Description
No description provided
Readme 260 MiB
Languages
TypeScript 66.3%
Astro 28.5%
JavaScript 1.7%
CSS 1.4%
Nix 1.1%
Other 1%