A personal system for agency

Understand your world.
Act on what you know.

SkeletonKey is a local-first personal record and self-sousveillance framework. It brings environmental awareness, connected information, timelines, field memory, and practical action into one system you can inspect, adapt, and control.

Source-available · Local-first by design · Optional AI · Built to be extended

What it is

One coherent system.
Different kinds of awareness.

SkeletonKey connects capabilities that are often separated across unrelated apps and services. Each part has a job; together, they help preserve context from the first observation through to the action it informs.

01 — ENVIRONMENT

See where you are

Offline maps, local geographic search, routing, elevation, location tracking, and environmental feeds support awareness in the field. Capabilities depend on the configured services and available local data.

02 — KNOWLEDGE

Keep the whole picture

Maintain connected records of events, places, people, documents, timelines, narratives, finances, plans, and relationships. Imported information and evolving interpretations can remain part of a shared context.

03 — ACTION

Turn context into action

Field logs, alerts, tasks, goals, and plans help connect what happened and what you know to what you choose to do next. The system supports decisions; it does not replace your judgment.

Inside SkeletonKey

A look at the actual interfaces.

These screenshots are from the project’s running desktop and phone applications. Open any image to view it at full size.

SkeletonKey desktop overview showing the connected personal record
OverviewA central view of places, recent activity, documents, tasks, and local service status.
SkeletonKey timeline interface
TimelineBring events and beacon activity into a chronological view.
SkeletonKey knowledge base of entities, locations, and sources
Knowledge baseConnect entities, places, and source material into a broader context.
SkeletonKey narrative and scene-list interface
NarrativeMove from raw field notes to digests and a longer-running narrative.
SkeletonKey sousveillance map showing project locations and tracks
Sousveillance mapProject locations, routes, tracks, and local map services.
SkeletonKey tasks grouped by status and area
TasksKeep concrete work connected to the wider record and its context.
SkeletonKey Android phone beacon home screen
Phone beaconView location fix, connection status, ambient stream, and messages from HQ.
SkeletonKey Android phone beacon settings screen
Beacon settingsConfigure the server connection and optional on-device voice features.

Images are served directly from the project repository. The README describes them as captured from the running app using a synthetic demo record.

Why it exists

Fragmented information creates work of its own.

SkeletonKey grew from a practical problem: making sense of a complicated situation meant keeping track of documents, institutions, case references, money, tasks, and timelines spread across different places.

A separate case-management tool helped connect tasks to evidence and goals. Integrating that work with a broader timeline and knowledge system revealed a larger possibility: one persistent record could connect the circumstances around a person with the information they gather and the actions they take.

The project has since expanded into environmental awareness, offline tools, field memory, and optional agents that can work with the same record under explicit permissions.

The system should increase your ability to understand and direct your own life — without making that ability dependent on the system itself. SkeletonKey's guiding idea
What is included

Capabilities, not a black box.

SkeletonKey is a collection of connected components. Optional integrations extend the system; they are not all required for the core record to be useful.

PERSONAL RECORD

Timelines, entities, documents, and plans

A desktop and browser-accessible record for events, locations, people, sources, narratives, money, tasks, and connected context, with import and export support.

OFFLINE GEOGRAPHY

Maps and routing under your control

Local map data, a geographic gazetteer, routing, and elevation tools can provide core geographic capabilities without a live map API or API key, once the required data is installed.

PHONE BEACON

Field awareness and communication

The Android beacon can send configured position and sensor information, provide on-device speech features, and receive messages from the local system. It requires setup and a reachable configured server.

RAVEN PROTOCOL

Alerts when configured conditions matter

A proactive watch can check defined conditions such as lost signal, prolonged stops, movement anomalies, geofences, or dusk. Alerts depend on configuration and available signals.

FIELD MEMORY

Continuity without hoarding everything

A tiered field log moves from raw events to daily digests and more compact narratives, helping retain useful continuity while distinguishing detailed records from summaries.

OPTIONAL AGENTS

AI that works with the record

Model Context Protocol (MCP) tools allow compatible agents to retrieve information and, where explicitly permitted, propose or perform changes. Model quality and capabilities vary. Cloud inference sends selected context to the provider.

How it is designed

Agency is an architectural requirement.

These principles are meant to shape implementation decisions, not merely describe the project's intentions.

Your record remains yours.

Prioritize local storage, inspectability, portability, and the ability to export or delete personal records.

Agents are optional.

The underlying record and tools should remain useful without an AI agent. AI adds a way to interact with the system; it is not the source of truth.

Replace components, preserve context.

Maps, weather sources, models, and integrations should be replaceable without needlessly losing records, relationships, or workflows.

Observation is not interpretation.

Keep source material, summaries, hypotheses, and recorded actions distinguishable. Preserve uncertainty instead of presenting inference as fact.

Permission must be explicit.

Access, writes, external data flows, and optional extensions should have visible boundaries and meaningful approval controls.

There must be an off-ramp.

Users should be able to stop the beacon, disable optional services, disconnect agents, and remove their record.

Self-sousveillance, not a people-tracker. SkeletonKey is designed to help an individual maintain awareness of their own circumstances with consent. It is not intended to covertly monitor other people or bypass their autonomy.
How it works

Observe. Connect. Decide. Act.

The system is designed to maintain continuity between what enters the record, how it is understood, and what happens next.

Capture an observation

Record an event, import a document, add a field note, or use a configured map, beacon, or environmental service.

Connect it to context

Relate the information to existing people, places, timelines, sources, and plans. Keep the origin and confidence of interpretations visible.

Choose and follow through

Use the connected record to make a decision, create a task, or configure an alert. Track the outcome without confusing a suggestion with a completed action.

Who, what, where, when, why, how

Built for a person who needs the whole picture.

Who
Individuals who need to connect records, events, places, and plans across a complicated situation. The operator remains the primary authority over their own record.
What
A personal record, offline geographic tools, field-awareness components, a tiered memory system, and optional agent interfaces.
Where
Primarily on the operator's own computer, with optional phone and local-service components. Some integrations can communicate externally when enabled.
When
During research, planning, field work, long-running projects, or whenever important information must remain connected over time.
Why
Because reconstructing your circumstances from disconnected tools is costly, and dependence on a single provider can limit control over your information and capabilities.
How
By maintaining one connected record, adding modular tools around it, preserving clear permission boundaries, and making external dependencies visible and replaceable.
Know the boundaries

Local-first does not mean every path is offline.

SkeletonKey combines local capabilities with optional networked services. The actual privacy and availability characteristics depend on which components you enable and how you configure them.

LOCAL

Data and tools on your machine

The core record, MCP tools, and offline map stack are designed to run locally. Offline geographic use requires the relevant map and routing data to be installed.

OPTIONAL NETWORK

Feeds and connected devices

Weather or hazard feeds, a phone beacon connection, messaging bridges, and other integrations can require network access. Their data flows should be reviewed before use.

CLOUD INFERENCE

More capability, a different boundary

When a cloud model is used, the context sent to it leaves the local machine. Use local inference when local-only processing is required, understanding that model performance may differ.

Inspect it. Adapt it. Make it yours.

Not another place your life gets stored.
A way to keep your own picture.

SkeletonKey is an evolving source-available project. Explore the code, read the technical documentation, inspect the boundaries, and decide which components fit your needs.