Developer diary · Day 1

A name, a page, and not one line of code

The commute can be dull.

I live near Niagara, the office is in Toronto, and I need to be there a couple of times a week. I drove twice: once for the interview, once on my first day. Never again after that.

Two hours there. Two hours back.

That used to be nothing.

Last time I finished on finding a free six-letter domain and buying it. Then I had to do something with it — and I started here, in a train carriage.

What matters is what fits in here.

Not a build. Not a debugging session. You don't stand up an environment on a train, and you don't run an app on a device.

What fits in here is a decision.

🎰 The name first

The prototype was called SlotPaste.

I picked that name in a minute. I needed to create a repository and not lose the whole evening to a brainstorm, so the rule was simple: the first idea that doesn't google as an existing app goes in. If nobody suggests anything better by noon, we're calling ourselves Apple.

Two months later it turned out that a temporary decision is still a decision.

Slot.

Even to me that word drags casinos behind it — reels, flashing lights, the lot. A productivity app with those associations isn't naming. It's sabotage.

And that is the only way to test a working title: live with it.

Three requirements for the replacement:

  • short
  • unique
  • no baggage

paste.com is taken. There is already an app called Paste in the App Store. But the word itself is exactly what the product is about, so I kept it as the root and started trying things in front of it.

just paste.

jpaste.

A shot in the dark. Free.

Nothing in the App Store. A couple of dead accounts on social, and otherwise quiet.

Six letters, .com, in 2026. I decided there was nothing left to think about and bought it.

📄 Why a page and not code

I already had code.

For two months the prototype had been answering the question does this work for me. Yes. Every day.

It answered nothing at all about the second question: is this a product, or a personal crutch that happens to fit exactly one person.

That one gets written in words, not in code.

And there's something worth saying out loud here, because it changed recently and quietly.

A landing page now costs one commute.

Not long ago a page was a weekend. Which is why "code first, site later" sounded sensible — why spend two days on a shopfront for something that doesn't exist.

The question has flipped. It isn't is it worth it any more, it's why not. The domain is paid for. It may as well not sit empty.

So the first commit was a 225-line document. Positioning. Category. Price. Who it's for. And the three things you can't see on the surface of the product but which the product is made of: text always pastes as text; two independent levels of protection; and no server that can ever see what's in a snippet.

Six minutes later, the page.

The page isn't a shopfront here. The page is the readability test for the document. You can write 225 lines of positioning saying anything you like and it will still read as convincing. A page, people either get in ten seconds, or they don't.

jpaste.com, the first version. There is no app yet, in any form.
jpaste.com, the first version. There is no app yet, in any form.

Yes, it says "Coming soon to Mac, iPhone & iPad".

I have not written one line of native code. Not for any of the three.

🧭 The most important call of the day

While I was poking at the prototype I did look for something that already existed. I didn't need my own app. I needed an app.

Everywhere I ran into the same wall.

Too many features.
An AI Wunderwaffe where I had asked for text to be put in a clipboard.
A subscription.
And total indifference to the idea that my text is mine.

Not because those products are bad. They're fine. It's that each of them solves the problem next to mine, and solves mine in the margins, as a bonus.

To be clear: I don't build things that already exist. I use other people's work quite happily, on three conditions. It works. It stays out of my way. And it doesn't reach into my pocket every month.

I had an idea once for a bridge between Fitbit and Apple Health. I'd bought the device and walked straight into the gap — nothing came back from Google Health into Apple Health, and I wanted that fixed for myself.

There were alternatives. None of them sane. Buggy apps at twenty-five dollars a year, or forty for a "lifetime" licence. And the ones that changed the deal halfway: people who had bought the full version opened an update to find that everything now needed a subscription.

Every one of them was charging for an artificial defect. A gap that should never have existed in the first place, held open and billed for.

Then Google closed it themselves, and that suited me perfectly.

I wanted no part of that fight. If I am going to build something, it has to be something that is not there and that somebody needs.

Nobody took this one off my hands.

Which leads straight to the call I had to make that day. The category.

jpaste is not a clipboard manager.

The difference looks cosmetic right up until you think about which complaint the reader walks in with. A clipboard manager remembers everything you ever copied. Stand on that shelf and the first question is "what's wrong with Maccy, it's free" — and on that shelf it is a fair one. I would lose it.

But I'm not about history.

I'm about the ten things you chose to keep.

Different shelf, different neighbours, different complaint. You pick a shelf once, and it's better done before the code is written.

🔌 Engineer honesty moment

There are four demo cards on that page. A support reply. An address in Austin, Texas. A meeting slot.

And the fourth one: git commit -m "fix: resolve sync race condition" — the one I told you last time I still type by hand.

Four cards on a page about text you wrote yourself. Every word of that text was written by a machine.
Four cards on a page about text you wrote yourself. Every word of that text was written by a machine.

Every word of that text was generated by AI.

Placeholders. I didn't even replace the address — there's a street in Austin, Texas on there that I have never laid eyes on.

The page promises: text you wrote yourself, exactly as you wrote it.

And demonstrates that with text a machine wrote.

I know. That's deliberate.

A placeholder has a job and it does it. A page that exists and changes beats a page that doesn't: search engines, as far as I understand it, notice things that live and update rather than things that sit still. And the alternative isn't a blank slate — the alternative is the host's "something will appear here soon". That one is definitively worse.

There will be a second version. A fifth. A tenth. And then there'll be something to work with.

Text that means something goes in when I have something to say there. For now it takes up space and looks plausible — not lorem ipsum, but something you can actually read. As long as nothing in it makes me wince, it stays.

My line isn't where you'd expect it.

Text about me, I write. Always. That's exactly why I didn't automate my applications — proofreading every letter a machine wrote about me takes longer than filling the form in by hand.

But text inside a rectangle that isn't claiming anything yet can be written by anyone. It isn't there for the reader. It's there so I can see the shape.

Empty rectangles don't show you a shape. Filled ones do.

The second honest thing on the same page is the analytics. I put them in straight away.

A page that promises to collect nothing counts its visitors.

There's no contradiction in that, and it might be the main thing I want to say in this part.

A landing page is a shop. An app is a home.

I have nothing against an electronics shop knowing I walked in, which aisles I went down, and which laptop I stared at for half an hour. That's their floor, their lighting, their shelves.

What I object to is them watching what I do on that laptop at home.

The app is the home. Nobody gets to look in there.

And there's nothing to look at yet anyway: nobody knows the page exists.

🔢 And one number for later

24.

That's how many snippets the page promises free, forever. After that, one purchase, once, no subscription.

Where does 24 come from?

Out of the air.

The point was never the number. The point was that the free tier should be enough to actually move in and work out whether you need this at all. Not a demo, not a crippled version, not "seven days and then we charge you". Give someone the experience, not a deadline.

Remember that number.

I'll be coming back to it.

💬 A question

Working titles are treacherous. They're always temporary and they always stay.

Which one of yours outlived its project? And what did it end up saying about it?

Share yours 👇

Next I have to go and write down what this thing actually is.

But that's tomorrow 😉