Produkt Flutter · Supabase · Edge

EcoShelf — slik fungerer appen

Denne siden er en teknisk og produktmessig «dypdykk» for deg som vil forstå arkitekturen, dataflyt, Pro-funksjoner og hvordan vi tenker skalerbarhet og personvern. EcoShelf er utviklet av Hazher og drives med moderne sky-infrastruktur.

EcoShelf

Visjon og brukerverdi

EcoShelf samler det du faktisk har av mat og relaterte varer i ett system: kjøl, tørr, frys og valgfritt delt skap. Målet er mindre matsvinn, lavere handlekostnader og mindre friksjon i hverdagen — med tydelige datoer, påminnelser og smarte verktøy når du vil handle eller lage mat.

1 Registrer Skann strekkode, legg inn manuelt, eller bruk kvitterings- og skapbilder med KI der det er støttet.
2 Oversikt Se hva som går ut på dato, hva du har mye av, og hva som mangler til middag.
3 Handle og lag mat Handleliste koblet til behov; oppskrifter (Pro) som matcher lageret ditt.

Arkitektur (appen + sky)

Klienten er bygget i Flutter (Dart) og leverer samme kodebase til iOS og Android. Bak ligger Supabase: PostgreSQL-database, innebygd autentisering, lagring og Edge Functions (Deno) for oppgaver som ikke bør ligge i appen — API-nøkler, betaling, tredjeparts-KI-proxy og bildeoppslag.

┌─────────────┐ HTTPS / JWT ┌──────────────────┐ │ EcoShelf │ ◄──────────────────► │ Supabase │ │ (Flutter) │ │ · Auth │ └─────────────┘ │ · PostgreSQL+RLS │ │ │ · Storage │ │ │ · Edge Functions │ ▼ └────────┬─────────┘ Kamera / strekkode │ ▼ OpenAI / Apple / Google (via proxy & IAP-verify)

Hvorfor Edge Functions?

Hemmeligheter (OpenAI-nøkkel, Apple shared secret, bilde-API-nøkler) ligger kun på serveren. Appen sender en kortlivet bruker-token (JWT) og får tilbake resultat — ikke rå nøkler. Det er et standard mønster for skalerbare forbrukerapper.

Data, personvern og tilgangskontroll

Brukerdata ligger i databasen med Row Level Security (RLS): hver rad knyttes til din bruker-id, og policyene hindrer at andre kan lese eller endre dine varer. Delt matskap er modellert med eksplisitte medlemskap og egne policyer slik at synlighet følger reglene — ikke «tilfeldig tilgang».

App Store / Google Play: Personvernerklæring for selve appen (kan lenkes i App Store Connect) ligger på hazher.no/ECOSHELF/Privacy/. Nettstedet hazher.no har egen personvernerklæring for besøk på siden.

Tips for nysgjerrige: Juridiske tekster (personvern, vilkår) for det offisielle produktet ligger på ecoshelf.app. Denne hub-siden forklarer produktet teknisk og er ment som støtte — ikke erstatning for juridiske dokumenter.

Matskap og delt lager

«Matskapet» er den sentrale varelisten. Varer kan ha kategori, lagringssted, utløpsdato og pris der det gir mening. Delt inventory lar husstanden dele utvalgte varer eller skap med inviterte medlemmer — nyttig for familier og kollektiv. Endringer synkroniseres via skyen slik at alle ser oppdatert informasjon når nett er tilgjengelig.

Skanner, kvittering og KI

Skanneren støtter blant annet strekkode for å slå opp produktdata der kildene svarer (f.eks. åpne produktdatabaser). For kvitteringer og skap-bilder brukes sky-KI innenfor kvoter: gratis nivå har begrensninger, mens Pro gir høyere eller ubegrenset bruk avhengig av innstilling — se appen for gjeldende grenser.

KI-kall går gjennom kontrollerte proxy-funksjoner; innholdet behandles i tråd med formålet (tolke tekst/bilde for å foreslå varer), ikke for å selge tredjeparts reklame basert på kvitteringstekst.

Oppskrifter (EcoShelf Pro)

Oppskriftsfanen er en Pro-funksjon. Sky-KI foreslår retter basert på det du faktisk har registrert, markerer det du eventuelt må kjøpe, og kan koble mot handlelisten. Motoren verifiserer ingredienser mot matskapet med fuzzy matching og «basisvarer» (salt, olje, …) slik at «har alt» og detaljvisning ikke motsier hverandre.

Produktbilder og oppskriftsbilder

Varer i matskapet: Beste treff får du med strekkode mot produktdatabaser — da kan vi vise faktiske produktfoto der katalogen har dem. Uten strekkode brukes kategori-baserte illustrasjoner eller søk mot bilde-API — det er ment som visuell hjelp, ikke en garanti for riktig merke eller emballasje.

Oppskriftsbilder: Serveren kan søke etter relevante matfoto (f.eks. Unsplash/Pexels) ut fra rettens navn, med filtrering mot åpenbart irrelevante treff. Det krever at API-nøkler er satt i sky-prosjektet. Uten nøkkel faller appen tilbake til en enklere illustrasjonspool.

EcoShelf Pro og betaling

Pro aktiveres via App Store / Google Play (in-app-kjøp/abonnement). Kvitteringen verifiseres på server (Edge Function) mot plattformens API-er, og kontoen din får oppdatert Pro-status i databasen. Dette skal skje automatisk uten manuell behandling per bruker.

Område Gratis / basis Pro (indikativt)
Matskap, lister, mye grunnleggende Ja Ja
Sky-KI oppskrifter + full flyt Nei / begrenset demo Ja
Annonser Kan vises Ofte uten (se app og vilkår)

Eksakt funksjonsliste endres med app-versjon; sjekk App Store-beskrivelse og innstillinger i appen.

Drift for mange brukere

Designet er «stateless» der det lønner seg: autentiserte API-kall, horisontalt skalerbar database, og hemmeligheter sentralt. Bilde- og KI-kall bør caches der det er mulig for å spare kost og respektere leverandørenes rate limits. Ved ekstrem vekst flyttes tyngdepunktet til caching, køer og eventuelt dedikert bilde-CDN — uten at sluttbrukeren må «konfigurere noe».