Haralt er en utleieplattform der folk kan låne ting de trenger – støvsuger, brettspill, Playstation, klesdamper – fra fysiske smart-skap plassert i nærområdet. Hele flyten foregår selvbetjent: brukeren blar i tilgjengelige produkter på sin lokasjon, betaler med kort eller Apple Pay, åpner skapet via app, og returnerer når de er ferdige.
Fra fysisk skap til app
Kjernen i Haralt er koblingen mellom en app og et fysisk smart-skap. Skapene står ute i nærmiljøet – fra studentbyer som Ullevål til utleie av skiutstyr i alpinbakken – og låses opp on-demand når en leie starter. For brukere uten appen finnes en QR-kode på skapet som alternativ inngang. De gule skapene startet som en enklere prototype internt kalt «Boksen», og utviklet seg til utleieløsningen som er i drift i dag.
Hva jeg jobbet med
Som fullstack-utvikler bidro jeg på tvers av hele stacken:
- Mobil-app (React Native + Expo) med Expo Router, Supabase realtime og Stripe PaymentSheet for kort og Apple Pay.
- Web-app (Astro 5 + React-islands) for nettsidens utleieflyt og admin-dashbord.
- Backend (Supabase) — Postgres-skjema, edge functions for IoT-integrasjon mot skapene, RLS-policies og typegenerering.
- Betalingsflyt med 3DS-støtte og off-session-belastning ved retur, slik at brukeren slipper å autorisere på nytt.
Selvbetjent utleieflyt
Hele leieforløpet er bygget for å stå på egne bein uten en ansatt til stede. Brukeren ser hva som er tilgjengelig på sin lokasjon i sanntid, starter en leie, får instruksjoner for å åpne skapet og hente ut produktet, og fullfører med en returflyt som bekrefter innlevering og lar deg rapportere problemer. Ved retur belastes riktig beløp automatisk via den lagrede betalingsmetoden.
Stack
React Native 0.81 · Expo 54 · Astro 5 · TypeScript · Supabase (Auth, DB, Realtime, Edge Functions) · Stripe · PostHog · Vercel









