// todo: think of a good name logo

// todo: think of a good name

Subscribe
Archives
April 7, 2019

2019/6: Code like no one's watching

You know how it goes: something would be a lot easier if you had the right piece of software. You search for it and find a lot of options, but none of them does quite what you want. You can use the one that is closest to your need, and push it to its limits, but that might not be enough.

Then you think “I can’t be the only one who wants this, maybe I should do it myself?” and immediately start thinking about how to make it useful for you and to other people too. Should you add support for users? How should it look? There’s some part of it you want but that probably others won’t, so it should be configurable.

Most of the time you disregard the idea: it’s too hard, or it’s just not worth it. And you go back to square one.

What happened? You just had a simple need that you could solve with some lines of code, but one minute later you were thinking about how you will need to configure HTTPS or what CSS framework to use. What if you just do it for yourself and don’t think about anything else? What if you have a whole project dedicated to whatever you need or want, but that only you need or want?


I’ve been playing with this idea of a “personal sandbox” for more than a month now. I created a simple React app where I add whatever I feel like adding. The design, if you could call it that, is awful. The code is the worst I’ve written in years. There’s no good UX practices and it doesn’t have a responsive UI. Most commit messages are auto-generated. It’s not deployed anywhere: I just serve it locally. I save every component state to local storage in each render. Yes I do.

I love it, and I would recommend everyone to give the idea a try.

(Almost everyone, actually: if you are learning to program and you’ve never built something for the world to see, the best thing you can do is to just do it as soon as possible ―at least to break the taboo.)

Why is it so good? First of all, it’s liberating. If you spend most of your time agonizing about how to make code readable, it’s refreshing to use a trick so obscure that you’d never subject some coworker to the ordeal of reading it. On the other hand, you can be as perfectionist as you want if that’s your thing: there’s no deadline here, no trade-offs to consider.

There’s some library that’s not even close to be production ready but you want to use anyway? Well, what’s the worst thing that could happen if you add it?

There’s something you’ve been willing to learn for a long time but never had the chance? Any excuse is valid to use it in your sandbox.

The downside is that you have to put time into it, of course. But there are only two scenarios in which you work on this: you need something, and so you do it as quickly as possible. Or you just want to make something for fun, in which case the time is not wasted.

Don't miss what's next. Subscribe to // todo: think of a good name:
Powered by Buttondown, the easiest way to start and grow your newsletter.