uselink/blog

Vision

Vercel is too much for sharing a page. So we're building uselink.

It is a deploy pipeline with no one on the other end. We think the link should be alive.

by nathan · jun 7 2026 · 8 min read

The short version

  • You made a page. You want a few people to read it and tell you what they think.
  • So you deploy it to Vercel, get a random URL, and the link just sits there. No comments. No control. No idea who read it.
  • Vercel is built to ship apps, not to share a page and talk about it.
  • uselink turns an HTML, markdown, or zip file into a link people can read, comment on, and that you control. uselink.app/@nathan/should-i-become-ceo2.

You made a page. Maybe you wrote the HTML by hand. Maybe Claude or v0 made it for you in two minutes. Either way you have a file, and you want one thing. Send it to someone and hear what they think.

So what do you do. You reach for Vercel. (For anyone who has not used it: Vercel is one of the most popular places to put a website online. Engineers love it, for good reason.) You make a repo. You make a project. You wait for a build. You get back a URL like fancy-sunset-92f.vercel.app. You paste it in Slack. And then nothing. The link sits there. Nobody can comment on it. You have no idea if anyone opened it. You wanted a conversation and you shipped a billboard.

I do this every week. At some point I stopped accepting it. This is the post about why, and about what we are building instead.

First, the fair part

Vercel is very good at what it was built for. If you are shipping a real app, with a backend, serverless functions, edge routing, and a domain you care about, it is hard to beat. We use it. I am not here to tell you to stop deploying apps on Vercel.

The problem is not Vercel. The problem is what most of us reach for it to do.

The thing people actually do with it

Most of the time I am not shipping an app. I have one page. A spec. A report. A pitch. A decision doc. A little tool I built with AI on a Tuesday. I want a link, and I want a few specific people to read it and respond.

For that job, a deploy platform is the wrong shape. Two reasons.

Reason 1: it is a pipeline, not a paste

Vercel wants a pipeline. Repo, project, build step, deploy, domain. That is the right amount of process for an app you will run for years. It is a strange amount of process for a file you want someone to look at this afternoon.

And the URL it hands back is not yours. yoursite.vercel.app. Random words, a hash, the platform's name parked in the middle of your link. You cannot tell what is behind it. Neither can the person you are sending it to.

The link is the product
What a deploy hands you
fancy-sunset-92f.vercel.app
What you actually want
uselink.app/@nathan/should-i-become-ceo2

Your name, then the doc name. Readable before anyone clicks. That is the entire address.

Reason 2: the link is dead on arrival

Here is the part that bothers me more.

Say you get past the deploy. The page is live. Now what.

The link is a one way street. The reader opens it, reads it, and that is the end of the road. They cannot comment on the paragraph they disagree with. You cannot see if they opened it. You cannot lock it, set a password, or have it expire next week. You cannot say "this person can read but not comment."

So people patch around it. They screenshot the page and lose the interactivity. They paste the raw code into an email. They drop it in Slack where the formatting dies and the comments scatter through the scroll. Every workaround throws away the thing that made the page worth sending.

Vercel ships pages to the whole internet. I did not want the whole internet. I wanted three people and their honest reactions.

This is the real shift. The unit of work changed. People are not building sites anymore. They generate one page with AI and they want to share it and hear what people think. That is a paste, a link, and a comment thread. It is not a deploy pipeline.

What we are building: the link is alive

So we built uselink around a different idea. The link is not a destination you ship to. The link is where the conversation lives.

You bring an HTML file, a markdown file, or a zip. You get a link. The link renders the page, carries the comments, and obeys your rules. That is the whole thing.

Here is what that looks like in practice.

01 Host the page, no build step

Paste your HTML or markdown, or drop a zip, and it is live. No repo. No build. No config file. It renders the real interactive page in a sandbox, so your charts, tables, and scripts still work. If you can make the file, you can share it. There is no step in between.

02 Real comments, and your reader needs no account

This is the core of it. The person you send the link to can read it and comment on the exact paragraph, with no signup. No account wall. No "create a login to leave feedback." They click, they read, they tell you what they think, right on the line they are reacting to.

That asymmetry is on purpose. You, the owner, get a real workspace. The reader gets a guest pass with zero friction. The fastest way to kill feedback is to ask for a password before someone can give it.

Baseline is 7 out of 10 per axis. Miss enough of them and it says no.

The one thing it leaves out on purpose is vision. Everyone rates their own a 10, so it tells you nothing.

D
Daiguest · no account
strong call leaving vision out. this line should be the headline.

Here is a real one. This is a live uselink, not a screenshot. Open it and leave a comment.

uselink.app/@nathan/should-i-become-ceo2 Open
If the embed does not load here, open it directly at uselink.app/@nathan/should-i-become-ceo2.

03 You control the link

A shareable link should come with a dial, not a switch. On uselink you decide who can read and who can comment. You can set a password. You can set an expiration date. You can cap the number of views. You can gate it to specific emails. The same doc can be open to your team today and locked to everyone else.

Sharing controls
Anyone with the link can readturn off to gate by email
Allow commentsreaders comment with no account
Passwordrequired before reading
Expirationlink stops working after
View limitcap total opens

04 It unfurls

Paste a uselink in Slack or iMessage and it shows a real preview. Title, description, a clean card. Not a naked URL that everyone scrolls past. The link sells itself before anyone clicks.

A naked deploy URL
The same thing on uselink
DOC Should I become CEO? A nine-axis readiness test that is not afraid to say no. uselink.app/@nathan/should-i-become-ceo2

05 Pipe it from the terminal

For the engineers. uselink is pipeable. Push a file straight from the command line and get a link back. We also wired up an MCP server, so you can publish straight from your Claude agent without leaving the chat. The page your agent just generated becomes a shareable, commentable link in one step. No copy, no paste, no deploy.

06 Edit in the browser, with history

Paste and publish was not enough, so we added editors. There is an HTML editor and a markdown editor built in. Small fix, edit it in place, no going back to the source to re-paste. Every version is saved, so you can see what changed and roll back. The link stays the same while the page gets better.

rev-8 · 12m ago · you

For two kinds of people

uselink is built for two people who rarely get handed the same tool.

If you are an engineer, it is the primitive that was missing. Pipe the file, get a link, skip the deploy. Publish from your agent over MCP. Lock it, expire it, watch the comments come in on the exact lines. It fits the way you already work.

If you are not an engineer, think of it as a Google Doc for any web page. You drag a file in. You get a link. People comment. You never see a repo, a build log, or a config file, because there is not one.

Same product. The page meets you where you are.

The honest boundary

To be clear, we are not trying to replace Vercel for apps. If you are running a production service, Vercel is great and you should keep using it. Ship your Next.js app there.

What we are replacing is the part where you bend a deploy platform into a sharing tool. The repo for a single file. The dead link. The feedback that scatters across Slack, email, and screenshots.

Vercel for the app you run. uselink for the page you want a reaction to.

Why now

AI made the making easy. I can describe a page and have it in front of me before my coffee is cold. The number of pages, docs, and small tools people generate is climbing fast.

The last mile did not keep up. Host it, share it, get comments back. That part is still broken, and it is the part I hit every single day.

So that is the bet. uselink wants to own the space between "I made a thing" and "what do you think." Not the deploy. The share, the read, and the response.

This post is on uselink. If you have a page sitting in a folder waiting for someone to look at it, put it on a link and send it to one person. Then come back and comment on the line where you think I am wrong. That is the whole point.

Drop a file. Get a link.

or paste markdown · import from URL

Try uselink