Skip to content

Ami

I built Ami for my mother. It organises her PDFs, books, notes and personal records, searches them on her own computer, and shows the original page behind every AI-assisted answer.

The current build: saved chats, an answer, and the document pages it came from.
My role
Solo product designer and developer
Built with
Python, FAISS, local storage, Codex SDK bridge, HTML/CSS/JS
Platform
Browser-based app packaged for macOS
Result
Running on my mother's MacBook as a portable app with its own data folder

The problem

My mother had articles, books, photos, lab documents and notes spread across different places. The first job was organising that so she could find evidence without juggling several tools.

The library and search index stay on her device. AI summarises the selected passages and suggests follow-up questions, while the source pages stay visible so she can check them.

Constraints that shaped it

  • The interface had to be comfortable for a non-technical user.
  • Documents and the search index needed to remain on the device for privacy and offline access.
  • Answers needed visible links to source pages and careful wording when evidence was incomplete.
  • Installation, startup, and shutdown had to work without developer support.

What it does

Ami manages a private library, classifies imports, renders PDF page previews, saves settings and answer history, and sends only the selected evidence to Codex through a local bridge.

  • Imports PDF, EPUB, TXT, Markdown, and short notes into a searchable local library.
  • Finds relevant passages, shows page previews, and sends only the selected evidence to the AI.
  • Stores personal notes and medical files separately while allowing them to be referenced when needed.
  • Provides saved chats, document previews, suggested next steps, and optional reference images.
  • Packages the app and its data folder together for portable macOS use.
When the library has no direct match, Ami says so, then offers practical next steps instead of bluffing.
An evidence-heavy answer: saved folders, the answer, and document preview cards.
Options: account, model, storage location, library paths and image preferences.

Testing on her MacBook

Installing it on my mother's MacBook exposed start-up and shutdown problems that never appeared on my development machine. I simplified relaunching and shutting down the background service:

  • A second launch detects the running server and reopens the interface instead of causing a port conflict.
  • Browser heartbeat and shutdown signals close the background service after the Ami tab is closed.
  • Ami.app contains the application; AmiData contains the library, search index, and personal records.
  • Testing on my mother's MacBook exposed startup and shutdown problems that did not appear during development.

Outcome

Ami runs on my mother's MacBook as a portable app with local document search, page-level evidence, saved conversations, and a data folder she can move or back up on its own. I handled the product design, retrieval, storage, interface, packaging, debugging and deployment.