ASTROTYPESCRIPTRENDER AstroTypescript

The site you’re browsing right now. A minimal, hand-crafted portfolio designed to showcase my work and personality—built entirely without generic templates or bloated UI frameworks.

Why Astro?

I chose Astro for a few highly practical reasons: it ships zero JavaScript by default, natively supports content collections, and allows me to write components with scoped styles without needing a full frontend framework. Because the entire site is statically generated at build time, it delivers blazing-fast page loads and a remarkably simple deployment pipeline.

Architecture

This site relies on a straightforward Static Site Generation (SSG) architecture. There are no client-side routers, no single-page app (SPA) transitions, and no hydrated framework components. Every page is pure, pre-rendered HTML with heavily scoped CSS.

Content is driven by Astro’s content collections. Blog posts and projects live as simple Markdown files with strictly typed frontmatter schemas. This creates a frictionless authoring workflow: write the Markdown, define the metadata in YAML, and let the build pipeline handle the rest.

Project Structure

src/
├── components/       # Reusable UI — Nav, Footer, PageHeader, WorkRow, etc.
├── content/
│   ├── blog/         # Blog posts as .md files
│   └── project/      # Project entries as .md files
├── layouts/          # Base Layout wrapper (meta, fonts, global structure)
├── pages/            # Route definitions — index, work, blog + dynamic [slug] routes
│   ├── blog/
│   └── work/
└── styles/           # Global CSS — variables, typography, utilities

Stack

Design Philosophy

No UI libraries. No pre-built component kits. Every element is meticulously hand-written to match a highly specific visual identity: dark backgrounds, monospaced accents, uppercase typography, and a data-driven aesthetic inspired by terminal interfaces and engineering dashboards.

The ultimate goal was to build a space that felt distinctly mine, rather than just another reskinned template.