Local inference
A native SwiftUI interface and MLX runtime with streamed responses. Model selection also takes input type and availability into account.
01 / iOS · Local AI
In HomeHub, I bring a personal AI assistant together with my documents and conversations. It runs on iPhone and iPad, and I decide what it remembers.
TECHNICAL CURIOSITY + PERSONAL USE
I wanted to ask questions about my own documents on a phone, check the source behind an answer and decide what the assistant remembers. HomeHub is my personal project exploring how much of this work models can do on the device.
The chat window is only the beginning. The project addresses text and vision model selection, user-approved memory, source retrieval, limited memory and the mobile app lifecycle.
A document enters the knowledge base. OCR can help with scanned PDFs.
Relevant excerpts provide context and a basis for citing the source.
Useful information can become a suggestion that the user accepts or rejects.
BROWSER SIMULATION
Try selected workflows directly in your browser.
This is a separate simulation using fictional data.
Loading the demo… A text overview is available below.
TECHNICAL DECISIONS
A native SwiftUI interface and MLX runtime with streamed responses. Model selection also takes input type and availability into account.
PDF and text import, OCR for scanned pages, and retrieval of relevant excerpts to support citations.
The assistant can suggest information to remember. The user decides whether to accept, reject or remove it.
Selection takes image input, the user's pinned choice and the model's reliability record into account.
Suggesting information and approving it are separate steps. Being able to remove it later matters just as much.
Background transitions and available memory headroom affect how the resident model is managed.
Design and development of my own iOS project, bringing conversation, the model runtime, memory and native services together in one interface.
This personal iOS project connects on-device AI, documents and user-controlled memory. The website demonstrates these ideas with prepared responses. The native app and its device performance were not tested again while preparing this portfolio.
The description is based on local code, test definitions and supplied screenshots. Local development is ahead of the verified public main branch. Local inference does not mean that every feature works without a network: search and model downloads may use one.
CONTACT
If a project caught your eye or you are working on something similar, get in touch. I would be happy to exchange ideas and experience, or discuss working together.