data/ directory. Each file exports typed arrays that feed directly into the portfolio’s components — no configuration files, no CMS. Update the TypeScript source and your changes are reflected immediately.
Update your experience and education
Edit
data/experience.ts to reflect your own education and work history.experience.ts
The file exports two separate arrays:educations and experiences. Both use the same TimelineItem interface.
TimelineItem interface
Field reference
| Field | Required | Description |
|---|---|---|
title | Yes | The job title or degree name |
sub_title | Yes | Employer or educational institution |
years | Yes | Any string — "2024 - Present", "2022", etc. |
details | Yes | A sentence or two describing the role |
japanese | No | Short Japanese label shown in serif font on the card |
Example entries
educations[] and experiences[] are rendered in separate timeline sections on the page. Keep them in separate arrays — do not merge them into one.projects.ts
Projects are displayed in the Works section as a responsive card grid. Each card shows the image, Japanese label, description, tech tags, and links.Project interface
Field reference
| Field | Required | Description |
|---|---|---|
title | Yes | The project name |
japanese | Yes | Short Japanese description shown below the title |
description | Yes | Plain text summary |
image | Yes | Import your image as a static asset (.avif, .webp, .png) |
tags | Yes | Array of technology strings |
github | Yes | Full URL or "#" if the repo is private |
demo | Yes | Full URL to the live deployment |
Example entries
Adding a project image
Place your image
Copy your screenshot or thumbnail to
public/images/projects/. Prefer .avif for the smallest file size, but .webp, .jpg, and .png all work.skills.ts
Skills are displayed in the Habilidades section as a six-card grid. Each card has an icon, a title, a Japanese subtitle, and a list of technologies.Skill interface
Field reference
| Field | Required | Description |
|---|---|---|
icon | Yes | A LucideIcon — pass the component reference, not <Icon /> |
title | Yes | The English category name |
japanese | Yes | Katakana or kanji label |
techs | Yes | Array of technology/tool names |
Example entry
Available Lucide icons
The following icons are already used in the file and are a good starting point. Any icon from the lucide-react package can be used.| Import name | Visual |
|---|---|
CodeXml | Code brackets / frontend |
Server | Server rack / backend |
Database | Cylinder / databases |
Palette | Artist palette / design |
GitBranch | Git branch / version control |
Wrench | Wrench / tooling |
socials.ts
Social links appear in the contact section and hero area. Each entry links out to a social profile with a custom image icon.SocialLink interface
Example
Adding a new social network
Theming
Customize colors, fonts, and dark mode
Japanese Patterns
Apply traditional Japanese background patterns
