Under the hood
How GeoTok turns
videos into pins.
A four-stage cascade designed for accuracy and speed. Most shares are pinned in under 30 seconds; the worst case (silent video, no caption) takes about a minute and still finds the place.
Caption + page scrape
We pull the caption straight from the share URL plus oEmbed metadata. Most TikToks include the place name in the description — that alone resolves ~60% of shares without further work.
On-device thumbnail OCR
Apple's Vision framework reads any on-screen text on the video thumbnail right on your iPhone. Restaurant names overlaid on the video get caught here without ever leaving the device.
Audio transcription (when needed)
If the cheap stages don't find a verified place, we transcribe the audio with Groq's Whisper Large v3 Turbo via a Cloud Run worker (yt-dlp + ffmpeg + Whisper). Full transcript feeds into stage 4.
LLM extraction + verify
xAI's Grok-3-mini reads everything — caption, OCR text, transcript, hashtag city — and returns structured candidates. Each is verified against TripAdvisor + Foursquare for a real address and lat/lng before landing on your map.
The stack
Boring tech, picked deliberately.
Mobile
SwiftUI
iOS 17+, native. No React Native, no Flutter — the share-extension experience matters too much.
Auth + DB
Supabase
Postgres + RLS, Sign in with Apple, Edge Functions in Deno for the cascade glue. Cheap to run, fast to ship.
Worker
Cloud Run
Python service: yt-dlp pulls audio, ffmpeg extracts frames, Whisper transcribes. Stateless, auto-scaling to zero.
Extraction
xAI Grok-3-mini
Cheap, fast, structured output. Used in two places — initial extraction and post-transcript refinement.
Speech-to-text
Groq Whisper Large v3 Turbo
~5 cents per hour of audio, sub-second per minute. Cheaper and faster than running Whisper ourselves.
Place verify
TripAdvisor + Foursquare
Two providers because no single one has every venue. TA wins on hospitality; FSQ wins on coverage.
Coords
Apple MKLocalSearch
On-device fallback when our verifiers don't have a venue. Apple knows every coffee shop on Earth.
Subscriptions
StoreKit 2 + RevenueCat
Apple owns the purchase. RC owns the receipt + cross-platform entitlement. Webhook syncs to Postgres.
Site
Next.js + Netlify
Static export — privacy / terms / this page are pre-rendered HTML. No SSR, no edge functions.
Cost ceiling
~$0.0025 per share, worst case.
GeoTok Plus at $7.99/month breaks even at ~3,300 shares/user/mo — well above what any single user will produce. The 80-video cap keeps even heavy users profitable.
Built by one person.
Shipping fast.
GeoTok is a solo project. If you have feedback or want to talk shop — [email protected].
Try GeoTok free