Self-hosted ยท Offline-first ยท Schema-driven

Track your life with Life Files, not hardcoded forms.

lifeGPS turns any JSON schema into a beautiful tracking form, dashboard and chart โ€” for health, contacts, habits, finance, goals and everything in between. Works offline, syncs when you're back online.

No account yet? Your first Life Files are installed automatically.

life_gps.test/backend/public/template?id=5

Daily Health Tracker ยท New entry

๐Ÿ”ข Weight (kg) *

72.4

๐Ÿ”ข Sleep Duration (Hours) *

7.5

๐Ÿ“‹ Overall Mood

Good โ–พ
Save entry

Weight trend

Avg weight

72.1

Mood

Good

Entries

128

Built-in Life Files โ€” ready the moment you sign up

โค๏ธ Daily Health Tracker ๐Ÿ‘ฅ Contacts & CRM ๐Ÿ““ Daily Journal ๐Ÿ’ณ Expense Tracker ๐ŸŽฏ Goals & Habits

Everything you track, one engine

Every Life File is a JSON schema. lifeGPS reads it and renders your forms, dashboards and charts โ€” on the web and on your phone.

๐Ÿ—‚๏ธ

Life Files engine

Add, edit or import JSON schemas. 11 field types with validation, rendered instantly.

๐Ÿ“ฑ

Offline-first mobile

React Native app with a local SQLite store. Fully functional with zero connectivity.

๐Ÿ”„

Background sync

A sync engine pushes your offline queue and pulls server changes โ€” idempotent, cursor-based, last-write-wins.

๐Ÿ 

100% self-hosted

Plain PHP 8 + MySQL. Your data, your server. No accounts, no telemetry, no lock-in.

A Life File is just JSON

Define your fields โ€” text, numbers, booleans, dates, selects, ratings, geolocation and tags โ€” with validation rules and chart preferences. No code required.

  • โœ“ Built-in templates for the essentials
  • โœ“ JSON editor with live preview in the web app
  • โœ“ Visual form builder in the mobile app
  • โœ“ Server-side schema validation before anything is saved

health_daily_log_v1.json

schema
{
  "file_id": "health_daily_log_v1",
  "name": "Daily Health Tracker",
  "fields": [
    { "key": "weight_kg", "type": "number", "required": true },
    { "key": "sleep_hours", "type": "number" },
    { "key": "mood", "type": "select",
      "options": ["Great", "Good", "Neutral"] },
    { "key": "notes", "type": "textarea" }
  ],
  "display_preferences": {
    "chart_primary_metric": "weight_kg"
  }
}

11 field types, rendered natively on web & mobile

texttextareanumberbooleandatedatetimetimeselectratinggeolocationtags

How it works

1

Pick or create a Life File

Start with a built-in template, browse the community hub, or write your own JSON schema.

2

Track on any device

The schema renders as a form on the web dashboard and in the offline-first mobile app.

3

Watch your life take shape

Charts, summary cards and history render automatically from your entries โ€” then sync across devices.

๐ŸŒ

A community of Life Files

Publish your Life Files, browse and install templates others have made, and rate what works for you. Every upload is validated for safety before it's listed.

Your data. Your server. Your rules.

Install on any PHP 8 + MySQL host in minutes. The mobile app syncs straight to your own backend.