PAM / Personal Asset & Life Manager
One life.
Many connected parts.
A private, self-hosted home for the information I use every day—organized around me.
- My role
- Product direction & design
- Development
- Built with AI coding assistance
- Status
- Working app · Still evolving
The starting point
Life doesn’t fit neatly
into separate apps.
A reminder can be about an object I own. A place can be connected to a trip, a photo, or a cost. I wanted those relationships to remain visible instead of being scattered across separate lists.
PAM is my attempt to put them in one place. It is designed for one person: me. The measure of success is whether it becomes useful enough that I turn to it every day.
Inside PAM
Three views of everyday life.
The home view brings the day together. Dedicated views make it easier to work through finances or retrace a trip.
01 / Home
Keep the day in view.
Calendar, notes, tasks and a financial summary live together in a layout I can rearrange. On my phone, these views become a swipeable deck.
The body scan is a navigation choice: selecting an area opens related belongings or categories. It is one way into the information, alongside the everyday tools.
For me: fewer separate places to check before getting on with the day.
02 / Money
Understand where the money goes.
I can import a bank statement, review transactions, organize spending into categories, and keep recurring charges and savings goals in view.
Editable merchant rules help turn inconsistent statement descriptions into recognizable names.
For me: connect day-to-day spending with the things I’m saving for.
03 / Places
Retrace a day.
Location history from my phone brings trips and commutes onto a map. Geotagged photographs add context to the places I’ve been.
This is a personal record, kept on my server and accessible privately.
For me: return to a route, a place, or a memory without piecing it together from separate apps.
How I’m building it
I define the system.
AI helps implement it.
I built the personal server that hosts PAM, and I’m learning how to turn a personal need into a working product. I choose what belongs in PAM, define how the pieces should relate, and refine the experience as I use it. Claude handles the coding from that direction.
That distinction matters to me: this project represents my product decisions and ongoing learning, with AI-assisted implementation.
A closer look at the setup
PAM is the app’s name. INDI is the repository name and the hostname of the tower that runs it.
The current implementation uses Next.js and React, with Prisma over SQLite. It runs as a service on the Ubuntu server I built and is accessible remotely through Tailscale. The personal dashboard is not exposed as a public website.
Its progressive web app supports offline note and task edits. A scheduled server process handles reminders. The next stage introduces local inference through llama.cpp.