Portfolio preview: the studio site is a private work-in-progress (noindex) — the project itself is live.
← Back to portfolio

Case study · live

wildlokal24 — regional game meat, direct from the hunter

An anonymous marketplace connecting hunters and buyers for regional game meat — real names and contact are shared only after both sides agree.

Neon Postgres Vercel Serverless Magic-Link Auth Vercel Blob Privacy by design Bilingual DE/EN
wildlokal24 — regional game meat, direct from the hunter
Role
Solo — product, design, full-stack engineering, deployment
Stack
Static frontend · Vercel Serverless · Neon Postgres · Magic-Link · Blob
Timeline
Content hub + serverless marketplace, built part-time
Year
2026
Status
Live (public)

A two-sided marketplace that lets hunters offer regional game meat and lets locals find it — without either side exposing their identity, and without the operator having to hold sensitive personal data.

The challenge

Hunters often have surplus, high-quality game meat; nearby people would happily buy it — but hunters value discretion, and the operator does not want to become a holder of everyone's name, address and phone number (a real GDPR liability). The brief: connect both sides with enough trust to trade, while keeping the platform itself data-minimal and privacy-preserving.

The approach

  • Anonymous by design. Listings show only a pseudonym and a coarse region (2-digit postcode). Real names and contact details are never stored as market data — they're exchanged directly only after a mutual "reveal" handshake in an anonymous in-app chat.
  • Passwordless accounts. Login is a Magic-Link (email via SMTP); the identity is the mailbox, sessions are HMAC-signed cookies — no passwords, no token table.
  • Serverless data layer. Vercel Functions over Neon Postgres (EU), with authorization enforced in the API layer and the schema kept deliberately PII-free.
  • Photos that don't leak the revier. Images are resized and EXIF/GPS-stripped in the browser before upload to Vercel Blob.
  • Domain & legal diligence. Researched Germany's game-meat food law and reworked a naïve "I am registered" checkbox into an honest, abgabeweg-dependent self-commitment; added a Trichinen check for wild boar, a regional Caesium-137 hint, a /recht page and a binding pre-publish disclaimer (no cruelty/trophy/ political imagery — it's a food product, not a statement).
  • Two-sided and trustworthy. Anonymous chat, buyer requests as well as offers, and a rating system tied to real conversations.
  • A full listing lifecycle. Create, edit, renew and soft-delete, with an automatic expiry (a daily cron job) so stale offers disappear on their own; owners and an admin role can moderate.
  • Ammunition transparency — researched, not invented. A listing can state calibre, bullet type and lead-free vs. lead, with a tooltip sourced from the German BfR on the health background — because this is a food product, not a trophy.
  • Discoverable and measured. A client-side favourites/watchlist, Schema.org structured data with an FAQ (so search engines and AI assistants can surface it), and privacy-friendly, cookieless analytics.

The result

  • A working end-to-end flow: magic-link login → onboarding → listing with photos → anonymous chat → mutual reveal — plus a bilingual DE/EN content hub that funnels SEO traffic into the marketplace.
  • Privacy-preserving and legally careful, and it runs on lean, largely free-tier infrastructure.
  • Honest trust signals (email-confirmed, member since, ratings) instead of costly KYC.

What this demonstrates

  • Turns a fuzzy, two-sided idea into a shipped full-stack product — auth, database, file upload, messaging and all.
  • Privacy- and compliance-by-design, not bolted on afterwards.
  • Full ownership: product thinking → data modelling → serverless engineering → legal research → deployment.
  • Fast, AI-assisted delivery, steered and curated by a human.

Tech at a glance

Static HTML/CSS/JS · Vercel Serverless (ESM) · Neon Postgres (EU) · Magic-Link auth · HMAC cookie sessions · SMTP (nodemailer) · Vercel Blob · Client-side EXIF strip · Anonymous chat + reveal · Ratings · Listing CRUD + auto-expiry (cron) · Favourites · Schema.org / GEO · Cookieless analytics · Bilingual DE/EN