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
/rechtpage 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