Bill Eisenhauer Writing code since 1980

Invite Only

LinkShift

One QR code, printed once, that changes where it points on a schedule you set — for menus, badges, packaging, and signage you can't reprint.

At a glance

  • One QR code, printed once, whose destination changes on a schedule — for the things you can’t reprint: menus, badges, packaging, signage.
  • Time-based rules (daily or weekly windows, real timezones, priorities, conflict detection) decide where a scan lands right now — with a preview of where it’d go at any hour.
  • Scan analytics that count people, not bots — by hour, by rule, by place and device, exportable.
  • An MCP server, so you can literally ask an agent to manage your codes. Plus a real API and webhooks.

In the summer of 2025 I started building with AI in earnest, and I got fixated on go-links — those tidy internal shortcuts — except I wanted to go deeper than a plain redirect. Somewhere in there I discovered the .ing TLD and, after some back-and-forth with Claude, registered flowlink.ing.

I built it out into a full branded short-link platform: custom domains, folders and tags, A/B tests, campaigns, UTM templates, retargeting pixels, click analytics, an API and webhooks — and the part I actually cared about, rules that let a link change where it points over time. Then I learned a little about Cloudflare Workers and realized I could design the rules in my app and periodically deploy them into a very fast Worker running at the edge. Clever. But it’s a crowded space, and I couldn’t convince myself my ideas were different enough to matter. So it sat.

A Friday-night speed run

Then, on a Friday night — the second time I’ve done this lately — I had a pile of AI tokens about to be lost to a 5am Monday reset. Rather than waste them, I decided to speed-run one carved-out slice of flowlink.ing, and use it to try a stack I don’t normally reach for: shadcn design tokens with React components on InertiaJS. (I’m a Hotwire guy.) Twenty-four hours later I had a genuinely viable little SaaS, pointed at one thing: a QR code whose destination changes on a schedule.

LinkShift marketing site: 'Print it once. Change where it goes whenever you like.'
linkshift.co — print the code once; move the destination whenever you like.

The example that makes it click: a restaurant prints a menu QR on a tabletop tent — once — and that same code renders the breakfast, lunch, or dinner menu depending on the time of day. The tent never changes. The link does.

What it does

A LinkShift code dashboard: the QR, its live destination, people-only scan counts, and by-hour analytics
A code, up close: the QR to print, where it points right now, and scans counted as people — not the 2,600-odd link-preview bots.

Every code answers a 302 with wherever it points right now — never a 301, because the whole product is that it moves. You build the schedule out of rules: bounded or open-ended windows, daily or weekly, in a real timezone, with priorities and conflict detection when two rules overlap. A preview tells you where a scan would land at, say, 4pm Friday. And then it measures — by hour, by rule, by place and device, exportable as CSV or through the API.

The rules table: Dinner, Breakfast, Lunch and more, each owning a time window, with scans and share per rule
Which rule caught each scan, and how busy each one is for the hours it owns.

Under the hood

There’s no real AI in this one — beyond the fact that AI generated the code, and the MCP server I built into it, which means you can ask an agent to manage your codes. (Which is genuinely fun.) I registered linkshift.co, built a Jekyll marketing site, and deployed the app alongside the rest of my fleet. ChatGPT gave me logo concepts; Claude’s design tool refined the design system and produced the assets.

An honest note

It’s invite-only for now, while I figure out how — and whether — to go find customers and compete with more ambitious incumbents.