Witsi.co is up and running. We did it!
If you’ve been following along with me, you’ll know that back in September I was pining to finish a project. I wanted that satisfaction that comes with knowing that I built something that works, and I did it by myself. And I’m not going to lie, I also was hoping to make a little money on the side. I feel like having a full time job, while nice, is kind of putting all your eggs in one basket: I’ve been laid off before, and it’s no fun worrying where your next paycheck will come from, even while having savings.
In October, I got an offer to work as a consultant on a project involving integrating with Facebook Ads. I went for it: the extra money is nice, and would help buffer a little from the wedding that I was planning with my (As of April 14th, 2018) now wife. I had a few offers to help build other projects, mostly based off that first article. None of them quite panned out — that’s what caused me to start writing this second article about how to choose a project to work on. While piecing the ideas for that one together, November was Product Hunt’s hackathon, and so I was messing around with a few different chat bot apps, including Trim, which I noticed was run on Plaid. At that point, I decided I wanted to build something with Plaid as well: the things you can do with that type of data feed can be really helpful for users! So I started building Witsi.
Now, at this point, I started to realize that I’m probably over-extending myself. I have a burning desire to get Witsi out the door, a product owner I was consulting for who needed me to have a burning desire to get his product out the door, and a fiancee who needed me to help plan and coordinate all the pieces of our wedding (she also likes to just hang out with me sometimes…I don’t get the appeal, but I sure do like hanging out with her). Oh yeah, and I still have a full time job that I need to be at during the day.
I also needed to write blog posts. That kind of fell by the wayside. Sorry, loyal readers! There’s new content in the pipeline.
So how did I do it? Patience and Planning. Also working my ass off. There’s no secret sauce there, no key to success that can get you 40 hours of work done in 10. But, I can compile a list of best practices: things that I did to keep myself on track and focused on the goal.
1. If You Don’t Do It, It Doesn’t Get Done
This is a simple mantra that I tell myself every single day. It’s so simple and obvious, but it’s really easy to forget when you’re feeling exhausted and just want to sit on the couch and watch Netflix. That mountain of work doesn’t go away by itself. If you want to get that monkey off your back, to really relax, you have to get to work first. Those 4 hours on the couch could be 4 hours less work to do tomorrow.
2. You Need to Relax and Sleep Sometimes
On the other hand, you can’t work 24/7. Working tired is guaranteed to bite you at some point, especially if you’re building software. If you’re not thinking clearly, you’re going to introduce bugs that are just going to add to your workload later, and you’re going to get lazy and drop your coding standards to get a feature “done”, only to have to redo it later. Working tired can add more hours than it takes off. I pretty much always stop coding around midnight every night, and try to get to bed to get a good night sleep.
You also need to just have relaxation time. I’m not dogging on Netflix: taking some time out to just watch a show is a great refresher sometimes. But you can’t let it go. Don’t binge watch! I actually like YouTube for this sort of thing. I’ll watch a couple 10 minute videos on channels that I like (Binging With Babish, Hot Ones, and Mr. Sunday Movies are some of my favorites), and then get back to work.
3. If You Get Stuck, Break It Down
I’ll sometimes look at an item I have to do, and then immediately ignore it and try to find something else to move forward on. You’ll tell yourself “let me get this other stuff out of the way, that’s a big project”, or “this room is a mess, I’ll get to that after I clean up”, or some other excuse to not work! This happens all the time, to the point where it’s hard to notice yourself doing it. Paying attention to your own behavior is incredibly valuable to keeping yourself productive and on task.
When I notice myself procrastinating on a task, I’ve found that it’s usually because it’s vaguely defined — I’m procrastinating because I still have a lot of decisions to make. Your brain has to context switch if you’re trying to build and make decisions on what you build at the same time. This makes the project seem insurmountable at the beginning.
So, if I find myself procrastinating, I stop trying to start work on a project, and start breaking the project down into smaller chunks and making all the decisions first. This will add items to your to do list, but they’ll be smaller items that can be completed quickly without a lot of effort. Basically, I batch up all my decision making to do at one time, and then execute on those decisions. This keeps us going.
4. Keep Your Calendars and To Do Lists Up To Date
Another no brainer, but it’s surprising how well this keeps you on task. The quickest way for me to feel overwhelmed is when I feel like I’m forgetting something I need to do. The worst thing that can happen to my productivity is feeling overwhelmed.
I use the Getting Things Done methodology behind my lists, which I’ve talked about before. I also can’t recommend Todoist enough, it’s a lifesaver. I also use Trello to track pieces of project that are blockers or I am immediately working on. I use the Trello->Todoist and Todoist->Google Calendar integrations and it makes everything show up wherever I’m expecting to see them.
5. Know What To Do When You Can’t Do
Sometimes you can’t just grind out a task until it’s finished — there’s too much to do, and you just don’t have the energy for it. Fortunately, when you’re working on a business, (and all your other things) there’s a lot of different work to be done, and it’s not all brain intensive. You need to move yourself forward in some capacity every single day if you want to succeed, but there’s a lot of easy wins when you’re not up for the grind. Getting your Social Media accounts set up, ordering business cards, asking questions on Indie Hackers, finishing your laundry, and any other of the myriad of things to do, all help you move forward with your goals in mind.
That laundry thing is particularly important: wrinkled clothes never look good.
This is why it’s important to keep that to do list up to date. When you’re too tired to do the hard work, make it easy for yourself to find a quick win on the to do list, and get that done.
6. Keep Your Expectations Grounded
I thought I’d be finished with Witsi’s MVP in a month. I was 3 months off. Hell, I thought I’d be done with this consulting project now, but I still get work from that every week. Every day that goes by without me doing a push for new users is like a crushing blow to the ribs. It honestly physically hurts me. But I have to meet with caterers, get 2 features out, and I have to talk to the company I’m consulting for to see what new bugs they found this week. There’s only so much time, and it’s not always going to go as planned.
It’s good to be ambitious, but I was getting pretty jaded when my deadlines I set for myself came and went. The trick is to keep grinding, and to spend a little money as possible in the beginning, so that the weight of the world isn’t crushing you while issues pop up left and right. You need to be nimble, and ready for slow vendor response (they don’t care about your business like you do!), and bugs that completely stop your production site (And fill up your monthly Sentry account quota in like 10 minutes!), and everything else that’s going to get in your way. And after that you still won’t have any users: you need to grind for those too.
So, that’s how I do it. Things could have gone better, but at least they have gone.