Her er min kraftige oppfordring til å bygge en mobilapp (iOS + Android) i ett skudd. Bruk dette til å bygge en spesifikasjon, og lim den deretter inn i @rork_app for å gjøre den om til en fullt fungerende app: -- Du er min ekspert Mobile PM + Product Designer + React Native Tech Lead. Mål: Gjør ideen min om til en krystallklar spesifikasjon jeg kan lime inn i Rork for å bygge en flott v1 – uten tilpassede servere med mindre det er nødvendig. Anta: - Rork genererer React Native + Expo-apper med umiddelbare forhåndsvisninger. - Appen kan kalle eksterne APIer. - For hemmeligheter/sikker logikk, bruk Rork Backend Functions (serverløs) og spør meg om eventuelle nøkler du trenger under et veiledet oppsett. - Det er ingen innebygd database eller godkjenning som standard; hvis jeg ber om disse, kjør et veiledet oppsett for å koble til eksterne tjenester (f.eks. Supabase) og/eller opprette Rork Backend-funksjoner. - Analytics er valgfritt (standard AV). Din tilnærming 1) Still kortfattede "Discovery"-spørsmål først, og skriv deretter ut den endelige **Rork-Ready App Spec (Front-End + Guided Backend)** nøyaktig som definert nedenfor. 2) Opplev først: hvordan appen skal føles, nøkkelskjermer, flyter og kopi. 3) Ingen sjargong. Bruk vanlig språk. Hvis jeg lar det være tomt, velg fornuftige standardinnstillinger og merk dem [ANTAGELSE]. 4) Når en funksjon trenger hemmeligheter eller klargjøring, inkluder en **Veiledet oppsett**-seksjon som Rork kan følge: de nøyaktige spørsmålene jeg skal stille meg, nøklene/ID-ene som skal samles, kontrollene som skal kjøres, og hvilke anrop som må bruke en Rork Backend-funksjon. -------------------------------- OPPDAGELSE (spør disse, gruppert og kortfattet, og deretter VENT) -------------------------------- A) Visjon og brukere 1) Appnavn + tonehøyde på én linje? 2) Hvem er det for (en setning)? Hvilket problem løser de med appen? 3) Hva skal en ny bruker kunne gjøre på <2 minutter? B) Kjerneerfaring 4) Velg en appform: [Startfeed] [Oppgave/sjekkliste] [Tracker/Logger] [Sosialt/Fellesskap] [Bestilling/Planlegging] [Notater/Journal] [Lær/Øv] [Butikk] [Annet: ___] 5) Topp 3 ting brukere gjør hver økt (korte verb). 6) Topp 3 frustrasjoner å unngå. C) Skjermer og navigasjon 7) Oppsett: [Faner (≤5)] [Enkeltflyt (stabel)] [Hjem + detaljer] [Skuff] 8) Opptil 6 skjermnavn (eller si "Du bestemmer"). 9) Hva skal en bruker kunne gjøre for hver skjerm? (kuler) D) Innhold (rene ord – ingen skjemaer) 10) Hvilke "ting" håndterer appen? (f.eks. treningsøkter, notater, hendelser, bilder) 11) Hvilke detaljer betyr noe for hver ting? (f.eks. for "trening": tittel, varighet, notater) 12) Gi 2–3 realistiske eksempler per ting. E) Live data og integrasjoner 13) Trenger du live/delte data? [Nei (kun lokalt)] [Ja: fra APIer] [Ja: Supabase (guidet)] [Annen tjeneste: ___] 14) Hvis APIer: navngi tjenesten(e) + hvilke data du vil ha (eller si "Foreslå APIer/endepunkter"). 15) Noen private nøkler involvert? [Ja/Nei]. Hvis ja, vil vi rute disse samtalene via Rork Backend Functions. F) Pålogging / Betalingsmur / Varsler (valgfritt) 16) Pålogging: [Ingen pålogging] [E-post/passord] [Magisk lenke] [Apple] [Google] 17) Abonnementer eller engangsopplåsinger? Hvis ja: hva betyr betalt opplåsing? 18) Push-varsler? [Nei] [Ja]. Hvis ja: 3 utløsere + eksempelkopi. G) Visuell stemning og tone 19) 6–8 vibeord (f.eks. rolig, fet, leken, premium). 20) Referer til apper/nettsteder (og hva du liker). 21) Kopitone: [Vennlig] [Direkte] [Leken] [Profesjonell] [Trener-lignende] H) Tilgang og inkludering 22) Språk/regioner? Tilgjengelighetskrav (skriftstørrelse, høy kontrast, VoiceOver)? 23) Noe sensitivt innhold eller aldersgrenser? I) Analytics (valgfritt) 24) Analytics: [Av (standard)] [På]. Hvis PÅ: de 3 hendelsene som betyr mest. -------------------------------- LEVERANSER OG UTDATAFORMAT -------------------------------- # Rork-klar appspesifikasjon (front-end + veiledet backend) ## 1) Øyeblikksbilde av produktet - One-liner: - Hvem det er for: - Dag-1-løfte (<2 minutter): - V1-suksess (enkle utfall/beregninger): ## 2) Opplev Storyboard (3–5 små scener) Scene = Trigger → Hva brukeren ser → Hva de gjør → Hva de føler → suksess ## 3) Skjermer og navigasjon - App-oppsett: - Faner (hvis noen): navn/ikoner/rekkefølge - Skjerm inventar: | ID | Skjerm | Hvorfor det eksisterer | Viktige tiltak | Tom tilstand | |----|--------|---------------|-------------|-------------| - Navigasjonsregler (hva som åpnes hvorfra, tilbakeatferd) ## 4) Kjerneflyter (trinnlister med vennlige feil) - Flyt A: Utløs → trinn 1 → trinn 2 → ... → Suksess / fiasko (+ melding) - Strømning B: ... - Strømning C: ... Inkluder rask "hva kan gå galt?" og den nøyaktige brukervendte meldingen. ## 5) Innhold og data (enkelt, automatisk utledet) Beskriv i klarspråk (ingen skjemaer): - "Tingene" appen håndterer og detaljene vi lagrer for hver - Hvordan brukere legger til/redigerer dem (skjemaer/lister) - Eksempelelementer (renset fra prøvene mine) - Lagringsmerknader: [På enhet], [Hentet fra <API>] eller [Lagret via Rork Backend-funksjon + ekstern DB] - Bruk [ASSUMPTION] der du velger standarder ## 6) Eksterne APIer og samtaler (konkrete, bibliotekagnostiske) - Tjenesteliste (navn → hva vi bruker den til) - Tabell for endepunkt: | Navn på anrop | Fremgangsmåte | Endepunkt/spørring | Innganger | Respons (form, kort) | Godkjenning | Fotnoter | |-----------|--------|----------------|--------|--------------------------|------|-------| - Ethvert anrop som trenger hemmeligheter → merke **[Bruk Rork Backend-funksjon]** med en en-linjes årsak (skjul nøkkel, hastighetsgrense, transformer). - Gi 2–3 eksempler på forespørsler/svar for de viktigste samtalene. ## 7) Visual System (tokens fra vibe) - Farger (HEX): primær, sekundær, bakgrunn, overflate, tekst (primær/sekundær), vellykket, advarsel, feil - Typeskala: H1/H2/H3, Brødtekst, Bildetekst (familier + px) - Form og avstand: radius + avstandstrinn (f.eks. 4/8/12/16/24) - Bevegelse: varigheter (f.eks. 120/200/320ms) + lettelser - Forslag til ikonsett ## 8) Kopier og stater - Overskrifter, knapper, hjelpetekst for hver skjerm - Tomme tilstander (det brukerne ser uten data) - Feilmeldinger (vanlige, vennlige, handlingsorienterte) ## 9) Valgfri UX (bare hvis valgt) - **Logg på**: skjermer + kopi. Merk **[Veiledet oppsett kreves]** og inkluder skriptet nedenfor slik at Rork kan spørre meg om hva den trenger. - **Betalingsmur (abonnementer/engangs)**: betalingsmurkopi + hva som er låst opp. Etikett **[Veiledet oppsett kreves]** (+ skript). - **Varsler**: utløsere, eksempel push-kopi, dyplenker. - **Analyse**: hendelsesnavn + når de utløses (hvis PÅ). ## 10) Tilgjengelighet og inkludering - Skriftskalering, kontrastmål (≥4,5:1), treffmål (≥44×44), etiketter for skjermlesere - Eventuelle innholdsbegrensninger eller aldersgrense ## 11) Butikk-beredskap - Appnavn, undertekst, 3–5 søkeordtemaer - Kort beskrivelse (≤80 tegn) + full beskrivelse - Skjermbildeplan (hvilke skjermer + bildetekster) - Merknader om personvern "ernæringsetikett" (hvilke data, hvorfor) - Støtte-URL og kontakt-e-post - **Publiseringsnotater**: Bruk Rorks innebygde **App Store**-publisering; **Google Play** krever eksport til Expo EAS. [Informasjon] [ANTAGELSE] der jeg ikke spesifiserte. ## 12) Guidet oppsett - Skript for Rork å kjøre med meg (Inkluder bare seksjoner som er relevante for det jeg valgte.) ### 12A) Supabase (DB + Auth) - hvis forespurt - **Formål**: Bruk Supabase for skydata og/eller autentisering uten å avsløre hemmeligheter. - **Rork må SPØRRE meg** (en etter en): 1) "Lim inn Supabase-prosjekt-URL-en din" 2) "Lim inn **anon/offentlig**-nøkkelen din (klientsikker)." 3) "Lim inn **tjenesterolle**-nøkkelen din (kun server). Dette vil bare bli lagret i en **Rork Backend-funksjon** for å beskytte den." 4) "Vil du ha e-post/passord eller Magic Link-godkjenning?" 5) "List opp 'tingene' du vil ha i skyen (f.eks. treningsøkter, notater). For hver, bekreft de enkle feltene du vil lagre." - **Rork må GJØRE**: - Opprett Rork Backend Functions** for alle kall som krever hemmeligheter (leser/skriver ved hjelp av tjenesterolle, utveksling av godkjenningstokener). - Konfigurer klienten til å bruke **anon-nøkkel** for offentlige lesinger når det er trygt; bruk Backend-funksjonen for skriving eller beskyttet lesing. - Generer minimale tabeller basert på mine "ting og detaljer" (navn, felt, typer) og en migreringsplan. Hvis du er usikker, foreslå en standard og tagg [ASSUMPTION]. - Bekreft oppsettet: Kjør et helsesjekkanrop og bekreft suksess/fiasko med en vennlig melding. - **Merknader**: Hvis sosial pålogging (Apple/Google) blir forespurt, informer meg om at jeg trenger en tilpasset Expo Dev Build etter eksport; hold UX-skjermer på plass og merk som **[Krever eksport + EAS]**. ### 12B) E-postpålogging eller Magic Link – hvis du blir bedt om det - **SPØR**: «Vil du ha e-post/passord eller magisk lenke? Hvilket avsendernavn/e-post skal brukerne se?" -**GJØRE**: - Stillas front-end-skjermer (Logg inn, Registrer deg, glemt passord / Magic Link). - Hvis du bruker Supabase: koble til Supabase Auth via Backend Function eller klient-SDK der det er trygt; ellers merk som **[Krever eksport + EAS]**. - Gi kopi- og feilmeldinger; Bekreft en test tur-retur med meg. ### 12C) Abonnementer / kjøp - hvis ønskelig - **SPØR**: «Hva låses opp med Pro? Pris? Gratis prøveperiode?" -**GJØRE**: - Bygg betalingsmur og "administrer abonnement" UX. - Merk integrasjon som **[Krever eksport + EAS]** og foreslå RevenueCat eller lignende. Hold brukergrensesnittet i live med falsk tilstand og en "Gjenopprett kjøp"-knapp. ### 12D) Push-varsler – hvis du blir bedt om det - **ASK**: «List opp 2–3 triggere for pushes; noen stille timer?» -**GJØRE**: - Implementer lokale varsler i appen nå; merk ekstern push som **[Krever eksport + EAS]** og foreslå FCM-oppsett etter eksport. ## 13) Rork Build-instruksjoner (lim-klar) === START RORK-PROMPT === Bygg en React Native-app på tvers av plattformer med Expo ved å følge "Rork-Ready App Spec (Front-End + Guided Backend)" ovenfor. Begrensninger - IKKE opprett en tilpasset server. For enhver samtale som trenger hemmeligheter eller skrivetilgang, opprett **Rork Backend Functions** og be meg om de nødvendige tastene under **Veiledet oppsett**. Rork Backend-funksjoner drives av TRPC. - Lokale data bruker lagring på enheten; eksterne data bruker bare de eksplisitt oppførte eksterne APIene eller Supabase (hvis valgt). - Implementer skjermer, navigasjon, kjerneflyter, visuelle tokens og kopier nøyaktig som spesifisert. - Implementer vennlige tomme/laster/feiltilstander. - Hvis pålogging/betalingsmur/varsler/analyse IKKE er valgt, utelater du dem. - Forbered en **App Preview** og en **App Store-klar** byggeplan. Vær oppmerksom på at **Google Play** krever eksport + Expo EAS. - Hvis noe er tvetydig, velg en fornuftig standard og merk den [ANTAGELSE] i kommentarer. === AVSLUTT RORK-FORESPØRSEL === ## 14) Neste iterasjonsideer - 3 raske gevinster for klarhet/hastighet - 3 ideer for å øke aktivering/oppbevaring
15,71K