Pregled projekta

Noema je počela kao brži način da sačuvam korisne ideje. Prerasla je u offline ličnu biblioteku u kojoj knjige, podkasti, audio knjige, njihova unutrašnja struktura i beleške nastale iz njih žive u jednom modelu.

Uređaj je namerno izvor istine. Iza aplikacije nema naloga, udaljenog servera, analytics SDK-a, reklama niti cloud baze.

Privatna offline lična biblioteka za knjige, podkaste, audio knjige, strukturisan napredak i beleženje znanja.

Industrija

Lična produktivnost

Usluge

  • UX/UI dizajn
  • Web razvoj
  • Produkt strategija

Ključni rezultati

  • Responzivan dizajn
  • Prilagođeni razvoj
  • Poboljšanja korisničkog iskustva

Tip platforme

Mobilna aplikacija

Tehnologije

  • TypeScript
  • React Native
  • Expo
  • TinyBase
  • SQLite

Izazov

Generičke aplikacije za beleške odvajaju ideju od izvora koji joj daje značenje. Citat iz knjige pripada poglavlju i stranici; beleška iz podkasta epizodi i vremenskoj oznaci; uvid iz audio knjige konkretnom poglavlju.

Zadržavanje te strukture offline zahteva pouzdanu perzistenciju, lokalne media assete, brze upite i čiste granice između UI stanja i skladišta.

Pristup

Modelovao sam knjige, podkaste, audio knjige, poglavlja, epizode, pasuse, poglavlja audio knjiga, kategorije beležaka, samostalne beleške, završetke, streakove i profile kao first-class lokalne podatke.

Ekrani i hookovi nikada ne pristupaju SQLite-u direktno. TanStack Query razgovara sa API slojem, API ažurira TinyBase, a TinyBase učitava podatke iz Expo SQLite baze i automatski ih čuva.

Rešenje

Mobilna aplikacija ima Home, Library i Notes celine sa posebnim tokovima za knjige, podkaste i audio knjige. Beleške zadržavaju kontekst izvora, uključujući broj stranice, timestamp, poglavlje i kategoriju kada su primenljivi.

Zod i React Hook Form validiraju unos. Naslovne slike se kopiraju u lokalni Expo FileSystem i koriste kroz device file URL-ove. TinyBase čuva store u noema.db i automatski zapisuje lokalne promene.

Ključni izazovi

  • različiti tipovi medija bez gubljenja njihovih poglavlja, epizoda, stranica i timestampova

  • doslednost reaktivnog stanja i SQLite perzistencije bez direktnog pristupa bazi iz UI koda

  • privatno i pouzdano čuvanje korisničkih medija na uređaju

  • širenje proizvoda izvan brzih beležaka bez pretvaranja u generički cloud workspace

Rezultat

Noema je danas koherentna offline biblioteka i sistem za beleženje znanja, a ne minimalni sakupljač beležaka. Podržava strukturisane medije, napredak, završetke, streakove i kontekstualne beleške uz privatnu local-only arhitekturu.

Kontekst

Local-only nije privremeni nedostatak u trenutnoj arhitekturi. To je produktna i privacy odluka: nema naloga, čekanja na sync niti udaljene kopije korisničke biblioteke.

Drugi projekti sa sličnim arhitektonskim odlukama, platformama ili produktnim izazovima.