This page is a high-level overview of this website and how it works.

Fundamentals

This website is built using the ⟐ Astro framework. It is custom-built, primarily by hand, though increasingly with ⟐ Claude Code to develop more complex features.

The text across the site is typeset in system font stack to be readable across all operating systems and devices.

The styling of the site is primarily driven by ⟐ shadcnui. It is inspired heavily by apps like Linear and ⟐ Obsidian.

The site is deployed to ⟐ Cloudflare Workers, using the built-in build system provided by Cloudflare. It is pushed to GitHub, which triggers a validation and build layer before serving the static assets on Cloudflare’s network.

The search in this site is semantic. It uses Cloudflare Vectorize to store a series of embedding vectors representing each published page on this website, and exposes an endpoint for searching those vectors and comparing them to a search query. This type of semantic search allows you to go beyond traditional exact match queries and search conceptually similiar things - for instance, if I search “speak”, it will pull up a reference to ⟐ my blog post on voice and LLMs, because “voice” and “speak” exist in the same space.

The frontend of this search is powered by the cmd+k library.

My research

This website began as a blog, but has evolved to become my research notebook. Under the hood, it uses Obsidian (⟐ Obsidian is my website). I have hundreds of notes in my Obsidian vault, and the ones I want to publish to my site get marked as published: true, and ingested into the build pipeline.

I’ll write more on how this works soon - it wasn’t the easiest thing to set up, but it’s been really fun now that I have it working. It serves the dual purpose of making me more likely to work on my website, by capture my thoughts to share publicly, as well as encouraging me to spend more time in Obsidian and document my thought process instead of getting wrapped up in work.