Writing

I write about software engineering, indie-hacking, learning, and personal growth.

Why I'm Starting To Write Online Again (And I'm Taking It Seriously This Time)

I stopped buying ebooks

Notes on Aurelius' launch

Automating my Tmux workflow using smug

Ambitious Projects

The Final Countdown

Streamlining Go + Chi Development: generating code from an OpenAPI spec

Are local-first apps the future?

Moving a little bit away from JS land

Remix is great for local-first apps

Reviving Aurelius

All my side projects are dead

Just use a server

The ephemeral nature of closed-source software

I'm using Linear to accomplish my 2024 goals

How I pick what books to read

Hello, 2024

On Cocoon — a mind-bending puzzle game

Vim Adventures: Final Part

Using Planetscale with Prisma in a Remix app

The NPM package stack for 2023

Vim Adventures, Part 2

I built a component library

Hello, 2023!

Why I like Remix

I used GitHub Copilot for a month

Diving deeper into Remix Stacks

Vim Adventures

Forget git stash and use git worktrees instead

Learning Go and saving Rust for later

Writing layouts for time.Parse in Go

Learning TypeScript by building stuff

Running on fumes

Using Planetscale in a Next.js app with Prisma

Exploring Remix Stacks

Setting up a terminal you will love to use

My Tech Stack has changed for 2022

Writing an interpreter in Rust

Technologies I'm learning in 2022

Overcoming anxiety and launching early

Rust's Ownership Model: A Primer

Metawork

How do you write software for space?

How to add Stripe subscriptions to your Next.js application

JavaScript's Temporal API fixes problems with the Date API

Learning by building Breakable Toys

The ongoing climb to be a writer

Learning Rust as a JavaScript Developer

Serving a Next.js application over HTTPS in localhost

My Linux web development workflow

All the things you can do with Javascript optional chaining

Rapid web development with Next.js, ChakraUI, and MongoDB

Supercharging data fetching in React with SWR

Creating a lightweight widget in Preact

Running Node.js natively in the browser

Getting started in Terraform

Production-grade AWS architecture [Part 1]: Services

Getting started with TailwindCSS

Production-grade AWS architecture [Part 4]: Networking

3 signs of entropy in your codebase that shouldn't be ignored

Production-grade AWS architecture [Part 3]: Monoliths vs Microservices

Production-grade AWS architecture [Part 2]: First Steps