Paloma Kop

Navigation menu

Paloma Kop

Coding Retreat at Recurse Center

April 13, 2025

Illustrated hand emerging from a cloud holding the Recurse Center logo of a pixel-art computer

In February and March, I did a six-week programming retreat at Recurse Center. The way I've described this to people is that it's like an artist residency, but for coding (although you can also make code-based art!) Recurse Center, a.k.a. RC, has a revolving roster of participants who join a "batch" for six or twelve weeks. Every six weeks, some people start a batch, others finish one, and yet others continue on for another six weeks. One can participate in-person in Downtown Brooklyn, or remotely — or any combination of the two. (I did a combination so I could spend some time at home in New Haven, and some staying with friends in NYC).

Inspired by the open-ended learning methods of Unschooling, there is no formal curriculum. Instead, participants self-organize and pursue personal goals, while being encouraged to collaborate and discuss their projects. Everyone who joins a batch already has some programming experience, so it's up to you how you want to spend your time: you might focus on developing new skills or strengthening existing ones, or build a project that is useful or whimsical. I had interesting conversations every day with very excited and thoughtful people, which I think is one of the best ways to learn.

During my batch, I worked on two main projects:

Screenshot of The Lab site

The Lab - a new, text-adventure themed section of my website that houses various web-based experiments. I built it with Eleventy (the same static site generator I used to make this site!), and it includes an assortment of animations and interactive elements made with P5.js, Three.js, and fragment shaders.

🌐 Visit this link to explore it: https://lab.palomakop.tv

This project was really an excuse to just experiment and play with web-based media and see what happened. I included some elements that I created in pair programming sessions. I'm interested in playing around more with web-based animations and the <canvas> element; as experiment more in the future, I'll add more "rooms."

Screenshot of a tarot pull on Subtle Cards

Subtle Cards - a web app for pulling virtual tarot card spreads. It's a full-stack app with a React frontend (deployed on Netlify), Tailwind CSS, a Flask API (deployed on Heroku), and Supabase as the database. I batch-edited the tarot card images with Imagemagick (one of my favorite tools), created card animations with framer-motion, and used Random.org's true-random number API to randomize the tarot card pulls. Each spread of cards has a unique URL. There are also dynamic moon-phase icons (using SunCalc).

🌐 Visit this link to try it: https://subtle.cards

Building Subtle Cards was the largest project of my batch. I love building static websites, but I wanted to push myself to build a more dynamic web app with modern standard frontend tools. It took me longer than expected (I thought I could finish it in one week), but I was proud of the result, and happy that I finished in time to share the project in the final presentations session of my batch. I'm particularly proud of the way the cards animate on screen, simulating that moment of pause in a real tarot card pull. For page transitions, I used the new browser standard view transition API, which is not yet implemented in Firefox, but provides a nice progressive enhancement for Chrome and Safari.

I learned a lot while working on this, and I am now very ready to move on to new projects (and to try other frameworks besides React), but there are two things I'd like to add at some point: an animation for the background of the splash page, and the ability to pull cards from additional tarot decks. (I deliberately built the backend with this in mind, and I plan to add some decks of my own design when they are finished!)

Of course, working on my own projects was only one aspect of my Recurse Center experience. I also participated in lots of group events, coffee chats, pairing sessions, and general banter. I joked with someone that RC is basically a bunch of people who enjoy explaining things to each other.

Since I had my video equipment with me in the city (to play the shows I wrote about in my last post!) during my final week of batch, I brought it in to show it to people during Demo Palooza, an event where people set up interactive projects to show each other.

Conveniently, there was already a CRT monitor in RC's retro computing corner, so I brought in my modular synth and my custom-mapped controller for Resolume, and spent a fun afternoon demo-ing video synthesis as people rotated through my station. After over an hour of this, I finally also got the chance to walk around and check out everyone else's projects. (There were far too many to list here, but seeing and discussing what other people were working on was one of the most fascinating and inspiring aspects of the retreat.)

Me showing my video synth at Demo Palooza Video patterns being displayed on the Commodore CRT monitor at Recurse Center Full video setup comprised of a modular video synth and a laptop with a midi controller

(Note: the retro computers visible in the background were not part of my setup — though they certainly contributed to the vibe.)

As I mentioned, many events at RC are organized by the participants. During the first weeks of my batch, I frequently heard people mention their use of AI coding tools, but I noticed a lack of critical conversation around how to engage with these tools in a thoughtful and ethical way. The internet is brimming with articles and discourse on the topic, but much of it is almost pure fluff, serving either to overhype the technologies, or to proclaim them as the source of our doom as a species (another side of the same coin). Because of my irritation with the popular conversation around AI, I had previously avoided the topic, but during my batch, I felt it was time to start engaging with it in a more deliberate way. This led me to organize a weekly meeting called Critical AI Discussion Group.

These meetings provided a space to voice our concerns, share anecdotes and experiences related to AI (in the workplace, classroom, etc.), and discuss practical matters — such as the tech debt accrued by using large swaths of generated code — and philosophical matters — such as the nature of creativity and authorship of one's own work. I facilitated four meetings before stepping down at the end of my batch. However, other members of RC have jumped in to continue the meetings, with a rotating facilitator each week, so I've continued to attend as an alum.

Overall, I had an amazing time during my six weeks at Recurse Center. I think their open-ended approach to learning was perfect for me, since I'm very self-motivated. I really did feel like I became a "dramatically better programmer," which is one of RC's stated goals. Now that I've built my first full-stack web app from scratch, I feel much more confident as a developer. I feel empowered to continue programming, to really commit to it as my main profession, and to continue building interesting personal projects. And last but not least, I met a lot of cool, curious, creative people. I look forward to continuing to participate in the RC alumni community, and hopefully doing another batch at some point when I have time.