Dynamic Link Platform

GolangPostgresRedisCloud Run
Dynamic Link Platform illustration

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

1

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.

2

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.

3

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.

4

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

The Edge Redirect Engine is the fast path that serves a redirect at the network edge. This platform owns the link itself — creation, rules, lifecycle and analytics — and can front that engine. Many deployments use both: this to manage links, that to serve them.
Yes, individually or in bulk through a REST API. That is the expected usage when links are generated by product flows such as invites, referrals or shared items, where volume makes manual creation impractical.
Yes. When the app is present the link opens the specific screen; when it is not, the request falls back to the web or an app store. With deferred deep linking the original destination survives the install, so the user arrives where they intended.
Yes. Postgres holds the authoritative definition and the cache is updated on change, so links already in circulation begin resolving to the new destination without being reissued.
Click data is stored durably in Postgres rather than a cache that expires, so historical reporting and period-over-period comparison stay available. Retention is configurable to match your own data policy.

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