September 7, 2026
Someone asked me to share meeting notes in Slack yesterday. I pasted the markdown. Slack ate the...

It started with a simple request. A colleague wanted the meeting notes, so I pasted the markdown into Slack. Slack, predictably, chewed up the formatting: the headings flattened into plain text, the code blocks became emoji-adjacent monstrosities, and the nested bullet list collapsed into a single unreadable paragraph. By the time the message arrived on the other end, the notes looked like they had been through a laundry cycle.
This is the moment every developer eventually hits. You have a chunk of text — notes, a snippet, a README excerpt, a recipe — and you want someone else to see it exactly as you wrote it. And every tool you reach for asks something in return. An account. A login. An email address. A confirmation that yes, you really do want to share this thing, and by the way, here is a notification you did not ask for.
The cost of sign-up flows is invisible until you measure it. Each step — enter email, click confirmation link, invent a password, remember which password manager it lives in — is a tiny tax. The sender pays it because they expect the recipient to read. The recipient pays it because the sender is waiting. Multiply by a hundred such shares a year and you have spent entire afternoons not writing.
There is also an asymmetry. The sender already has an account somewhere. They want a frictionless way to convert their private file into a public artifact. The recipient does not want an account at all — they want to read three paragraphs and close the tab. Tools designed around registered users force both sides into the same awkward compromise.
The pattern is older than the web. Pastebin, in its original form, took some text and returned a URL. No accounts, no tracking pixels in the original spec, just a slug. Modern variants lean on the same idea but add structure: markdown rendering, syntax highlighting, optional expiry, a unique short identifier. The shape is consistent.
That last point is the clever bit. Authentication without identity. If the user holds the unguessable delete token, they can revoke. If they do not, the note is effectively public to anyone who has the URL. This is the same model as a private S3 object with a signed URL, scaled down to prose.
A weekend project. A small database table with an id, a body, a created timestamp, and an optional expiry. A route for posting and a route for reading. A markdown parser, of which there are dozens across every language. A stylesheet. That is the entire technical surface.
The interesting decisions are not technical. They are about defaults. How long should notes live? Long enough to be useful, short enough that abandoned notes do not pile up forever. Should content be indexed by search engines? Probably not by default, because notes are often half-formed and not meant for the world. Should there be rate limits? Yes, but generous ones, because the whole point is to remove friction.
Every sign-up gate is a small filter. It filters out casual readers, it filters out people on borrowed devices, it filters out anyone who has decided, reasonably, that they have enough accounts. Building a tool that respects that decision is not just polite — it is a design statement. It says the artifact matters more than the funnel.
So next time Slack eats your markdown, consider the alternative: a tiny service you control, a short URL you can paste anywhere, and a reader who gets to read without being asked to become a user first. The web used to work this way. It can still work this way, with surprisingly little code.
Further reading: https://dev.to/varshithvhegde/i-built-a-notebook-for-sharing-notes-that-doesnt-ask-you-to-sign-up-first-2ldd
You've probably had this exact moment. You ask an AI a math question. It lays out the steps...
Sep 7, 2026