Marius Voß
DevRel · edge infra
Schrijft voor Elido sinds 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
Berichten van Marius Voß
Korte codes genereren: base62 vs hash vs willekeurige codes
Korte codes genereren met base62 vs hash vs willekeurig: exacte sleutelruimteberekening, botsingskansen met de verjaardagsgrens, retrypatronen en waarom opeenvolgende codes het aantal links verraden.
EngineeringRedirectketen en SEO: hoeveel hops zijn te veel?
Een redirectketen is twee of meer redirects achter elkaar. Zie wat Google documenteert over hops en crawlbudget, hoe je ketens met curl traceert en afvlakt.
EngineeringFoutcorrectieniveaus van QR-codes: L, M, Q en H uitgelegd
De foutcorrectieniveaus van QR-codes L, M, Q en H herstellen 7, 15, 25 en 30% van een beschadigde code. Zie het aantal modules per niveau en wanneer elk loont.
TutorialsVerify Webhook Signatures: HMAC-SHA256 in Node, Python, Go
How to verify a webhook signature with HMAC-SHA256: raw body, constant-time compare, replay window and secret rotation, with Node, Python, Go and n8n code.
EngineeringLink Analytics API: Pull Click Stats With an API Key
A link analytics API guide: which click reports an API key can read, the query params, JSON response shapes, cursor paging and a daily Slack report script.
TutorialsAPI Key Permissions: Least Privilege for Link Tools
API key permissions for link tools, done right: workspace-bound keys, role caps, peppered hashes, per-key rate limits, rotation and safe handoff to n8n or Make.
EngineeringSelf-Hosted n8n Automation for Links: Docker to Webhooks
Run self-hosted n8n link automation with Elido webhooks, Docker Compose and queue mode, keeping workflow data on infrastructure you control in the EU.
Integratiesn8n URL Shortener: HTTP Request Node or Elido Community Node
Build an n8n URL shortener on the Elido API: HTTP Request setup, domain and workspace IDs, three short link workflows, retries, and the Elido community node.
IntegratiesMixpanel Link Tracking: Short Link Clicks as Events
Mixpanel link tracking with Elido: each short link click becomes a server-side link_click event. Setup, properties, identity limits and how to verify it.
IntegratiesGitLab CI URL Shortener: Short Links From Every Pipeline
Use GitLab CI as a URL shortener: create review-app short links per merge request and repoint a stable latest link on tags, with a masked, protected key.
IntegratiesShorten Links in Release Notes and Track Every Download
Shorten links in release notes with a stable latest link you repoint per release, one tagged link per channel, and click data that shows what drove downloads.
IntegratiesGitHub Actions URL Shortener: Short Links From Your CI
Create and update short links from GitHub Actions: the API key as an encrypted secret, a working workflow, idempotent upserts and least-privilege keys.
IntegratiesDatadog URL Monitoring: Redirect Metrics for Short Links
Datadog URL monitoring for short links: the click logs and metrics Elido sends, a redirect latency dashboard built on Synthetics, monitors and an honest SLO.
IntegratiesGemini URL Shortener: Where Tool Calls Actually Work
Gemini can create real short links, but not in the app. Why Gems cannot call your API, and how to wire the CLI and the API so a link resolves.
IntegratiesChatGPT URL Shortener: What Works and What Fakes It
ChatGPT cannot shorten a URL by itself and will invent one. Three routes that return a real short link, plus how to shorten a ChatGPT chat link.
IntegratiesCanonical vs 301-redirect: hoe je het juiste signaal kiest
Een canonical tag is een hint die zoekmachines mogen negeren; een 301-redirect is een instructie waaraan ze moeten gehoorzamen. Welke past bij vier alledaagse duplicate-URL-gevallen.
EngineeringMaximale URL-lengte: de tekenlimiet in de praktijk
Er is geen maximale URL-lengte in de spec. Het echte plafond is de laagste limiet in de keten die je link doorkruist: browser, server, inbox of QR-code.
Engineeringllms.txt uitgelegd: wat het AI-crawlerbestand echt doet
llms.txt is een Markdown-bestand met een lijst pagina's voor AI-modellen om te lezen. Wat het echt doet, wie het vandaag naleeft, en of publiceren de moeite waard is.
AISalesforce-linktracking: kliks op het Contact-record
Salesforce registreert kliks in de e-mails die het zelf verstuurde, en verder niets. Drie manieren om kliks op korte links op een record te krijgen, en de manier die ook buiten e-mail werkt.
IntegratiesEPC-QR-code: de SEPA-betaal-QR-standaard uitgelegd
Een EPC-QR-code codeert een SEPA-overschrijving, geen URL, zodat een bankapp het formulier alvast kan invullen. Wat de payload bevat, en waarom je hem niet kunt bijhouden.
FunctiesShort-link kliks vs GA4-sessies: waarom ze nooit overeenkomen
Je verkorter telt 1.000 kliks en GA4 toont 620 sessies. De zes redenen waarom de twee cijfers uiteenlopen, en de omvang van het verschil die betekent dat er iets kapot is.
TutorialsAI-crawlers en korte links: wat de bots echt doen
Training-crawlers, live fetchers en zoekbots raken allemaal je redirects. Welke een 301 volgen, wat ze je klikaantallen kosten, en welke je moet doorlaten.
EngineeringURL-encoding uitgelegd: welke tekens je moet escapen
URL-encoding vervangt een teken door een procentteken en twee hexadecimale cijfers, zodat het niet als URL-syntax kan worden gelezen. Welke tekens dat nodig hebben, en waar het misgaat.
Engineering301-redirect in .htaccess: regels, volgorde, querystrings
Een 301-redirect in .htaccess is één regel mod_alias. Hier is die regel, wanneer RewriteRule in plaats daarvan het juiste gereedschap is, en waarom volgorde zwaarder weegt dan regelpositie.
TutorialsVerlopen QR-codes? Wat er stuk kan gaan en hoe je het voorkomt
Het geprinte patroon verloopt nooit. Wat verloopt, is de redirect achter een dynamische QR-code - de vijf manieren waarop dat gebeurt, en hoe je ze allemaal overleeft.
FunctiesOpen Graph-afbeeldingsformaat: één bestand voor elk platform
1200x630 dekt Facebook, LinkedIn, X, Slack en WhatsApp. De specificaties, de veilige zone die voorkomt dat tekst wordt bijgesneden, en waarom een bijgewerkte afbeelding weigert te verschijnen.
TutorialsEen URL redirecten: zes manieren, en wanneer welke de juiste is
Een redirect is een HTTP-respons, dus de echte vraag is welke laag het verzoek beantwoordt. Registrar, server, CMS, platform, clientside, of een beheerde korte link.
TutorialsBarcode vs QR-code: welke hoort op je product
Een barcode identificeert een item voor een systeem dat het al kent. Een QR-code verbindt een persoon met content. Capaciteit, scanners en de retaildeadline van 2027.
FunctiesRedirect-lus: hoe je ERR_TOO_MANY_REDIRECTS vindt en oplost
Een redirect-lus stuitert de browser heen en weer tussen URL's totdat hij het opgeeft. Traceer de redirectketen met één commando, benoem de regel die niet overeenstemt, en los het definitief op.
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.
EngineeringKorte link werkt niet? Diagnosticeer het met één commando
Een korte link die een 404 geeft, een certificaatwaarschuwing toont, of in de ene app opent en niet in de andere, heeft vier mogelijke oorzaken. Lees de response headers en los de juiste op.
TutorialsQR-code scant niet? Vier oorzaken en hun oplossingen
Een QR-code die niet scant, faalt bijna altijd op grootte, stille zone, contrast, of een payload die te lang is. Test ze in die volgorde en los het juiste probleem op.
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.
EngineeringZo zie je waar een korte URL naartoe gaat voordat je erop klikt
Bekijk een korte link veilig: lees de Location header met één commando, gebruik previews van de provider en weet wat elke methode over jou verklapt aan de andere kant.
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.
FunctiesWhat 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.
FunctiesFree 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.
FunctiesAnswer 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.
IntegratiesShort Link Monitoring with Sentry and Datadog: Who Does What
Short link monitoring with Sentry and Datadog: which Elido events become Sentry issues, what Datadog receives, and how to watch redirect latency yourself.
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.
IntegratiesDiscord 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.
IntegratiesWordPress 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
IntegratiesPassword 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
FunctiesLink 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
FunctiesHow 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.
FunctiesWebhooks for Link Events: Payloads, Signatures, Retries
URL shortener webhooks for link events: the real payload envelope, X-Webhook-Signature HMAC checks in Node and Python, the retry policy and dedup keys.
FunctiesURL 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.
FunctiesTinyURL-migratie-importer: hoe hij werkt en wat ontbreekt
Hoe de TinyURL-migratie-importer van Elido werkt: token erin, aliassen eruit, conflictregels, limieten en de bekende bug van een endpoint dat TinyURL mist.
EngineeringShort.io-migratie: export, import, cutoverchecklist
Plan een Short.io-migratie: exportopties, wat meekomt, hoe domeinen, mappen en tags worden gemapt, de Elido-importer, DNS-cutover en verificatiestappen.
MigratieShipping 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.
EngineeringDub.co-migratie naar Elido: wat de importer echt doet
Een blik op codeniveau op de Dub.co-importer van Elido: de API-aanroepen, welke velden meegaan, wat wordt overgeslagen (mappen, archief) en de limieten.
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.
VergelijkingenElido 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.
VergelijkingenSentry/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.
EngineeringKernartikelWhy 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
EngineeringKernartikelDeep 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.
FunctiesSelf-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.
EngineeringKernartikelConnect 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.
FunctiesKernartikelSet 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.
FunctiesDynamische vs statische QR-code: zo kies je tussen beide
Dynamische of statische QR-code? Een beslissingskader: bewerken, scananalytics, redirectsnelheid, kosten op termijn en wat er gebeurt als je vertrekt.
FunctiesCustom 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
FunctiesManage 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.
EngineeringKernartikelShipping 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
FunctiesKernartikel