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.

01~50 ms

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.

02~150 ms

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.

03~30 s

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.

04~600 ms

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.

xAI Grok-3-mini (×2)$0.0005
TripAdvisor (cached, free 5k/mo)$0.0000
Foursquare (cached)$0.0000
Cloud Run worker (~30 s)$0.0009
Groq Whisper (~60 s of audio)$0.0010
Total$0.0024

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