I tried to complete a full Rails project in two days – it was a disaster and I’m glad I tried it.

Sometimes, somehow, a fire gets lit under your butt and your path is clear. All you can think about is the code you’re writing. You turn around and all of a sudden 4 hours pass in what seemed like no time. Textbook flow-state.
This weekend, I attempted to manifest this feeling to no success. These things, as you will see, are not something you can just do on command. But you can make them more likely to happen. Let me explain.
The final step of the 1212 process
To give some context, I’ve been working on something called the 1212 learning process. I wanted to learn Ruby on Rails, so I challenged myself to work on four projects, each with increasingly aggressive deadlines.
โ
Complete a project within 1 month (Bloggington, blogging web app) (~60 hours of focused work)
โ
Complete another project within 2 weeks (Phasmid, bug tracker) (~50 hours of focused work)
โ
Complete another within 1 week (Evenfall, web chat) (~33 hours of focused work)
๐ง Complete a final project within 2 days (This project, Sesh, workout tracker) (~7 hours of focused work)
I normally would leave a checkmark next to my project once the time is over, but Sesh is not complete by any stretch of the imagination. The project timer started on August 9th, and ended August 10th.
Small forewarning
This post will be considerably less technical than my other posts in the 1212 process. This is a reflection on standards I set for myself, how I fell short of them, and why that’s fine.
What happened?
A few things happened.
Coming off of Evenfall, I wanted to get my two-day project started before I lost steam. Knowing that weekends would be the best time to do it, it meant that skipping a weekend was basically skipping a whole week. I decided to do it sooner than later because if not, I could see myself putting it off. This may not have been enough rest time between projects.
In addition, I had the gall to use leisure time during my two days. I knew that I was going to have to do a decent amount of serious, focused work, so I used a good chunk of my time to relax in between sessions. This obviously led to lost time.
The real problem, and the main topic of discussion, was my subconscious desire to step away from my code a lot while I was working on it. It almost felt like my mind was trying to find every possible reason to distract itself. While this wasn’t new territory, is was particularly acute during this project. In short, I found that I was procrastinating a lot.
Pushing past procrastination
Here is my time log for the two days:
8/9 1hr in morning, start 2:15pm. pause 4:00. Start 4:50, stop 6:35
8/10 start 10:20 pause 11:00. Resume 11:15 pause 12:00. Resume 12:15, pause 12:45, start 1:45, pause 2:45, start 3:15, stop 4:00
By the time 4pm Sunday rolled around, I was already done. I knew that I wasn’t going to have anything resembling a finished project unless I hard grinded through to midnight. But I was already mentally exhausted. Not only because coding is coding, but because I spent so much energy fighting myself.
There’s a helpful chapter in Tiny Experiments by Anne-Laure Le Cunff which talks about procrastination. It describes how procrastination can potentially stem from three parts of you: your head, your heart, and your hands.
- Head – Is this something worth doing?
- Heart – Do I feel good doing this?
- Hands – Is this within my capabilities?
Upon reflection, I realize that each of these things played a role in my subconscious desire to avoid working on this.
Is this something worth doing?
For the most part, yeah. The 1212 process had already shown its value in my first three projects and this seemed exactly like the logical next step. But it does come with a question when you look closer. Is it worth spending as much time as possible grinding out a full project on a weekend? To some, possibly. For me, I think on some level it wasn’t.
I know some people really enjoy hackathons and code jams; I do too. Though perhaps for a longer period than a weekend. Or maybe just a couple days within working hours and I’m getting paid for it.
Is this within my realm of capabilities?
Probably not. I’m still learning Rails and I don’t quite have the speed to do much of anything substantial within such a small amount of time. I think I knew this going into it, and as a result, there was probably a subconscious desire to avoid such a futile effort.
Do I feel good doing this?
While I am happy to commit a good chunk of my weekend to making stuff, confining a deadline into two days did not elicit a healthy attitude. If I wanted to get anything done, I had to really work on it! And what if I felt like I was done for the day after a couple of hours? I’ll just have to suffer through it.
Normally, for my longer-period projects I could jump into my work even if I wasn’t quite feeling it, because I knew I could consistently get an hour in if nothing else. For this, it was like yeah you’re committed once you start working.
The tough guy in the back of my mind
Even knowing that my expectations were unrealistic, there was a part of me while working on this project that was like “so you’re gonna just give up like that? In the real world, you don’t get to rest. Especially if you want to be self made.”
But you know what? You can rest. My goal is to design my life in such a way that insane deadlines are an absolute last resort. Not the norm. Yes, this requires leverage. You know how you build leverage? You upskill. A lot. You know how you upskill? Consistent, daily practice. You know how to make this easy? Enjoy the process. The moment you begin to resent your process, the more likely you are to abandon it, and the more likely it is to fall apart.
The mere act of falling short of my own unreasonable goal was enough for me to put off writing about this project. I could have just let this failure fade away. I could have let resentment go to a broil and then give up because it felt bad. Look, see, this stuff is stupid and not worth it. Nobody even reads these posts. But nah, I’m tired of doing that. It is worth it, and I am growing. Just because I can’t code something in two days doesn’t mean my efforts are for naught.
Lessons learned
Things to consider when shipping a real project
Disappoint people up front. Give a time period that’s at least twice what you think you’ll take to get it done. Yes, every situation is different, and you may have to make sacrifices from time to time. But those sacrifices need to be the exception, not the rule.
Many might know this already. And I bet good chunk of those people don’t follow it and need a reminder. Let this be your reminder.
Constantly overworking is not scalable
I like to think I learned a ton from Rails since May when I first started the 1212 process.
While I was working on Bloggington, I was on vacation to see family. I spent time out of my day whenever I had the chance to work on the project. I never pushed too hard and I never let it get in the way of quality family time.
When I worked on Evenfall, I worked on it every single day. I still had time for gaming or going out. Frankly, I don’t remember much of my in-between time for Phasmid. I think the project was interesting enough on its own to consume a lot of my time while still being interesting. And that’s perfectly fine too!
A time and a place for code-benders
Recall what I mentioned earlier about several hours passing by in a flash after an intense but satisfying coding session. By no stretch am I discouraging these things from happening. In fact, the act of working on things daily will put you in a much better position for these small miracles to happen.
However, you need know your limits. By working on the 1212 process, I think I found mine.


















