Overview
Dynamic Link Platform is the system of record behind smart links: creating them, storing their rules, resolving them under load, and reporting on what happened. Where the Edge Redirect Engine is the fast path that serves a redirect, this is the platform that owns the link itself — its destination rules, its lifecycle, its analytics and the API your product uses to create links programmatically.
It is built in Golang on PostgreSQL (Neon) with Redis caching resolution, and runs as a Docker image on Google Cloud Run. The caching layer is what makes the difference in practice: a link's destination rarely changes but is read constantly, which is close to the ideal cache profile. Resolution stays fast under load while Postgres remains the authoritative record of what every link points at and why.
The platform covers the full lifecycle rather than just the redirect. Links can be created in bulk through the API, organised by campaign, given expiry rules, repointed after publication, and retired without leaving dead URLs behind. Deep linking is handled as a first-class case: a link can open a specific screen in a mobile app when it is installed and fall back to the web or an app store when it is not.
Built for Impact
Advanced features that power your digital infrastructure.
Programmatic Link Creation
A REST API for creating links individually or in bulk, so links can be generated as part of a product flow rather than by hand in a dashboard.
Deep Linking with Fallback
Open a specific screen in your app when it is installed, and fall back to the web or an app store when it is not — decided per request, not per link.
Cached Resolution
Redis fronts Postgres on the read path, which suits a workload where destinations are read constantly and written rarely.
Campaign Organisation
Links grouped by campaign with shared rules and rolled-up reporting, so a hundred links for one launch stay manageable.
Lifecycle Controls
Expiry dates, scheduled activation, repointing after publication and clean retirement, so links can be managed rather than accumulated.
Analytics and Attribution
Click data by geography, device, referrer and campaign, with the durable history in Postgres rather than a cache that ages out.
Specs
Architecture
Monolith
Language
Golang
Database
Postgres (Neon)
Cache
Redis
Deployment
Cloud Run / Docker
Use Case
Dynamic Links
How It Works
Create the link
A link is created through the API or dashboard with its destination, routing rules and any lifecycle constraints. Bulk creation is a first-class operation because the common case is not one link — it is a few hundred for a launch, each needing its own attribution parameters.
Store and cache
The definition is written to Postgres as the authoritative record and pushed into Redis for resolution. Postgres answers the questions that matter later — what did this point at in March, who created it, which campaign owns it — while Redis answers the one that matters now.
Resolve a request
An incoming request is resolved against the cache, routing rules are evaluated, and the user is redirected. Deep link handling decides here whether to hand off to an installed app or fall back to the web, based on what the request tells us about the device.
Report on outcomes
Clicks are recorded with geography, device, referrer and campaign, then aggregated for reporting. Because history lives in Postgres rather than a rolling cache, month-over-month comparison remains possible after the fact.
Common Use Cases
Product-generated sharing links
Links created inside your product — an invite, a shared item, a referral — that need to open the right screen for the recipient whether or not they have the app. Bulk API creation matters when every user action produces a link.
Marketing campaign management
Hundreds of links across channels for a single launch, organised by campaign with shared rules and rolled-up reporting rather than tracked in a spreadsheet.
Mobile app onboarding
Deferred deep linking so a user who installs your app from a link lands on the content they originally clicked, instead of a generic home screen that loses the context that brought them in.
What to Decide Early
Decide what attribution you actually need
It is tempting to attach every parameter available to every link, but analytics you never read cost storage and make reports harder to interpret. Working out the handful of dimensions that will genuinely drive a decision, such as channel, campaign and creative, produces cleaner data than capturing everything and hoping the answer emerges from it later.
Treat deferred deep linking as a product flow
Getting a user to the right screen after an install is not purely technical: it decides what a first session looks like for your highest-intent users. Deciding what should happen when the original destination requires an account, or no longer exists, is the difference between a smooth first run and a confusing one.
Establish naming and ownership early
Link platforms accumulate. Without a convention for naming, grouping by campaign and retiring old links, a few hundred entries becomes unmanageable within a year and nobody is willing to delete anything because nobody knows what is still in use. A light convention agreed at the start prevents an audit later.
Frequently Asked Questions
Still have questions? Talk to our team
Scale Your Infrastructure
Ready to handle millions of users? Our backend experts are here to build the high-concurrency, secure architecture your mission-critical project demands.
Request Custom Solution