Marius Voß
DevRel · edge infra
Writing for Elido since April 2024
Marius runs developer relations and edge infrastructure at Elido. Before joining the team in 2024 he spent eight years at a Berlin-based CDN operator and two years on the network reliability team at a German neo-bank, where he learned that the worst kind of latency bug is the one that only shows up at 3% of edge POPs.
He maintains the Elido edge-redirect runbook, contributes to the Helm chart, and writes the engineering posts that go deeper than "we use ClickHouse for analytics" — including the cache-invalidation propagation post, the multi-region failover testing post, and the on-demand TLS deep dive.
Outside Elido, Marius is a regular speaker at the German Cloud Native meetup and contributes occasional patches to fasthttp.
Expertise
- Edge networking and routing
- Multi-region failover and capacity planning
- ClickHouse query tuning
- Helm + Kubernetes for self-hosted Elido
Posts by Marius Voß
Open Graph Image Size: One File for Every Platform
1200x630 covers Facebook, LinkedIn, X, Slack, and WhatsApp. The specs, the safe zone that stops text getting cropped, and why an updated image refuses to show.
TutorialsHow to Redirect a URL: Six Ways, and When Each Is Right
A redirect is an HTTP response, so the real question is which layer answers the request. Registrar, server, CMS, platform, client side, or a managed short link.
TutorialsBarcode vs QR Code: Which One Belongs on Your Product
A barcode identifies an item to a system that already knows it. A QR code connects a person to content. Capacity, scanners, and the 2027 retail deadline.
FeaturesRedirect Loop: How to Find and Fix ERR_TOO_MANY_REDIRECTS
A redirect loop bounces the browser between URLs until it quits. Trace the redirect chain in one command, name the rule that disagrees, and fix it for good.
EngineeringURL Shortener CLI: Shorten Links From the Terminal
Shorten a URL from the command line with curl and jq, wrap it in a shell function, copy to the clipboard, and shorten a whole file with xargs in parallel.
EngineeringShort Link Not Working? Diagnose It in One Command
A short link that 404s, warns about a certificate, or opens in one app but not another has four causes. Read the response headers and fix the right one.
TutorialsQR Code Not Scanning? Four Causes and How to Fix Them
A QR code that will not scan almost always fails on size, quiet zone, contrast, or a payload that is too long. Test them in that order and fix the right one.
TutorialsHow to Shorten a URL in Ruby With Net::HTTP and Faraday
Shorten a URL in Ruby with Net::HTTP and no gems, then add timeouts, retries, and idempotency, or hand the whole job to Faraday in a Rails app.
EngineeringHow to Shorten a URL in PowerShell With Invoke-RestMethod
Shorten a URL in PowerShell with one cmdlet, then handle 429s, keep the API key out of the script, and shorten a whole CSV column with ForEach-Object -Parallel.
EngineeringHow to Shorten a URL in JavaScript With fetch and Node
Shorten a URL in JavaScript with one fetch call, then add a timeout, retries, and idempotency - and see why the browser is the wrong place to hold the key.
EngineeringHow to Shorten a URL in Java With the Built-in HttpClient
Shorten a URL in Java with java.net.http and no dependencies, then add a timeout, retries with an Idempotency-Key, and bulk shortening on virtual threads.
EngineeringHow to Shorten a URL in Go With net/http and errgroup
Shorten a URL in Go with net/http and a JSON body, then add a context deadline, retries with an Idempotency-Key, and bounded bulk shortening via errgroup.
EngineeringHow to Shorten URLs in Excel: Four Routes That Work
Excel's WEBSERVICE formula cannot POST, so shortening links needs Office Scripts, Power Automate, or a bulk import. Which route fits how often the sheet runs.
EngineeringHow to Shorten a URL in C# With HttpClient and .NET
Shorten a URL in C# with PostAsJsonAsync, then wire IHttpClientFactory, a resilience handler, an Idempotency-Key, and bounded bulk shortening with Parallel.
EngineeringHow to See Where a Short URL Goes Before You Click
Expand a short link safely: read the Location header with one command, use provider previews, and know what each method tells the other side about you.
TutorialsWhy Your Short Links Get Blocked in Slack and Teams
Short links get blocked in Slack and Teams when a shared shortener domain fails a security check like Safe Links. Why it happens, and the branded-domain fix.
EngineeringAgentic Commerce: Links Built for AI Agents to Use
Agentic commerce means AI agents, not humans, follow your links and buy. Why links must be stable, machine-resolvable, and tracked server-side to survive it.
EngineeringHow to Shorten a URL in Python With the requests Library
Shorten a URL in Python with a few lines of requests: POST to a shortener API, read the short link back, then add retries, idempotency, bulk, and async.
EngineeringGA4's AI Assistant Channel: What It Tracks and Misses
GA4's new AI Assistant channel breaks out ChatGPT, Gemini, and Copilot traffic - but excludes Perplexity and isn't retroactive. What it tracks, and the gaps.
EngineeringFirefox and Brave Are Breaking Your UTM Attribution
Firefox strips UTM parameters and Brave blocks the scripts that read them, so browser privacy is quietly breaking your attribution. Why, and how slugs survive.
EngineeringBitly API Alternative for Developers: What to Look For
A Bitly API alternative for developers: where Bitly's rate limits and plan gating bite, and what a dev-first shortener API should give you instead.
EngineeringWhat Is a Dynamic Link? Editable, Trackable URLs
What a dynamic link is: a short link whose destination you can change after sharing, how it differs from static links and deep links, and life after Firebase.
FeaturesWhat Is a Deep Link? A Plain-English Guide
A deep link opens a specific screen inside an app, not the home screen. Deep links vs universal and app links, and life after Firebase Dynamic Links.
FeaturesFree URL Shortener API: Code Examples That Run
A free URL shortener API with runnable curl, JavaScript, Python, and Go examples, plus the honest part: what free tiers gate and what production needs.
EngineeringURL Shortener Browser Extension: One-Click Short Links
A URL shortener browser extension shortens the active tab in one click, adds campaign tags, and copies the branded short link and QR code to your clipboard.
FeaturesAnswer Engine Optimization: How to Get Cited by AI
Answer engine optimization (AEO) is how you get cited by ChatGPT, Perplexity, and AI Overviews. The signals that work, plus how to measure AI referral traffic.
AIOpen Redirect Vulnerabilities and How to Prevent Them
An open redirect lets an attacker bend a trusted link to a malicious site. How the bug works, why it powers phishing, and the server-side fix that kills it.
EngineeringHow to Build a URL Shortener: Architecture and Code
How to build a URL shortener that survives production: short-code generation, the redirect path, caching, click tracking, abuse defense, and what to maintain.
EngineeringTypes of URL Redirects: 301, 302, 307, 308, and More
Every URL redirect type explained - 301, 302, 303, 307, 308, meta refresh, and JavaScript - what each does, how it affects SEO, and which one to use.
Engineering301 vs 302 Redirects: Which One Should Short Links Use
A 301 is a permanent redirect that passes ranking signals; a 302 is temporary and usually does not. What that means for short links, SEO, and caching.
EngineeringURL Shortener API: Rate Limits, Retries, Idempotency
How to call a URL shortener API in production: token-bucket rate limits, which status codes to retry with backoff, and idempotency keys that stop duplicates.
EngineeringSlack URL shortener bot: shorten links and route alerts
Install the Elido Slack app, use the /shorten slash command, and route threshold alerts to any channel without writing webhook handlers.
IntegrationsShort link monitoring with Sentry and Datadog
Forward 4xx/5xx redirect events and edge latency p99 to Sentry as issues and Datadog as metrics. Sample dashboards, alert thresholds.
EngineeringLinear URL shortener integration - auto-file issues on alerts
Wire Elido broken-link detection and click-threshold spikes to a Linear team. Setup, team filter, label routing, real failure modes.
IntegrationsDiscord url shortener alerts: Telegram setup, payloads, pitfalls
Send broken-link, click-threshold, and scan-failure alerts to Discord webhooks or a Telegram bot. Setup, payload shape, common pitfalls.
IntegrationsWordPress URL Shortener: 4 Ways to Shorten and Track Links
How to add a WordPress URL shortener with branded short links and click tracking, through a plugin, the Elido REST API, Zapier, or by hand in WordPress
IntegrationsPassword Protected Short Links: When and How to Gate One
What a password protected short link is, the use cases it fits, how a password gate works at the redirect, and the security limits you should plan around
FeaturesLink Expiration and Self-Destructing Links Explained
What link expiration and self-destructing links do, when to use date, click-count, and one-time rules, and what the edge returns the moment a link expires
FeaturesHow Do URL Shorteners Work? The Mechanics Explained
How do URL shorteners work? Store a slug-to-destination mapping, look up the key on each click, return an HTTP redirect. The mechanics, end to end
EngineeringSocial Login for URL Shorteners: Sign In Without a Password
Sign in to Elido with Google, GitHub, Slack, and five more providers. How social login works for a link tool, and what it means for EU data residency.
FeaturesWebhooks for link events: every shape, every retry
Webhook surface for URL shortener events: payload shapes for click, conversion, and link.created, plus the retry policy, signature, and idempotency model
FeaturesURL shortener API: a 30-minute quickstart in five languages
From zero to working short-link automation in TypeScript, Python, Go, Ruby, and PHP - auth, idempotency, error handling, and the production gotchas.
FeaturesShipping the TinyURL migration: Pro/Bulk REST, no free tier
How we built one-click TinyURL Pro/Bulk imports for Elido - why public TinyURL has no API, the alias-vs-slug terminology, and the limit we shipped on purpose.
EngineeringShipping the Short.io migration: per-domain pagination
How we built one-click Short.io imports for Elido: the per-domain pagination model, the deactivated-private-link rule, and our fastest migration source.
EngineeringShipping the Rebrandly migration worker
How we built one-click Rebrandly imports for Elido: the 25-per-page pagination, the optional workspace filter, conflict strategies, and what we don't migrate.
EngineeringShipping the Dub.co migration: folders flatten into tags
How we built one-click Dub.co imports for Elido: the cleanest API of the five vendors, folder-to-tag flattening, and the EU-residency side-grade.
EngineeringFire-and-forget click ingestion with Redpanda
How edge POPs emit click events without blocking the redirect, how the click-ingester worker batches into ClickHouse, and what we trade away for the latency win
EngineeringEdge POPs vs DNS-only routing: the latency budget tradeoff
Why DNS-based load balancing tops out near 50ms p50 and what an anycast edge POP gives you below it, with four numbers that decide which fits your URL shortener
EngineeringCache strategy for URL redirects: L1 LRU and L2 Redis
How a two-tier cache keeps p95 redirect latency under 15ms: the L1 LRU eviction policy, the Redis warming strategy, and failure modes we have seen in production
EngineeringMigrate from Firebase Dynamic Links to Elido
Firebase Dynamic Links shut down on 2025-08-25. Every FDL link now returns 404. Here's the 30-minute migration path to Elido - EU-hosted, no SDK required.
ComparisonsElido vs Dub: SSO, conversion tracking, EU residency
Dub.co is the modern URL shortener darling - but SSO, conversion tracking, and EU residency stay locked above the Business tier. Where Elido covers the gap.
ComparisonsSentry/GlitchTip across 12 Go services on the hot path
How Elido shipped a shared sentryinit package giving every Go service the same panic + 5xx auto-capture, staying zero-alloc on edge-redirect's hot path.
EngineeringCornerstoneWhy we use ClickHouse for click analytics (and not Postgres)
The workload is 100M+ events/month, write-heavy, analytical-query-shaped. Why columnar wins, the schema we ship, and what we hit at 90 days of Postgres
EngineeringHitting p95 < 15ms for redirects from FRA, ASH, and SGP
How Elido's edge-redirect path holds a 15ms p95 budget on cache HIT across three regions - architecture, cache strategy, real-region measurements
EngineeringCornerstoneDeep links without Firebase or an SDK: Universal Links + App Links
Set up iOS Universal Links and Android App Links with two association files and no paid SDK. What works, what breaks, and when you still need a fallback.
FeaturesSelf-hosting Elido on k3s - a complete playbook
A step-by-step guide to deploying the full Elido stack on k3s: Helm bootstrap, 14 services, StatefulSet data plane, Caddy on-demand TLS, backups, and upgrades.
EngineeringCornerstoneConnect Elido to Claude and Cursor with MCP: a guide
Wire @elido/mcp-server into Claude Desktop and Cursor so your AI agent can shorten URLs, generate QR codes, and query click analytics inline.
FeaturesCornerstoneSet up a custom domain with TLS in 5 minutes
Point your subdomain at Elido, add two DNS records, and get an HTTPS short link with automatic TLS. The API call, certificate flow, and common pitfalls.
FeaturesDynamic vs static QR codes: what actually changes
Static QR freezes the URL in the modules. Dynamic QR encodes a short link, so you can edit the destination, track scans, and A/B route after printing.
FeaturesCustom domain short links: DNS, TLS, and the edge
How branded short links work: DNS verification, ACME on-demand TLS issuance, edge latency budgets, and three failure modes operators hit in production
FeaturesManage your short links as Terraform with terraform-provider-elido
terraform-provider-elido is the only Terraform provider in the URL-shortener space. How the link lifecycle and drift detection work, plus v0.1.0 trade-offs.
EngineeringCornerstoneShipping the Bitly migration: one worker, four caps
How we built one-click Bitly imports for Elido - the worker design, the conflict-resolution rules, and the four caps that keep an in-process goroutine safe.
EngineeringSmart links explained: edge routing without an extra service
What a smart link is, where it runs, and the routing dimensions Elido supports. Engineering deep-dive on edge cache invalidation, first-match semantics, and when not to use one
FeaturesCornerstone