Personal portfolio built with Astro and Tailwind CSS.
- Astro
- Tailwind CSS
- TypeScript
- Astro Content Collections
- Kaplay for the hidden arcade experience
- English and Spanish localized routes
- Content-driven sections for personal info, projects, and work experience
- Theme switching
- Secret Lab command palette
- Hidden arcade mode and BLACKBOX interaction layer
src/
├── components/
│ ├── secret-lab/
│ └── *.astro
├── content/
│ ├── personal/
│ ├── projects/
│ └── work/
├── i18n/
├── layouts/
├── pages/
└── scripts/
yarn dev: start the local development serveryarn build: runastro checkand build the static siteyarn preview: preview the production buildyarn astro ...: run Astro CLI commands directly
Content is stored in Markdown files under src/content:
personal: role, education, and biographyprojects: title, url, tech stack, image, and body copywork: role, company, dates, location, achievements, responsibilities, skills, and body copy
Schemas are defined in src/content/config.ts.
- Default page:
/ - English page:
/en/ - Spanish page:
/es/
Translations live in src/i18n/en.json and src/i18n/es.json.
- The site is generated as a static Astro build.
- The Secret Lab arcade code is lazy-loaded when the feature is opened.