Request X-Ray
Every request returns a trace of what happened inside the server: rate limiter, Bloom filter, cache, database, AI. You see the system, not just the result.
Span tracing · Server-Timing
Temporary by design · Every link self-destructs within 7 days
Paste a link, get a short one and a QR code. We check where it leads with AI, encrypt it, count visits without tracking people, then delete everything when its time is up.
What Makes It Different
Built as a working demonstration of backend and system design, not a clone. Each feature exists to solve a real problem.
Every request returns a trace of what happened inside the server: rate limiter, Bloom filter, cache, database, AI. You see the system, not just the result.
Span tracing · Server-Timing
Jev by TypeSafe makes a calibrated risk decision with a confidence score, we only act on it when it is sure, and deterministic rules keep working when AI is unavailable.
Confidence-gated · Fails safe
Burn after a set number of opens, lock until a time, require a password, or send iPhone and Android visitors to different destinations.
Atomic click budget · Bot-proof
Unique visitors are estimated with a HyperLogLog sketch. No IP address is ever stored, and every number is erased when the link expires.
4 KB per link · ±1.6% error
Ask for suggestions and get short names built from the page itself, ranked by Jev for how memorable they are, each checked for availability before you pick it.
Jev-ranked · Bloom-checked
Under the Hood
What happens in the few milliseconds between someone opening a short link and arriving at the destination.
Every request gets an ID, an origin check for writes and a trace that follows it through the system.
Each client has a refilling budget per action, so one noisy client can't exhaust the server for everyone else.
Unknown codes are rejected without touching the database. The filter can say “definitely not here” but never forgets a real link.
Hot links are served from memory. Entries never outlive the link they describe, and edits invalidate them instantly.
Write-ahead logging with separate reader and writer connections. Destinations are encrypted with AES-256-GCM, bound to their code.
Password, time lock, click budget and device routing are evaluated in order. Click limits are enforced by a single atomic update.
The redirect is sent first. Counting happens after the response, updating a HyperLogLog sketch instead of storing visitors.
The API runs on Railway with sleeping enabled. It has no background timers or polling, so it only wakes when a real request arrives.
Privacy by Design
Most shorteners keep your links forever. We delete them on a schedule you choose, and we never collect what we don't need.
Second 0
Destination encrypted, safety checked and given a code. It gets a claim code for moving it between devices.
Days 0–7
Opens are counted anonymously. You choose how long it lives: one hour up to seven days.
At Expiry
The moment it expires, the link returns not found. No grace period, no archive.
Next Sweep
The row, its analytics and its unique-visitor sketch are deleted with secure delete enabled.
| Data | Stored | How It's Handled |
|---|---|---|
| Destination URL | Temporarily | Encrypted with AES-256-GCM until expiry |
| Page title and AI summary | Temporarily | Deleted with the link |
| Open counts by day, device, browser and referrer | Temporarily | Aggregates only, deleted with the link |
| Visitor IP addresses | Never | Used in memory for rate limiting, never written |
| Cookies or trackers on visitors | Never | Redirects set nothing |
| Link passwords in readable form | Never | Only an Argon2id hash |
Side by Side
A fair look at what a typical free link shortener offers next to this one.
| Feature | Typical Shortener | Comet |
|---|---|---|
| Link lifetime | Forever by default | 1 hour to 7 days, your choice |
| Destination safety check | Rules + Jev AI | |
| Destination encrypted at rest | ||
| Burn after N opens | Atomic, bot-proof | |
| Time-locked links | ||
| Device routing | Paid plans | |
| Visitor IP addresses stored | Usually | Never |
| See how the server handled your request | Request X-Ray | |
| QR code | Often paid | Free, styled, PNG and SVG |
| Preview before opening | Some | Add + to any link |
| A/B split destinations | Paid plans | Sticky per visitor |
| Bulk shorten | Paid plans | 50 at a time, live progress |
| Re-checks destinations after creation | On open, every 6 hours |
Questions
Straight answers about how links, safety checks and privacy work here.
Short links are usually shared for a moment: a meeting, a campaign, a message. Keeping them forever creates risk, because old links can be hijacked or point somewhere new. We keep each link only as long as you choose, up to 7 days, then delete it and its analytics permanently.
Shorten your first link in seconds. No account needed, and nothing lingers after it expires.