Project Overview

Noema began as a faster way to capture useful ideas. It has grown into an offline personal media library where books, podcasts, audiobooks, their internal structure, and the notes created from them live in one model.

The device is deliberately the source of truth. There is no account system, remote server, analytics SDK, advertising layer, or cloud database behind the app.

A private, offline personal media library for books, podcasts, audiobooks, structured reading progress, and knowledge capture.

Industry

Personal Productivity

Services

  • UX/UI Design
  • Web Development
  • Product Strategy

Key Deliverables

  • Responsive Design
  • Custom Development
  • User Experience Improvements

Platform Type

Mobile Application

Tech Stack

  • TypeScript
  • React Native
  • Expo
  • TinyBase
  • SQLite

The Challenge

Generic note apps separate an idea from the source that gave it meaning. A quote from a book belongs to a chapter and page; a podcast note belongs to an episode and timestamp; an audiobook insight belongs to a chapter.

Keeping that structure offline also requires reliable persistence, local media assets, responsive queries, and clean boundaries between UI state and storage.

Approach

I modeled books, podcasts, audiobooks, chapters, episodes, paragraphs, audiobook chapters, note categories, standalone notes, completions, streaks, and profiles as first-class local data.

Screens and hooks never access SQLite directly. TanStack Query talks to an API layer, the API updates TinyBase, and TinyBase loads from and autosaves to an Expo SQLite database.

The Solution

The mobile app provides Home, Library, and Notes areas with dedicated flows for books, podcasts, and audiobooks. Notes retain their source context, including page numbers, timestamps, chapters, and categories where applicable.

Zod and React Hook Form validate input. Cover images are copied into local Expo FileSystem storage and referenced through device file URLs. TinyBase persists the application store to noema.db and keeps local changes saved automatically.

Key Challenges

  • modeling different media types without flattening their chapters, episodes, pages, and timestamps

  • keeping reactive state and SQLite persistence consistent without direct database access from UI code

  • storing user media privately and reliably on-device

  • growing the product beyond quick notes without turning it into a generic cloud workspace

The Outcome

Noema is now a coherent offline library and knowledge-capture system rather than a minimal note collector. It supports structured media, progress, completions, streaks, and contextual notes while preserving a private local-only architecture.

Context

Local-only is not a temporary omission in the current architecture. It is a product and privacy choice: no account, no sync wait, and no remote copy of the user's library.

Other projects with related architecture decisions, platforms, or product challenges.