All projects

Fathom

A quiet place to read the old texts.

Offline-first reader for sacred and philosophical texts, with ambient soundscapes.

Platform
Android, with an iOS entry point
Core
Kotlin Multiplatform
Data
Offline, SQLDelight
Architecture
MVI with StateFlow
15,163
canonical passages
7
traditions
<5 ms
full-text search
6
ambient soundscapes

What it is

Fathom brings passages from Hinduism, Stoicism, Buddhism, Taoism and more into one calm, distraction-free reader. Everything lives in local SQLite databases, so it opens instantly and works with no connection at all. The core is shared Kotlin Multiplatform code, with a fully native UI on top.

  1. 01

    Content lives on the phone

    Two SQLDelight databases, one for the starter corpus and one for your own notes and bookmarks, so nothing waits on a network.

  2. 02

    A feed engine picks what's next

    Shared Kotlin Multiplatform logic builds a daily feed tailored to the traditions and intentions you chose at onboarding.

  3. 03

    Native UI renders it

    Jetpack Compose draws a calm, editorial reading experience, with four reading themes and haptic touches.

  4. 04

    Audio plays alongside

    An ExoPlayer engine mixes ambient tracks, handles audio focus, and fades out gently when the sleep timer ends.

What it does

Offline from first launch

No sign-in, no spinner. Passages, search and your reading history all live on the device.

Search across traditions

Token search over the whole corpus returns in under 5 ms, with a topical explorer for themes like grief, courage or stillness.

Made for evenings

Six soundscapes, a sleep timer with fade-out, and a daily wisdom widget that refreshes at midnight.

Shared core, native feel

Business logic is written once in Kotlin Multiplatform, and each platform gets its own native interface.

How it works

  1. 1

    Native UI

    Compose / SwiftUI

  2. 2

    Shared logic

    Kotlin Multiplatform

  3. 3

    Feed engine

    daily picks

  4. 4

    SQLDelight

    starter content + user data

  5. 5

    Content packs

    SHA-256 verified

Questions

What is Fathom?
Fathom is a calm, distraction-free reader for passages from Hinduism, Stoicism, Buddhism, Taoism and more. It holds 15,163 passages across 7 traditions.
Does Fathom work offline?
Yes. Everything lives in local SQLite databases, so it opens instantly and works with no connection. Full-text search over all passages takes under 5 ms.
What is Fathom built with?
Kotlin Multiplatform for the shared core (data, search and feed logic), Jetpack Compose for the Android UI, SQLDelight for the databases, Media3 for audio and Glance for the widget.

Under the hood

Share the logic, not the interface

Domain models, repositories, the feed engine and the database queries are written once in Kotlin Multiplatform. Each platform keeps a fully native UI on top, and platform-specific pieces like database drivers and cryptographic verifiers sit in androidMain and iosMain.

Two databases, on purpose

The starter corpus lives in one SQLDelight database and everything personal, like bookmarks, notes and reading history, lives in another. Content can be replaced or updated without ever touching your data.

Search that feels instant

Token-based full-text search runs across all 15,163 passages in under 5 ms, backed by a topical explorer for themes like grief, courage and stillness.

Content you can trust

Dynamic content packs are verified with SHA-256 before they're used. Android and iOS each get their own verifier behind the same shared interface.

Audio that behaves like a good citizen

A Media3 / ExoPlayer engine handles system audio focus, mixes ambient soundscapes alongside the reader, and fades everything out gently when the sleep timer runs down.

Stack

Core
Kotlin Multiplatform
Android UI
Jetpack Compose, Material 3
Persistence
SQLDelight 2.0 (two databases)
Concurrency
Coroutines, StateFlow
Audio
Media3 / ExoPlayer
Widgets
Glance
Integrity
SHA-256 content verification
Kotlin MultiplatformJetpack ComposeSQLDelightMedia3 / ExoPlayerGlanceStateFlow

Written about

More from the same desk

Command menu

Jump to a page, open a profile, or run an action