Visit homepage



I’m Pete. I am a programmer who likes to design and write. Right now I’m a founding engineer at Membrane, making it easier to write your own internal tools in TypeScript.

I used to work at SeedFi (and then Credit Karma via acquisition) helping Americans build credit and savings. I write Rust and TypeScript for my day job, and I love frontend Web tech. I also keep a list of things I'd like to learn.

My digital garden

This website is a digital garden, which is a bit different than a blog where each post is a “finished” work ready for public eyes. Instead, writing is made public early on while it’s still being cultivated and growing. I owe most of my gardening inspiration to Maggie Appleton for her amazing digital garden and essay on its history and ethos. Major credit also goes to Swyx for pushing the learn in public philosophy.

All my garden code is public. I cover my tech stack in the readme.

My garden is organized by writing formats and statuses, aka growth stages. I have six writing formats:

  • Essays: long-form pieces that I’ve usually been thinking about for a while. They are typically less technical and more opinionated than a Show ’n tell
  • Brainstorms: raw thought streams that I initially wrote down without Internet connection, followed by a debrief answering my questions and pointing out where I was right or wrong. This is an experimental (and vulnerable 😅) format that I came up with while downloading a map on a hiking trip
  • Show n’ tells: write-ups detailing how I built something. They aren’t quite as step-by-step and broadly applicable as a classic “tutorial”, and they are usually more technical with more code snippets than my Essays
  • TILs: stands for Today I Learned. TILs are small tidbits that I come across and jot down quickly. They may not connect to anything I’m currently working on, but if I think something is neat enough to share and stash away for later, I’ll write a TIL. Inspired by Josh Branchaud’s til repo
  • Notes: things I want to write about that don’t neatly fit into another category. A Note could be as small as a Tweet or could grow large enough to re-pot as an Essay
  • Clippings: email newsletters that I send every so often (max once per month). I write about what’s been on my mind and propagate a selection of things I’ve planted since the last clipping. You can sign up to receive clippings in the footer

Each piece of content also has a status, which I borrowed directly from Maggie A.:

  • Seedlings: young, unrefined ideas that I’ve just planted—or old, unrefined ideas that need watering. If I am a diligent, caring gardener, they’ll grow into Buddings and maybe even Evergreens
  • Buddings: maturing works that I have spent considerable time and energy cultivating but have not finished. They are teenagers who have outgrown their Seedling status and may someday grow into Evergreens
  • Evergreens: complete works that I have edited and published as a cohesive whole. They are similar to a traditional blog post published at a point in time in that way

I quite like metaphors, and I’ve spent considerable time brainstorming my own writing status metaphor to use in place of Maggie’s seedling/budding/evergreen. Some noteworthy candidates include puddle/lake/ocean, boulder/hill/mountain, raw/half-baked/golden-brown, and baby/teenager/adult.

As yet nothing resonates with me quite as much as the stages of plant growth—it is a garden, after all. Greenery evokes a positive feeling, and the metaphor stretches really well: I can water my plants (write), prune them (edit), give them some sun (think), or even re-pot (a TIL into an Essay, for example). If you are a metaphor nerd or digital gardener, send me an email to say hi and share your metaphors!