Skip to content
KillCode2301Public

About

Local-first audiobook library. Import M4B / chapter archives, listen in the browser, and keep progress, bookmarks, and files in IndexedDB (Dexie). Nothing is uploaded to a server.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

audioiy

Local-first audiobook library. Import M4B / chapter archives, listen in the browser, and keep progress, bookmarks, and files in IndexedDB (Dexie). Nothing is uploaded to a server.

Stack

Getting started

bun install
bun dev

Open http://localhost:3000.

Script Command
Dev server bun dev
Production bun run build && bun start
Typecheck bun run typecheck
Lint / format bun run lint / bun run format

App routes

Path Purpose
/ Library
/books/new Import an audiobook
/books/[id] Full player (chapters, bookmarks)

Parallel @player slot

The now-playing dock is not hardcoded into the page tree. It lives in a parallel route so it can stay mounted while children soft-navigates.

app/
  layout.tsx          # receives `children` + `player`
  page.tsx            # library (children)
  @player/
    page.tsx          # dock for `/`
    default.tsx       # hard-refresh fallback on other URLs
  books/...
  • @player is a named slot — it does not appear in the URL.
  • Soft navigation keeps the slot’s active page while the main page swaps (library ↔ import ↔ player).
  • On a full reload of a route without a matching @player page, default.tsx renders the dock instead of 404ing the slot.
  • AppShell wraps both slots in PlaybackProvider and renders player outside page-transition AnimatePresence, so route fades don’t remount the audio UI.
  • The dock still hides itself on /books/[id] when that book is already open (full player UI).

Adding UI components

npx shadcn@latest add button

Import from @/components/ui/...:

import { Button } from "@/components/ui/button"

About

Local-first audiobook library. Import M4B / chapter archives, listen in the browser, and keep progress, bookmarks, and files in IndexedDB (Dexie). Nothing is uploaded to a server.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages