This is part of my Return Statement for my Fall ‘24 batch at The Recurse Center (RC). I’ve split it out into multiple parts for better linking and structure. I’ve already written about what I made at RC. The final post is full of my advice to make the most of your time at Recurse.

Post cover


After my startup experience with Bountyful AI, I needed some time to recalibrate my interests and figure out my next steps. I decided to fulfil my long-held ambition to join the Recurse Center (RC).

The Recurse Center is a retreat where curious programmers recharge and grow.

I’ve written over a dozen posts on the experience, including weekly updates. This post, in the tradition of Recurse “return statements,” is a review of my plans for RC, how it played out, and how I grew. I’ve collected my RC projects and RC advice 1 in other posts.

Goals and plans

Back in August 2024, as I was about to begin my batch, I published my goals and plan:

By the end of RC, I’d like to have overcome some of my skill issues, made interesting new friends, and expanded my comfort zone.

I planned to divide my efforts into three main areas:

  1. Further exploration of my hunches about AI-driven bioinformatics.
  2. Improving my abilities in systems languages (C, Rust, etc.), high-performance simulation and graphics, and lean web development.
  3. Working with other Recursers on weird and fun projects.

How I progressed

Over the 12 weeks, I focused mainly on games, browser graphics (WebGL, Three.js), machine learning (particularly LLMs), Rust, and building command-line tools.

I spent about 40% of my time shipping code, 30% of my time writing (weeknotes, essays, project posts, and Zulip updates), and the remaining 30% exploring and learning with other Recursers.

I worked hard to maintain this balance and I think this is close to the ideal ratio overall, though it varies hugely day-to-day.

New skills and experience I developed

  • Learning generously (one of RC’s self-directives). In my case, this involved writing a lot and participating actively in many different interest groups.
  • Proficiency in Three.js, WebGL, and writing shader art.
  • General vanilla JavaScript development, as well as build systems (e.g. Vite)
  • Learned Rust from scratch by reading the first 8 chapters of the book, then working through Rustlings in tandem with chapters 9-13, then diving into real projects (using Rust by Example for reference patterns). I also participated in some groups discussion and did some pairing.

But mainly, I just wrote a lot of code and words every day and shipped it.

What I was involved in

  • Neural Networks: Zero to Hero group, where we worked through the entire Andrej Karpathy course on building neural networks from scratch in 6 weeks.
  • Helped start and host AI “Paper Cuts” where we went deep on the most impactful deep learning papers of the past 8 years.
    • Week 1: “Attention is All You Need” (Transformers)
    • Week 2: CLIP model
    • Week 3: Stable Diffusion
    • Week 4: Denoising Diffusion Probabilistic Models (DDPM)
    • Week 5: AlphaGo/AlphaZero/MuZero series
  • Participated in Creative Coding each week (including spontaneously hosting a few sessions). This was undoubtedly one of my highlights of Recurse.
  • Graphics Study Group
    • Worked through and discussed The Book of Shaders
    • Paired on Liam’s 3D rasterizer (written in Rust)
  • Game Dev group
    • Organised and participated in two week-long Game Jams
    • Weekly show-and-tell sessions and workshopping our ideas, mechanics, and implementations
    • Another highlight of Recurse for me
  • Operating Systems group
    • Deep dives into topics like dynamic vs static linking
    • Mostly just listened in and picked up on vibes
  • Rust study group
    • Group discussions for both newbies and veteran Rustaceans
    • Some pair-programming sessions
  • Attending weekly presentations. This is a great way to keep up with what everyone is up to in the batch and to learn.
  • Dropping in to various random one-off topic groups and weekly hangouts.

What I wish I had done differently

I don’t have major regrets. Overall, I had a fantastic experience at Recurse – learning, having fun with new friends, and achieving many of my goals.

I do, however, wish I had managed to do the last week or two of my batch in-person at the Brooklyn Hub. I had planned to, but got bogged down in the logistics admin and ran out of time. I still intend to drop by and visit when I’m next in town.

Whilst RC is undoubtedly one of the best hybrid experiences you’ll ever be lucky enough to have, I do have a lot of FOMO for the energy, laughter, and cool computer gadgets that the Hub is packed with.

I also would have liked to do more structured presentations. I had Creative Coding projects to demo each week and two Game Jam games to show off, but never did a proper structured talk. I was “saving” this to do in-person, but missed out. I’d still like to someday, as a visiting alumnus.


Thanks to the whole Recurse faculty for all the great work you do to make RC a fun, productive, and incredibly welcoming environment. Few places can simultaneously push people to do impossible things and cultivate such an all-permeating sense of intellectual safety and curiosity. It’s all the things most oddballs like me really wish school could have been and I’m deeply grateful to have experienced it.

  1. If you’re soon starting at Recurse, I wish you well and hope you have as good a time as I did!
  2. If you’re thinking of applying, you absolutely should!
  3. And if you’re looking to hire talented, versatile, and self-driven programmers, reach out to the Recurse talent team. Few organisations have such an impressive and well-vetted talent pool to draw from.

Thanks for reading! If you’re interested in any of my projects, working with me, applying to Recurse, etc. then please do reach out on X, Bluesky, or by email. If you think other people might like to read this or any of my other posts, I’d appreciate you sharing it with them directly or via social media.


  1. Putting the finishing touches on this… ↩︎