ProjectsCase Study

Independent builder and operator · Current independent work

AtlasOS — software I build and operate for my own use

A private software suite for finance, media, consulting and personal tools, with native device clients and shared home-server infrastructure.

Privately operated for personal use; source is private

Self-hostingApplication architectureAccess controls
Illustrative home-server setup on an oak shelf

The project

AtlasOS brings together the applications I build for my own life and work, along with the home-server platform that runs them. It spans personal finance, media, consulting administration, activity history, research and everyday utilities.

The projects share a private monorepo and some deliberately small libraries. Each application keeps its own runtime, data ownership and access boundaries. I build the custom applications and their integrations, and configure and operate selected upstream tools where an existing project fits the job.

Core applications

Finance

Finance is a workspace for personal and company finances: transaction imports, account reconciliation, budgeting, cash-flow reporting and investment history.

A substantial part of the work is making imported information explainable. Imports retain source evidence and reviewable drafts. The ledger distinguishes transfers from income and spending, while balances and investment values retain their observation dates. The application combines a React and TypeScript frontend with a Python API, PostgreSQL and a background worker for durable jobs.

Media

Media brings movies, TV, anime, comics, books, podcasts and games into one personal library. It tracks progress, history, ratings and lists, with shared Continue and Library views across the different media types.

The engineering work includes normalizing provider identities and metadata, importing older history, and keeping my own progress and preferences separate from provider observations. Integrations include sources such as TMDb, Spotify and Steam. The application has a Next.js frontend, a TypeScript API and PostgreSQL persistence, alongside an Android widget for current titles.

Consulting

Consulting is the time-tracking and invoicing application I use for my consulting work. It connects customer workspaces, recorded time, billing groups, invoice composition and PDF/XLSX documents.

The details matter here: work is recorded in local calendar time, entries retain their captured rate, and invoice allocation and rounding have to remain consistent across drafts and issued documents. I maintain the React interface, shared TypeScript domain logic, Node API, PostgreSQL persistence and document-generation workflow.

ScreenTime

ScreenTime collects activity observations from my Mac and Android phone and brings them into a read-only history dashboard. The project includes native collectors, local archives, a server-side history store and reporting views.

Its central engineering problem is preserving what a device actually observed. Source identity, timestamps, revisions, delivery receipts and coverage gaps stay explicit as records move from a device to the server. The implementation spans Python, Swift, Go and Android code, including device authentication and background delivery.

Permissioned AI access

Atlas Assistant

Atlas Assistant is a private chat application built around Open WebUI and a custom bridge to a Codex app server. Open WebUI provides the chat interface; I own the bridge, tool integration and deployment configuration.

Its current application-data tools provide bounded reads from Media, Finance and Consulting. Those services remain the authorities for their own records. This gives the assistant useful context for questions and recommendations through defined operations, without an application-mutation or deployment tool surface.

AtlasOS Access

Access is the shared ChatGPT connection for Media, Finance, Consulting and ScreenTime. It routes fixed, read-only operations to separate application-owned readers.

Each service has its own temporary approval. I grant or revoke that access through a separate owner interface; the model has no operation for opening or renewing a grant. The work includes the routing boundary, approval lifecycle, app-specific reporting contracts and behavior when permissions expire.

Everyday tools built on upstream software

Three projects use existing open-source applications. My work is in their configuration, packaging, authentication, deployment and supporting clients:

  • Research uses Karakeep for saving links, documents, videos and notes, retaining extracted text and metadata, and finding them through full-text search. It includes a managed Android capture client integrated with the shared device-authentication system.
  • Notes runs Memos as a quick chronological notebook for thoughts and meeting notes, with private access and installable web-app assets.
  • PDF runs Stirling-PDF as a private document utility. Its deployment uses the upstream backend and a frontend built from a reviewed upstream revision, with an AtlasOS branding overlay.

These projects are useful examples of integration work: choosing what to reuse, keeping changes small, and maintaining an application through upstream updates.

The shared platform

Home Platform owns the common hosting layer: Docker Compose application contracts, PostgreSQL roles, application-specific networks, deployment bundles, scheduled jobs, monitoring and backup tooling. Cloudflare Tunnel and Access provide private browser access. Prometheus, Grafana and Loki support operational visibility.

I maintain the application registry and tooling that turn those declarations into deployment configuration. The monorepo also shares build and validation conventions across TypeScript, Python, Go and native clients. Shared source does not give one application access to another application's data.

Two supporting projects connect that platform to my devices:

  • Devices owns enrollment, certificate renewal, revocation and the shared native-client connection. Its Go service and Android companion support applications such as Research, ScreenTime and the Media widget.
  • Downloads is the private catalogue for signed Android releases. It validates and publishes release artifacts while each application retains ownership of its build and signing process.

Projects still in development

The repository also contains projects at earlier stages:

  • Health has a local application and typed data model for measurements and health-history exploration. Some dashboard views still use synthetic fixtures, and the application is not deployed.
  • Codebase is in design and specification work for exploring commits, pull requests, issues and reviews across software projects. Its runnable application and GitHub collector are not implemented yet.
  • Quest is product and content design for a personal quest book: progression paths, meaningful achievements and a permanent chronicle. It is not yet an implemented application.

What I work on across the suite

AtlasOS gives me related problems to solve at several layers: domain models and data imports, browser interfaces, APIs, native clients, access controls and day-to-day operation. Finance and Consulting need careful accounting semantics; Media needs provider reconciliation; ScreenTime needs durable device history. The platform supports those different requirements through shared deployment and maintenance conventions.