Our own product · Live on Google Play
Glenby Microadventures, honestly verified
An Android app that hands out small nature tasks and verifies proof via GPS and timestamp. Plus a bilingual marketing website that carries the calm tone of the product.
The product
Glenby hands out small outdoor tasks every day: a stream, a view, a tree. Proof is a photo with a GPS pin and a timestamp. The app deliberately avoids competitive pressure and daily streak anxiety.
-
Honest proof
GPS position plus timestamp as evidence. Deliberately no AI species detection, because real proof cannot be invented.
-
Daily tasks
Small nature tasks nearby: a stream, a view, a tree. No competition, no global leaderboard.
-
Weekly streaks
Streaks count per week, not per day. A missed day breaks nothing. Calm instead of casino mechanics.
-
Private & EU-hosted
All app data lives in Frankfurt. End-to-end encrypted notes and chats, Consent Mode v2 with deny-by-default.
-
Co-op parties
Shared tasks with friends in real time, including party chat.
-
Trailmates (18+)
Moderated co-op matching by experience instead of photos. No swipe carousel, no attractiveness ranking.
Marble without WebGL
The design brief called for gold-veined dark marble as the recurring brand material and a portal flight in the hero. The first draft planned a WebGL shader for it.
We shipped the same look without Three.js: background-clip on text, mask gradients, mix-blend-mode and GSAP timelines. Zero WebGL in the bundle, LCP stays clean, and every scene has a static fallback for reduced motion.
Typography: Fraunces as a variable display face with optical sizing, Hanken Grotesk for body text. Both self-hosted via next/font.
Tech stack
in detail
-
Next.js 16
App Router with cacheComponents, dynamic OG images via next/og, hosted on Vercel
-
React 19.2
Server components by default, client islands only for consent, waitlist and animations
-
TypeScript 6 strict
Strict mode, zod-validated environment variables via @t3-oss/env-nextjs
-
Tailwind CSS v4
Design tokens via @theme, 16px radius ceiling, a single easing curve
-
GSAP + Lenis
ScrollTrigger scenes with smooth scroll, every animation ships a reduced-motion fallback
-
Supabase
iOS waitlist via RPC in an isolated schema, no direct table access
-
Resend
Double opt-in for the iOS waitlist with honeypot, timing check and rate limiting
-
Strict CSP
Hand-built security headers, CSP violation reporting, HSTS preload, security.txt
More than a landing page
Security headers
Hand-written CSP with violation reporting, HSTS preload, COOP/COEP/CORP and security.txt per RFC 9116.
Legally sound
6 legal pages in both languages, including the German §356a cancellation button and 18+ labeling per JMStV.
GEO-ready
llms.txt, 28 AI crawlers explicitly allowed by name in robots.ts, and JSON-LD without invented ratings.