/ Mobilapplikation
Divido
En mobilapp för att dela gemensamma utgifter och hålla reda på vem som är skyldig vem.

Roll
Fullstackutvecklare & produktutvecklare
Period
Pågående
Problemet
Att dela kostnader i en grupp blir snabbt svårt att hålla reda på när olika personer betalar olika utgifter. Utmaningen är inte bara att registrera kostnader, utan att modellera deltagare, betalningar och fördelningar på ett sätt som gör att saldot alltid kan räknas fram korrekt.
Lösningen
Jag utvecklar Divido som en mobilapp där användare kan skapa grupper, hantera medlemmar och registrera gemensamma utgifter. React Native och Expo används för klienten medan Supabase tillhandahåller autentisering, API och PostgreSQL-databas. Behörighet hanteras med Row Level Security så att användare endast kan komma åt grupper och data de har rätt till.
Mitt ansvar
- Ansvarar för produktidé och användarflöden.
- Utvecklar frontend och datamodell.
- Implementerar autentisering och databasarkitektur.
- Arbetar med API-integration och behörighetsregler.
- Implementerar formulärvalidering och versionshanterade databasmigrationer.
Teknisk lösning
- Supabase Auth används tillsammans med en separat profiles-modell för applikationsdata.
- PostgreSQL Row Level Security begränsar åtkomst till grupper och medlemskap.
- En PostgreSQL-funktion skapar gruppen och det första medlemskapet atomärt i samma transaktion.
- React Hook Form och Zod används för formulär och validering.
- Expo Router används för navigationen.
Resultat
Projektet har hittills resulterat i en fungerande mobilgrund med registrering, inloggning, användarprofiler, gruppskapande och visning av gruppmedlemmar kopplat till en produktionsnära backend. Nästa steg är medlemsinbjudningar och den centrala modellen för utgifter, fördelningar och saldon.
Lärdomar
- Arbeta mer produktionsnära med mobilutveckling och backendarkitektur.
- Skilja autentisering från applikationsdata och inte förlita sig på klienten för säkerhet eller kritisk affärslogik.
- Arbeta praktiskt med PostgreSQL-relationer, RLS, databasfunktioner och atomiska operationer.
Teknik
- React Native
- Expo
- Expo Router
- TypeScript
- Supabase
- PostgreSQL
- Supabase Auth
- Row Level Security
- React Hook Form
- Zod