Private preview links

I’ve been working on a feature in Pagoti that lets you share markdown privately without requiring anyone to log in. It’s a simple idea on the surface: generate a private preview link, share it, and revoke or refresh it whenever you want.

The problem...

A lot of Pagoti content starts private. Until now, sharing usually meant screenshots, PDFs, or manual exports. That always felt like unnecessary friction.

Private preview links give you a clean way to show work-in-progress content to a client, teammate, or friend without making anything public or asking them to create an account.

Private preview link

How the feature works

Pagoti generates a private preview link tied to a project. The link includes a token so it can be viewed without authentication.

You can refresh the link at any time, which immediately invalidates any previously shared versions, or remove it entirely to disable access.

All of this lives behind a dedicated modal in the dashboard. It shows the active link, offers a one-click open, and protects refresh and remove actions with confirmation prompts so you don’t accidentally lock someone out.

When you’d actually use this

This feature exists because of very ordinary situations:

  • You want to share a draft blog post with someone for feedback without publishing it.

  • You’re sending a spec or proposal to a client and don’t want to manage access or accounts.

  • You’re iterating on documentation internally and just need someone to read, not edit.

  • You want to sense-check an idea before deciding whether it should ever be public.

In all of those cases, the goal is the same: send a link, let them read, stay in control.

What changed in the dashboard

  • A new “Private preview” action now lives in project settings.

  • Refresh and remove actions are protected with confirmation modals to prevent accidents.

Building with AI, candidly

This feature sounded simple on paper: share markdown privately using token-based links, no login required. In practice, it took a bit more work than I expected.

I planned it through with Claude in detail, but Claude's didn’t land first time. Or the next. The early attempts were close enough to feel promising, but off in ways that mattered.

I actually ended up restarting and trickle-prompting it through, tightening constraints and correcting assumptions as I went.

That’s been my general experience with AI on anything non-trivial. One big prompt rarely gets you there in "one-shot". Incremental steering does. You still need a clear idea of what you want to build, and you still need to spot when something looks right but isn’t.

AI sped things up overall, but it didn’t remove the need for judgement. If anything, it made that part more visible.