← back to the rink

What is Rink?

Rink is the easiest way to put something on the web at SeenThis. You make a little website β€” even just one page β€” and it goes live in seconds at its own address, visible only to people at SeenThis. No setup, no waiting on anyone.

Great for a prototype, a campaign mockup, an internal tool, a live poll, a one-off page for a meeting β€” anything you want to show people instead of just describe.

Three ways to make one

πŸ–±οΈ Drag & drop

Have a folder with an index.html? Drop it on the front page. Live in ~2 seconds. That's it.

πŸ€– Ask an AI to build it

Don't want to make the files yourself? Tell Claude or ChatGPT what you want β€” it builds the page and puts it live on Rink. Copy the starter prompt:

⌨️ From the terminal

Developers: salming rink deploy from any folder. Rollback, preview, share β€” all from the CLI.

Who can see it?

By default, everyone at SeenThis (and only SeenThis β€” it's behind the company login). On any site you own you can also:

What a Rink site can do

Plain web pages are often enough. But when you need a bit more, it's already there β€” no accounts, no API keys, no setup:

πŸ’Ύ Save data β€” store and read entries (votes, posts, sign-ups).
πŸ€– Use AI β€” ask an LLM right from the page; no key needed.
πŸ‘€ Know the viewer β€” see who's looking (their SeenThis email).
βœ‰οΈ Send email β€” notify a SeenThis colleague.
⏰ Schedule β€” run something daily/weekly automatically.
⚑ Realtime β€” live updates for everyone at once (polls, cursors).

If you're using an AI to build your site, just ask for these by name β€” it knows how to wire them up.

Under the hood (for the curious)

site-a.rink… site-b.rink… site-c.rink… nginx-ingress VPN + Google SSO rink-server one service Static files Β· S3 sites/<slug>/<deploy>/ versioned Β· instant rollback in-memory cache rink.* APIs Β· /_rink/* rink.db β€” Postgresrink.ai β€” Anthropicrink.identity β€” SSOrink.files β€” S3rink.email β€” SMTPrink.schedule Β· rink.live GET /* /_rink/*

For developers

The above capabilities are one script tag away. Skip this section if you're not writing code.

<script src="/rink.js"></script>   // global `rink` appears
rink.db.collection('posts').create({ title: 'Lunch vote' });
rink.db.collection('posts').subscribe({ onCreate: render });   // realtime
await rink.ai.chat('Summarise these notes');                // LLM, key on server
const me = await rink.identity.me();                       // { email, user }
await rink.email.send({ to: 'a@seenthis.se', subject, text });
rink.schedule.add({ schedule: '0 9 * * 1-5', action });    // recurring
rink.live.channel('cursors').on(draw).send({ x, y });       // raw realtime

Calls are scoped to the site + signed-in user automatically. Limits keep the shared platform healthy (50k docs & 256 KB/doc, AI & email rate limits, 10 scheduled jobs/site). Public .se sites are static-only β€” the rink.* APIs are internal-only.

Need a real, permanent product?

Rink is for quick internal things. When something needs its own database, custom domain, real CI/CD and monitoring, build it on Salming, SeenThis's full application platform. Outgrew Rink? The infra team will help you graduate a site into a proper Salming app.

Explore Salming β†’

Inspiration

Rink stands on two shoulders:

Shopify Quick β†’ Virke Sites β†’

Built by the infra team. Questions, quota bumps, ideas β€” email infra@seenthis.co or ping #product-team-infrastructure on Slack.