Android-sovellus

GainsAI

Tekoälyavusteinen kuntosaliharjoittelun suunnittelu, kirjaaminen ja seuranta

Julkaistu Google Playssa

GainsAI rakentaa käyttäjälle henkilökohtaisen harjoitusohjelman, ohjaa treenit läpi liike kerrallaan ja kokoaa harjoitushistoriasta selkeän kuvan kehityksestä. Kyseessä ei ole käyttöliittymädemo: kokonaisuuteen kuuluu Android-sovelluksen lisäksi oma FastAPI-backend, tietokanta, käyttäjätunnistus, tilausmaksut ja varmuuskopiointi.

// gainsai · tuotannossa
const stack = {
  app: ["Kotlin", "Jetpack Compose",
        "Material 3"],
  api: ["FastAPI", "Python", "MariaDB"],
  platform: ["Firebase Auth", "App Check",
             "Play Integrity", "Play Billing",
             "Google Drive API"]
}

Tuote

Kuntosaliharjoittelu kaatuu usein samaan asiaan: ohjelma on joko liian yleinen tai se jää päivittämättä, ja treenipäiväkirja jää täyttämättä. GainsAI hoitaa ohjelman rakenteen, tekee kirjaamisesta nopeaa ja näyttää kehityksen ilman erillistä taulukkolaskentaa.

Kenelle

Kuntosalilla treenaaville, jotka haluavat selkeän viikko-ohjelman ilman sen käsin rakentamista – vasta aloittaneesta pidempään harjoitelleeseen.

Mitä se ratkaisee

Valmiit ohjelmat eivät huomioi tavoitetta, käytettävissä olevia treenipäiviä tai välineitä. GainsAI muodostaa ohjelman näiden perusteella ja pitää harjoitushistorian, kehon mittarit ja ravitsemuksen samassa paikassa.

Miten sitä käytetään

Käyttöönotossa kysytään tavoite, kokemustaso, treenipäivien määrä ja käytettävissä olevat välineet. Niistä syntyy ensimmäinen ohjelma, jonka voi vaihtaa, muokata käsin tai generoida uudelleen.

Keskeiset ominaisuudet

Harjoitusohjelmat

  • Tekoälyn luomat ohjelmat tavoitteen, tason, treenipäivien ja välineiden perusteella
  • Manuaalinen ohjelmaeditori: split, kesto viikkoina, treenipäivät ja liikkeet
  • Ohjelmakirjasto: tallennetut ohjelmat, aktiivisen ohjelman vaihto ja poisto

Treenien kirjaaminen

  • Viikkonäkymä ja päiväkohtaiset harjoitukset liikelistoineen
  • Sarjat, toistot, painot, RIR ja lepoajat samassa näkymässä
  • Liikkeen korvaaminen, liikkeen tiedot ja lepoajastin

Kehityksen seuranta

  • Harjoitushistoria ja treenikohtaiset yhteenvedot
  • Voimakehityksen analytiikka ja arvioitu 1RM
  • Nostot kehityksestä, palautumisesta ja viikkorytmin johdonmukaisuudesta

Kehon mittarit

  • Painon ja mittojen kirjaaminen sekä niiden kehityssuunta
  • Valinnainen Health Connect -yhteys painolukemien lukemiseen ja kirjaamiseen
  • Kehon mittarit näytetään harjoitusdatan rinnalla seurantanäkymissä

Ravitsemus

  • Ravintotavoitteet: kalorit ja makroravinteet
  • Tekoälyn luomat ateriasuunnitelmat, jotka voi generoida uudelleen
  • Päiväkohtainen kirjaus ja tavoitteiden toteutumisen seuranta

Viikoittainen check-in

  • Energia, palautuminen, motivaatio, uni ja stressi
  • Harjoittelun ja ravitsemuksen toteutuminen omana arviona
  • Vastauksista koostetaan tilannekuva ja seuraavan jakson painopiste

Tekoälyn rooli

Tekoäly on GainsAI:ssa työkalu, joka nopeuttaa ohjelman rakentamista ja datan tulkintaa. Se ei toimi itsenäisesti taustalla eikä tee muutoksia käyttäjän puolesta.

Ohjelmien generointi

Käyttöönoton vastaukset muunnetaan viikko-ohjelmaksi: split, treenipäivät, liikkeet, sarja- ja toistoalueet sekä lepoajat. Ohjelman voi generoida uudelleen tai korvata käsin tehdyllä ohjelmalla.

AI Coach

Coach vastaa harjoitteluun liittyviin kysymyksiin ja käyttää kontekstinaan käyttäjän omaa aktiivista ohjelmaa, kirjattuja treenejä ja kehityssignaaleja. Se selittää, mitä data kertoo, ja nostaa esiin seuraavat kehityskohteet. Coach ei muuta ohjelmaa itse, vaan muutoksista päättää käyttäjä.

Analyysi ja priorisointi

Backend laskee harjoitushistoriasta kehitys-, palautumis- ja johdonmukaisuussignaalit ja järjestää ne tärkeysjärjestykseen. Käyttäjälle näytetään muutama olennainen havainto koko datamassan sijaan.

Ateriasuunnitelmat ja tekstit

Ateriasuunnitelmat, suositustekstit ja osa käyttäjälle näytettävistä sisällöistä tuotetaan tekoälyllä ja käännetään sovelluksen tukemille kielille.

Turvallisuus ja valvonta

Coachin vastaukset kulkevat erillisen turvakerroksen läpi, ja käyttäjä voi ilmoittaa ongelmallisesta tekoälyvastauksesta suoraan sovelluksesta. Ilmoitukset käsitellään backendissa.

