Vindictive Studios

Erfarenhet

WeightTrainer

App, coachportal och AI-coach i ett 90-dagarsprogram

Roll
Fullstackutvecklare
Period
Sedan aug 2025
Plattformar
iOS, Android, webb
Team
Två utvecklare

WeightTrainer är ett viktminskningsprogram som deltagare går på sitt lokala gym. De följer programmet i en app för iOS och Android, och coacherna följer deltagarna i en webbportal. Sedan augusti 2025 arbetar Joel på KlubbSverige som en av två utvecklare som planerar, bygger och driftsätter hela plattformen.

Om WeightTrainer

WeightTrainer ägs av KlubbSverige, ett nätverk inom gym- och träningsbranschen, och erbjuds som programmen WT-90 och WT-Senior. Kostprodukterna i programmet kommer från systervarumärket Anew. Appen finns på fyra språk.

Utgångsläget

Appen och coachportalen byggdes för två till tre år sedan, och beroendena hade hunnit bli gamla. Båda används varje dag av deltagare och coacher, så moderniseringen behövde göras i en produkt som är i drift.

Joels roll

Joel och en kollega delar det tekniska ansvaret, från planering till drift. De planerar med företagets ledning, skriver ärendena i Linear, bygger, granskar varandras kod vid större ändringar och släpper själva till App Store och Google Play. Teamet arbetar i sprintar.

  • Byggt av Joel

    • Supportsystemet
    • Ombyggnaden av coachportalen
    • Formulärbyggaren i portalen
    • Supporten i appen och supportformuläret för coacher
    • Sagas verktyg som meddelar coachen
  • Joels huvudfokus, tillsammans med kollegan

    • Ombyggnaden av appen till version 2.0
    • Saga Actions
  • Delat ansvar

    • Arkitektur och API
    • Driftsättning på AWS
    • Köp i appen och pushnotiser
    • Releaser till App Store och Google Play

Appen för iOS och Android

  • WeightTrainer i App Store: appen för dig som går programmet
  • WeightTrainer i App Store: följ din utveckling dag för dag
  • WeightTrainer i App Store: löpande tips genom programmet
  • Version 2.0, ombyggd från grunden

    Släpptes i januari 2026. Gamla Expo-beroenden ersattes med Expo SDK 55 och React Native 0.83, koden fick en ny struktur och appen en ny design, framtagen med en designer.

  • Köp, push och support

    Köp och prenumerationer via StoreKit och Google Play Billing, verifierade i backend. Pushnotiser och support direkt i appen.

  • Kopplad till hälsa och våg

    Steg från Apple Health och Health Connect. Mätningar från Bluetooth-vågar går automatiskt till coachen.

  • Släpps löpande

    23 versioner i App Store under 2026, från 2.0 i januari till 2.5 i oktober.

Saga, AI-coachen

  • Saga i appen med förslag på frågor att ställa
  • Saga föreslår vad deltagaren kan börja med i dag
  • Dagens vy i appen med ett råd från Saga
  • En dag i programmet med Sagas förklaring och dagens måltider
  • Svarar i realtid

    Saga bygger på en modell från OpenAI. Med verktygsanrop läser hon deltagarens måltider, vikt, humör och tråden med den personliga coachen.

  • Matförslag i appen

    Ber deltagaren om lunchtips visar Saga en karusell med måltider som passar fasen i programmet. Joel var med och tog fram funktionen, Saga Actions.

  • Meddelar coachen

    Skriver deltagaren att hen är sjuk och missar passet kan Saga meddela coachen i deltagarens namn. Det verktyget byggde Joel.

  • Sammanfattar för coacherna

    I portalen används Saga för analys och sammanfattningar av deltagarna.

En egen Saga för coacherna

Coacherna har Saga som coachingassistent: snabba coachingtips, måltidsidéer till deltagare, korta träningspass och hjälp att motivera den som har stannat upp.

Saga som coachingassistent, med förslag på frågor och ett svar till en coach

Coachportalen

Inloggningen till coachportalen
Formulärbyggaren i coachportalen, med versioner och texter på fem språk
  • Ombyggd i Next.js 16

    I augusti 2026 flyttade Joel portalen från en två–tre år gammal Next.js-version till Next.js 16.

  • Nya komponenter, ny design

    De egenbyggda komponenterna ersattes med shadcn/ui, så att portalen ser lika modern ut som appen.

  • Formulär med versioner

    Joel byggde formulärbyggaren: utkast sparas automatiskt, versioner publiceras och texterna översätts från svenska till fyra språk.

  • Ett API för app och portal

    Portalen och appen delar samma Fastify-API och samma inloggning via AWS Cognito.

Supportsystemet

Ett ärende i supportsystemet, med status, tilldelning och kundens tidigare ärenden
  • Byggt av Joel

    Ett eget ärendesystem, inspirerat av Zendesk, i Next.js, shadcn/ui, Tailwind CSS och Supabase.

  • Fyra varumärken, en inkorg

    Mejl till WeightTrainer, Anew, Xtrabutiken och KlubbSverige hämtas var 30:e sekund och blir ärenden. Deltagare skriver från appen och coacher via ett formulär i portalen.

  • Ärenden som går att följa

    Status, prioritet, tilldelning, vyer, kundens tidigare ärenden och översättning.

  • I daglig drift

    Används sedan våren 2026 av marknad, sälj, COO, marknadschef och utvecklare. Över 2 700 ärenden hittills.

Tekniken

  • React Native
  • Expo SDK 55
  • TypeScript
  • Next.js 16
  • shadcn/ui
  • Tailwind CSS
  • Fastify
  • PostgreSQL
  • AWS
  • Docker
  • GitHub Actions
  • Supabase
  • OpenAI
  • Appen och portalen delar ett Fastify-API med PostgreSQL på AWS RDS och inloggning via Cognito.
  • Varje backendändring byggs som en Docker-image och driftsätts på AWS ECS/Fargate och EC2.
  • Ändringar går från en egen gren till development och sedan main, med GitHub Actions.
  • Köp verifieras i backend, inte bara i appen.

Samarbete och leverans

Arbetet planeras i sprintar. Joel och kollegan stämmer av med ledningen, skriver ärenden i Linear och tar dem hela vägen till produktion. Appens nya design togs fram tillsammans med en designer. När något går fel i appen svarar utvecklarna själva i supportsystemet.

Resultat

  • Version 2.0 av appen, live i App Store och Google Play sedan januari 2026.
  • 23 versioner i App Store under 2026, från 2.0 till 2.5.
  • Coachportalen på Next.js 16 sedan augusti 2026.
  • Supportsystemet i drift sedan våren 2026, med över 2 700 ärenden från fyra varumärken.
  • Saga svarar i realtid och kan öppna deltagarens plan och incheckningar.

Relaterade tjänster

Det är samma arbete Vindictive gör i kundprojekt: appar i React Native, plattformar i Next.js och ansvar från planering till drift.

Bygger du en produkt?

Berätta vad du bygger och för vem. Vi återkommer med frågor och sedan ett förslag.