How I do Weekly Projects
In the beginning of 2023, I was unhappy with my creative output. I’d often spend days on small busywork, and wouldn’t put a lot of time into creating pretty or useful things. I considered that a bug, and wanted to change it. As an artist and self-employed person, I’ve had some opportunities to experiment!
I’ve found a structure that seems to work well for me: come up with small-scope projects (3-5 days), and add accountability mechanisms and deadlines. This helps me do focused, satisfying work. Let me tell you all about it!
Flow in game jams
In 2016, I started participating in game jams, where you make a video game from scratch in 2-3 days. I noticed that these events often would get me in a very nice flow-like state, where I could focus on the game from waking up until going to bed! After the event, I’d often be exhausted, but really happy with what I’d made!
I’m attributing this effect to two things:
Short duration with strict deadline: The game has to be made in two or three days, and then has to be submitted. After that, other participants are invited to play it, rate it, and comment on it.
Of course, three days is very little time to make something substantial! I usually have more ideas and plans than I have time to implement them. That means that it seems worth it to put in a lot of time and energy during the jam, because I know that it will make the end result better! The short duration also forces me to prioritize what to work on: What’s the most important thing to do right now to make the game better?
Group enery: Knowing that other people are doing the same thing at the same time. It’s just a motivating idea to know that thousands of other people are participating in the same game jam!
And also, I often participate in a group, and we’ll make a game together with friends! It’s nice to support each other, and it gives everyone a bit of accountability, which makes it easier not to get distracted.
In January 2023, Piko and I participated in a game jam together, and made a puzzle game called Carrot Conundrum. Once again, I was fascinated by how well this worked for me, and how rare this flow feeling was in the rest of my life. I started thinking: Could I reproduce this effect without an actual game jam?
As part of a self-reflection check-in I’m doing with my friend Moritz, I came up with an idea I wanted to try: Doing a one project every week! At the beginning, I set this up as a challenge for myself, as an experiment that would go over four weeks.
Here’s how that worked out:
How I do weekly projects
Moritz kindly offered to keep me accountable for this experiment. This was extremely helpful for me. He would often be curious about which projects I picked, ask questions about it, and remind me to give him progress reports. He was surprised to find that he found it easier to keep me accountable, than to keep himself accountable sometimes!
We agreed on three check-ins I would send him, every Monday, Wednesday and Friday, as described in the following sections:
Monday: Pick a project
I come up with a project idea on Mondays, and commit to it, by describing it to Moritz in a text message before midnight.
Subject: I’ll often brainstorm a bit, or look at my big lists of project ideas. I have a shortlist of project ideas that seem especially suited for doing as a weekly project.
Most of my projects are related to programming or creativity. Examples:
- Write a short story
- Make a chiptunes song with Ardour
- Write your own ActivityPub server
- Create a 3D model of my room
- Sew a backpack
Generally, I’d try to follow my curiosity, and emphasize topics I wanted to learn about. In other weeks, there were outside factors which determine my project – if I wanted to submit the finished project to an event, for example.
Scope: The size of the project has to hit a sweet spot between being too easy and being too large, to create a flow state. I try to pick projects which seem challenging, but where I think I’ll be able to complete if if I put in a lot of work.
Prototyping: Sometimes, I’ll quickly prototype one or two ideas, or do some research on them, before I decide. For some project ideas, that allowed me to figure out that they would be too challenging to do in a week. And for others, they immediately seemed like so much fun that I decided to pick them and to just keep going.
Tuesday—Thursday: Work phase
During the week, the project I picked is my default activity during the day.
In the first few weeks, I sometimes worked very long hours into the evening, which didn’t seem sustainable, and often left me exhausted. So now I have the rule that I’m “allowed” to call it a day at 17:00. Still, since I made that rule, I’ve often worked longer, because I enjoyed what I was doing.
For many of my projects, it’s helpful to get feedback from other people. So often, I’ll send the current status of the project to some friends on Thursdays, so that I can still ingetrate their feedback on the next day.
Friday: Release day
Finally, on Friday, I’ll do some sort of “release” of the project. Often, this would mean posting about it in the Fediverse, and making an entry on this homepage about it.
The release day feels a bit nice and celebratory, and I try to keep Friday afternoon free in my calendar for this purpose.
Four projects in four weeks
Initially, I set up the weekly project structure as an experiment for a month. Here’s the projects I picked:
- Week 1: Finish making a learning game about navigating using the sun, which I called Compass in the Sky! I’d started to work on this project one year earlier, but had never finished or released it. This was an intense week, that reminded me of game jams a lot, and included lots of playtesting.
- Week 2: Make a chiptunes song. I wanted to learn (again) how to use Ardour, an open-source music-making software. This project forced me to work with all the bugs and annoyances that Ardour has, and come up with something catchy! The result was the song Floppiness.
- Week 3: “Make something with ActivityPub”. This was not very well-defined, and I think this was a mistake. I spent quite some time brainstorming what I should do. A quick result was the JSON Explorer. I also experimented with making my own ActivityPub server, and it was able to post stuff! A plan I had was to turn my homepage into an ActivityPub actor, so that people could comment on my posts. But on the last day, I realized that it would be much easier to just embed comments from a specified toot, so that’s what I’ve been doing, using a modified version of Patrick’s Toot Embedder.
- Week 4: Make three audio-visual demos for Lovebyte, a size coding party. This was easy to decide on, because I knew I wanted to participate. This was special because I didn’t release it publicly on Friday, but released the demos at the party! I made a 32-byte demo for TIC-80, a speech synthesizer in 256 bytes, and a crossword puzzle grid thing in 34 bytes!
I liked the experimental month so much that I’ve kept this structure going since then. Whenever I’ve had free weeks, I’ve done weekly projects:
- Revamp the layout of this homepage.
- Write a short story: Personal Growth
- Make a prototype for building interactive Linux tutorials in the browser.
- Sort my project ideas and write new open-source funding applications.
- Create a prototype for collaborative editing on local files.
- Learn Nix, and build 15-year-old software with it.
- Write three blog posts. (This week!)
What I like about weekly projects
Variety! I’m easily bored. When I feel I have a good grasp on a topic, I tend to move on. So having the opportunity to pick new projects every week feels wonderful! I often fear comitting on the wrong thing, but because these projets are so short, I don’t have that problem at all.
Having free weekends. Because I release projects on Fridays, and I’ll only decide on the next project on Monday, I can take weekends off. There’s no chance for me to keep working on the project, leading to burnout, because there’s no active project on weekends!
Short feedback cycles. I get some feedback on my projects each week, and can take that into account when picking the next project.
And, of course, it often gets me in a flow state, when the projects have the right degree of challenge, and when I have accountability and a deadline.
And generally, I’m really excited that, using this structure, I could potentially do 52 small projects per year! <3
What’s not great about weekly projects
When I’m working on a new project each week, I seem to neglect maintaining the old ones. For example, for Compass in the Sky, several people reported technical issues on Friday and the weekend after that, but I didn’t take the time to fix those things.
Limited depth: Because I only have 5 days (or around 30 hours) to finish a project, they necessarily have a rather small scope. I won’t write any books that way, or do really deep work. I think that most big projects could be decomposed into smaller weekly projects, and build on each other. But that’s not how I’ve been using this structure so far.
Ideas for the future
I have a couple of modifications of the weekly project structure I’d like to:
- Doing a project together with someone else!
- Doing a project in another context, like in the online Recurse Center.
- It would also be interesting to try to do some two-week projects, and see how that changes the scope and the depth of the projects!
If you have more ideas on how to develop this format, I’d love to hear your thoughts!