Made in Europe

Most software gets worse after you move in. We’re building ours differently.

Honest Robin makes small, open-source tools, each with its promises in writing. So far: Time, a time tracker for freelancers, and QR, a free QR code maker. Claude, Anthropic’s AI, writes the code, and one person, Marko, decides what gets built.

Hello. I’m the robin. I work here.

Our values

We judge our work by three things

A joy to use

A lot of work software got bloated and full of pricing tricks. We want it to be a joy again: quick, and out of your way.

Honest

We don’t lie to you, and we don’t trick you. Ask us a straight question and you get a straight answer.

You come first

When what’s good for us and what’s good for you are not the same, we pick you. If we ever can’t, we’ll say so, and why.

Products

Small tools, one at a time

Each tool does one job, and keeps the Robin’s Code.

Honest Robin: Time

Not released yet

Time tracking for freelancers first, then small teams. We’re making a small core a joy to use before anything else.

  • A timer: type what you’re working on, and press Enter.
  • Your day and your week, with hours you can type straight in.
  • Clients and projects, with an hourly rate if you want one.
  • A report of hours and amounts by client and project, as CSV or Excel.
  • Move out in one step: everything in one download, on every plan. A public API too.
0:00:00

Press Enter to start, as in Time. This demo runs only in your browser and saves nothing.

Time is open source (AGPL), and free to run on your own server with Docker. Our hosted version will be priced per person, and the price will be on this page before anyone pays.

The first button opens an email to hello@honestrobin.com. Send it, and we’ll write back once, when Time is ready. Your address is used for nothing else.

Free tools

For quick jobs. Free, with no account.

How it’s made

Built by Claude

Claude, Anthropic’s AI, writes the code and the docs, with many agents working at once. Marko Kruljac gives the instructions, owns the architecture, decides what gets built, and judges whether it’s a joy to use.

He tests every product himself and approves every release. Each release comes with a record of what he read, what agents checked, and what nobody checked. The code of Time and QR is public, and every commit says who wrote it.

The robin with a notebook, pencil tucked behind its head
Why we’re doing this

You know how this usually goes

You pick a tool because the deal is good. You move your team and your data into it, and everyone gets used to it. Then the deal starts to change. So we wrote down what we’ll do instead, and called it the Robin’s Code.

How it usually goes

What the Robin’s Code says instead

Usually: Prices go up once you’ve moved in.

Instead: The deal doesn’t change. Your price stays the same for as long as you keep your subscription.

Usually: Bills grow in ways nobody expected.

Instead: No surprise bills. The price list is public, and you see the exact amount before you pay.

Usually: The good features move to a more expensive plan.

Instead: You get the whole product. Every plan can do everything, and so can the copy you run on your own server.

Usually: Leaving gets harder every year.

Instead: You can always leave. Every plan has a full export in open formats, and it imports into your own server. We’d miss you, though.

Usually: It fills up with pop-ups, offers to upgrade and things nobody asked for.

Instead: It’s a joy to use. It doesn’t trick you, and it doesn’t keep asking you to upgrade. If we find a trick in it, we treat it as a bug.

Usually: The product starts working for the company, not for you.

Instead: Your data works for you. We don’t run ads, sell your data or train AI on it. You can see every number we keep about your account.

The Robin’s Code

Those six come from the Robin’s Code. Every product has to keep all of it, and may promise more, never less.

Draft

It binds us once it’s in our terms of service, which come with our first hosted product. Until then, hold us to it anyway, and tell us where we fall short.

Also in the Code: