Less is More

Act 1: Blissful ignorance

Once upon a time there was a website called typehere.co. It set out to solve a focused mission: a scratchpad you can access from any device.

No login, no cookies, no advertisements, no network calls, no backend, no richtext, no markdown support, no formatting. The entire frontend codebase was probably less than 100 lines.

They say perfection is not when there is nothing left to add but rather when there is nothing left to take away. Typehere was the living embodiment of less-is-more. It's not what every website should be; there are always good reasons to squeeze in more features. But once in a blue moon, you stumble across a masterpiece like Typehere and cannot help but look on in awe.

Then everything changed.

Act 2: The hard truths

The typehere.co domain stopped resolving some five years ago and I lost my last true friend in this world. I searched high and low for replacements.

Google Docs is too persistent.

WordCounter.net is too loud.

Drafting an email leaves too much clutter if you don't remember to delete the drafts.

Drafting a text message carries the risk of accidentally sending it (and you have to shift-enter for newlines).

VSCode is too structured and insists on saving the file.

Nothing worked.

I ended up leaving dozens of untitled Google Docs lying around never to see the light of day again. What did I do to deserve this?

Act 3: False dawn

Then came the fated savior, or so I thought. After opening one Google Document too many, I made a last ditch effort to find a replacement for my beloved Typehere, and came upon typehere.cc.

It turns out I was a doppelganger the whole time, an NPC, a sad mirror of my better self. For someone much braver than I had gone out into the world and solved the very problem that had plagued the last five years of my life. A greater version of myself had reached down from the heavens and lifted me to sit upon his shoulder.

And looking out over the world he had built for me he said "Why don't you stay awhile, get comfortable. I have a lot to show you." and he showed me. But as soon as I began to peer beyond the rolling green hills, beyond the looming pines on the mountain, past the clouds on the horizon, I saw a rift in the very fabric of everything. I saw the farce I had been made to believe was.

As I began to slip I grabbed onto everything I could see but the fabric only tore further and my dreams collapsed into a silent heap beside me.

There's a name for this: rock bottom. It's where I was and where I would always be.

Act 4: Atonement

In case you're confused about what just happened, the better me has terrible taste: typehere.cc uses Lucida Console monospace at 20px with #333 text on a #f0f0f0 background. In other words, the font family, font weighting, kerning, and colors on typehere.cc are both too far from what Typehere once was, and too far from my own personal tastes.

There comes a time in one's life where one must atone for one's sins. My doppelgangee may one day have to atone for a mountain of sins, but an NPC must only attend to an anthill of NPC guilt. And thus my atonement began and ended with a clone of a clone. A failed replica of a misprinted xerox. A JPEG screenshot of a WEBP materialization of what was once a SVG masterpiece.

And thus type.sahildev.com was born. Built for one user and only ever used by one user.