Lyfta - en integritetsvänlig träningslogg som fungerar helt offline
Kontofri träningslogg för Android där användaren äger sin data fullt ut.
Lyfta är en mobil träningsloggapp där användaren bygger ett eget övningsbibliotek, loggar sina pass och följer sin utveckling genom statistik och visualiseringar, helt utan konto och utan uppkoppling, med all data lagrad lokalt på enheten.
- Roll Solo - arkitektur, design & utveckling
- Projekttyp Eget produktprojekt
- Plattform Android (iOS-stöd i kodbasen)
- Arkitektur Offline-first, kontofri
Skärmbilder från appen
Ett urval av vyer, från startskärm och övningsbibliotek till statistik per övning. Bläddra för att se fler.
Utmaningen
De flesta träningsappar kräver konto, molnsynk och ständig uppkoppling, och tar i utbyte både din data och din uppmärksamhet. Målet med Lyfta var det motsatta: en snabb, distraktionsfri app där användaren äger sin data fullt ut, kan logga sina pass utan inloggning och ändå inte riskerar att tappa sin träningshistorik.
Lösningen
Lyfta är en mobil träningsloggapp byggd för Android (med iOS-stöd i kodbasen). Användaren bygger upp ett eget övningsbibliotek med mallar, loggar pass, sätter mål och följer sin utveckling genom statistik och visualiseringar, allt lagrat lokalt på enheten.
Centralt i designen är en kontofri, offline-first-arkitektur. Det finns ingen backend och ingen inloggning; all data lever på enheten. För att lösa det klassiska problemet med lokal lagring (risken att tappa allt) byggde jag en backuplösning som använder Androids inbyggda delningsfunktion (Storage Access Framework). Användaren kan exportera sin data till Google Drive, Dropbox eller lokalt, och återställa via filväljaren, helt utan OAuth, tokens eller tredjeparts-SDK:er. Backupfiler valideras vid import: manipulerade eller korrupta filer avvisas, och en avbruten återställning rullas tillbaka så att befintlig data aldrig skadas.
Teknik
- React Native & Expo (SDK 52) med TypeScript genomgående
- React Navigation (flikar + stacknavigering)
- Lokal lagring med SQLite/MMKV och en versionerad datamodell
- Egenbyggda diagramkomponenter (stapel- och linjediagram samt träningsheatmap), inga tunga grafikbibliotek
- expo-notifications för vilotimer och påminnelser
- Testdriven utveckling: 220 enhetstester med Jest och React Native Testing Library
En medveten princip genom hela projektet var "enklaste lösningen först": att hålla arkitekturen lätt och begriplig snarare än att lägga till abstraktioner i förebyggande syfte.
Resultatet
En fullt fungerande app med robust datahantering, hög testtäckning och en backuplösning som ger användaren full kontroll över sin data utan att kompromissa med integriteten. Appen är färdigutvecklad men ännu inte publicerad.
Vill du bygga något liknande?
Behöver du en app eller ett system byggt med samma omsorg om kvalitet, integritet och datakontroll? Hör av dig så pratar vi om ditt projekt.