I’m a software developer based in Seattle, with a background in infrastructure automation and CI/CD systems. My expertise lies in SRE and DevOps, and I enjoy exploring ways to improve operational capabilities. In my free time, I do various activities like programming, cooking, and building furniture and tools for my home, to continually improve my creative and technical skills.

This Site

I created this site to share my culinary techniques and recipes with others who also appreciate cooking and maker culture. Unlike other recipe sites designed primarily for SEO purposes or to try to sell newsletter subscriptions, this site is focused on providing high-quality recipes and methods without that nonsense..

The recipes featured on this site are ones that I’ve made multiple times and want to recreate. I’ve simplified the steps as much as possible while still offering tips to make each recipe truly great. Whenever I discover a new recipe that I really enjoy, I add it to the site.

The site is built with Sveltekit in TypeScript, Tailwindcss, MDSveX, and Lunr. Currently it’s hosted on Vercel, but I’m considering moving the frontend to a commodity VPS that runs the Pocketbase backend.

This is the fourth iteration of my site, with each version introducing significant improvements. I started with Jekyll, a reliable default option since it’s used by Github. Then I moved to Hugo, which offered faster development speed and an improved overall experience. Discovering Svelte was a game-changer, as it embraces the fundamental building blocks of HTML, CSS, and JavaScript, setting it apart from other frameworks that attempt to obscure the platform.

Svelte and Sveltekit deliver a superior developer experience, while also enabling me to create interactive components that are incredibly lightweight. Additionally, they are much easier to work with compared to technologies like Next and React. I prefer not to deal with the full complexity of GraphQL just for fun.

The payoff is I can embed components like the one below at a very low cost. This example component weighs less than 7kb in total, and the implementation is relatively readable.