Patrik Aronsson

Live Score Tennis 2.0

Workplace

MeMyselfAndAI

Tech

Frontend: Expo Router + React Native Web + TypeScript, exporterat till webb-bundle.

PWA: Installerbar via Web App Manifest, kör standalone på iOS/Android. Service worker driver push-notiser även när appen är stängd.

Datakällor: api-tennis.com via egen proxy-backend (scores, pointbypoint, rankings, H2H, spelarhistorik). YouTube Data API för highlights. Google News-scraping för nyheter.

AI: Anthropic Claude Haiku 4.5 för match-recaps, pre-match-analys, in-app-chat. Live Win Probability-heuristik på 7 signaler.

Realtid: TanStack Query polling, inte WebSocket. Live-matcher var 30s, Live Rankings var 5 min. Push-notiser drivs av cron som diff:ar match-snapshots i KV.

Backend: Express + TypeScript på Vercel serverless. Proxar api-tennis + Anthropic + Resend + YouTube. Per-endpoint in-memory cache med tier-baserade TTL:er.

Datalagring: Vercel KV för push-prenumerationer + match-snapshots. LocalStorage för följda spelare, tema och prefs. Claude-svar cache:as server-side per match.

Email: Resend.com för in-app-feedback (Settings → Give Feedback).

Hosting: Två Vercel-projekt på globalt Edge Network: frontend (livescoretennis.vercel.app) och backend (tennis-backend-iota.vercel.app).

Live Score Tennis ger dig live-resultat och kontext för varje match som spelas, från Roland Garros till en Challenger i Bratislava. Följ dina spelare, följ dina turneringar, få notiser när matchen startar och highlights släpps.

Öppna en match och du möts av mer än bara siffran. En Win Projection rör sig med dragens momentum, en AI-skriven pre-match-analys ger dig kontexten innan första bollen, surface-profilen visar formen på just denna yta, och Live Rankings flyttar dig fram i tabellen redan innan måndagen.