b0nzi.exposed
This site. Astro, lime green, no tracking.
What it is
This site. The thing you’re reading.
A static personal site built in Astro 6, deployed on Cloudflare Pages, with content collections for writeups, posts, and projects. Self-hosted Iosevka, custom Shiki theme, CRT scanline overlay, full-page typewriter animation on the landing, glitchy 404, hover scramble on titles.
Why
I wanted a portfolio that shows engineering taste before anyone reads the resume. The aesthetic is deliberate (phosphor green, terminal session, no chrome). The build choices are deliberate (no analytics, no third-party fonts, locked-down CSP, A+ on securityheaders). A hiring manager who opens the page for five seconds should already know what kind of engineer I am.
Stack
- Framework: Astro 6, static output.
- Hosting: Cloudflare Pages, git-integrated auto-deploy on
main. - Typography: Iosevka, self-hosted, single weight (~960 KB Latin subset; could subset further later).
- Content: MDX in zod-validated collections.
- JS: vanilla, in
public/. No frameworks. CRT toggle, typewriter animation, Konami code, hover scramble. - CSS: hand-written, no preprocessor, design tokens as custom properties.
Decisions worth flagging
- Mono-green palette for v1 instead of multi-accent. Less is more here.
- Inline scripts moved to external
public/*.jsfiles soscript-srcstays'self'(no'unsafe-inline'). Cost me about an hour of pre-deploy CSP debugging. Worth it. - DOCS.md is ~700 lines because future-me needs to edit this site without LLM help.
What’s next
Per-project deep-dives (this is one of them, ironically), more writeups as I clear boxes on the OSCP track, the occasional post.
[YOU FILL THIS ONE IN — what surprised you about building this, or what you’d do differently if starting again. One sentence.]