GainsAI on kuntoilu- ja hyvinvointisovellus. Se ei korvaa henkilökohtaista valmentajaa, fysioterapeuttia tai terveydenhuollon ammattilaista, eikä sitä ole tarkoitettu sairauksien diagnosointiin tai hoitoon.

Tekninen toteutus

GainsAI on tuotannossa oleva järjestelmä, ei käyttöliittymäprototyyppi. Android-sovellus, rajapinta, tietokanta, tunnistautuminen, maksut ja varmuuskopiointi on suunniteltu, toteutettu ja julkaistu yhtenä kokonaisuutena.

Android-sovellus

Kotlin · Jetpack Compose · Material 3 · Navigation Compose · DataStore · WorkManager · Retrofit / OkHttp / Moshi · Coil

  • MVVM- ja repository-rakenne sekä StateFlow-pohjainen tilanhallinta
  • Tuki Android 8:sta (API 26) alkaen, käännetty API 36:ta vasten
  • Käyttöliittymä 17 lokalisoidulla kielellä oletusresurssien lisäksi
  • Käännösten kattavuus ja kovakoodatut tekstit tarkistetaan automaattisesti build-vaiheessa

Backend ja tietokanta

FastAPI · Python · Pydantic · SQLAlchemy · MariaDB

  • REST-rajapinta ohjelmille, treeneille, kehitykselle, ravitsemukselle, check-ineille, Coachille ja tilauksille
  • Versioidut SQL-migraatiot ja yksi kanoninen tietokantaskeema
  • Pitkäkestoiset generoinnit ajetaan taustatöinä, jotta käyttöliittymä ei jää odottamaan
  • Sovelluslogiikka on jaettu selkeisiin palvelukerroksiin domain-alueittain

Tunnistautuminen ja sovelluksen eheys

Firebase Authentication · Firebase App Check · Google Play Integrity

  • Kirjautuminen sähköpostilla tai Google-tilillä
  • Jokainen suojattu pyyntö vaatii varmennetun Firebase ID -tokenin ja App Check -tokenin
  • Play Integrity varmistaa, että pyyntö tulee aidosta sovellusasennuksesta
  • Tilin ja siihen liittyvän datan poisto onnistuu suoraan sovelluksesta

Tilaukset

Google Play Billing · Google Play Developer API

  • GainsAI Pro kuukausi- tai vuositilauksena, hinnat suoraan Google Playstä
  • Backend varmentaa ostot Google Play Developer APIlla; sovellus ei myönnä käyttöoikeuksia itse
  • Ostotunnisteet käsitellään salattuna palvelinpuolella
  • Ostojen palautus ja tilauksen hallinta ohjataan Google Playhin

Varmuuskopiointi ja pilvipalvelut

Google Drive API · Health Connect · Firebase

  • Varmuuskopio tallennetaan käyttäjän omaan Google Driveen sovelluskohtaiseen kansioon
  • Palautus tarkistaa käytetyn tilin ja pyytää vahvistuksen ennen ylikirjoitusta
  • Valinnainen Health Connect -integraatio painodatalle käyttäjän luvalla
  • Sovellusdata säilytetään backendissa, joten se seuraa laitteen vaihtuessa

Laatu, seuranta ja julkaisu

Firebase Crashlytics · Firebase Analytics · Play In-App Updates · Linux-palvelinympäristö

  • Kaatumisraportointi käytössä vain tuotantoreleasessa
  • Backend ajetaan omassa Linux-palvelinympäristössä varmuuskopioinnin kanssa
  • Julkaisu vietiin suljetun testauksen kautta tuotantoon Google Playssa
  • Play Consolen edellyttämät ilmoitukset terveys- ja AI-sisällöstä käytiin läpi ennen julkaisua

Kuvakaappaukset

Kuvat ovat sovelluksen Google Play -esittelykuvia. Käyttöliittymä näkyy niissä englanniksi, mutta sovellus tukee 17:ää lokalisoitua kieltä. Klikkaamalla kuva avautuu täysikokoisena.

GainsAI-sovelluksen ohjelmanäkymä, jossa näkyvät Upper/Lower-split, ohjelman kesto ja viikon harjoituspäivät.
Viikko-ohjelma: aktiivisen ohjelman split, kesto, tavoite ja treenipäivät sekä viikkonäkymä päivittäisine harjoituksineen.
GainsAI-sovelluksen treeninäkymä, jossa näkyvät penkkipunnerrus, liikkeen tiedot, havainnekuva ja lepoajastin.
Ohjattu treeni: päivän liikkeet järjestyksessä, liikkeen tiedot ja havainnekuva, liikkeen korvaaminen sekä lepoajastin.
GainsAI-sovelluksen kirjausnäkymä, jossa syötetään sarjan toistot, paino kilogrammoina ja RIR-arvo.
Sarjojen kirjaaminen: toistot, paino ja RIR sarjakohtaisesti, tavoitearvot sekä nopeat säädöt.

Julkaisutilanne

GainsAI on julkaistu Google Play -kauppaan tuotantoon paketilla com.janstech.gainsai. Julkaisua edelsi suljettu testaus sekä Play Consolen edellyttämät ilmoitukset terveys- ja fitness-sovelluksista, generatiivisesta tekoälysisällöstä ja tietosuojakäytännöistä. Osa ominaisuuksista on käytettävissä ilman tilausta, ja GainsAI Pro avaa muun muassa lisäohjelmat, kehityksen analytiikan, ateriasuunnitelmat, Drive-varmuuskopioinnin ja laajemman AI Coach -käytön.