โ—† AIUNITES|AIZinesAIByJobRedomyVideoBateVoiceStryFurnishThingsBizStryAI YHWHCloudsionGameaticaUptownITInThisWorldERPiseERPizeAITSQL๐ŸŒŒ COSMOS

Your Data.
Portable and Yours.

AIUNITES is local-first. Your data lives on your device, syncs to the cloud when you want it to, and can be exported as plain JSON at any time. No proprietary formats. No vendor lock-in. If you leave, your data leaves with you.

The Data Architecture

Three layers, all designed for portability.

๐Ÿ’พ

Layer 1: localStorage (Your Device)

Every site stores data in the browser's localStorage. It works offline, it's fast, and it's under your control. This is the primary data store โ€” the cloud is the backup, not the other way around.

โ˜๏ธ

Layer 2: CloudDB (Cloud Sync)

The cloud-database.js module is deployed to all 18 sites. It syncs localStorage data to cloud storage via Google Forms and Apps Script. Toggle online/offline anytime. Your local data is always the source of truth.

๐Ÿ—„๏ธ

Layer 3: SQLite (Shared Database)

A shared SQLite database holds user accounts, sessions, and cross-site data. Syncs via GitHub. This is the backbone that makes cross-site identity and data sharing possible.

Data Portability

Your data is never trapped. Every site gives you tools to take it with you.

๐Ÿ“ฆ

JSON Backup

One click downloads all your data as a JSON file. Human-readable, machine-parseable. Open it in any text editor. Import it into any system that accepts JSON. No special software needed.

๐Ÿ“ฅ

JSON Restore

Upload a backup file to restore your data on any device. Moving to a new browser? New computer? Upload your JSON and you're back exactly where you left off.

๐Ÿ”

Cache Viewer

Every site with full middleware includes a cache viewer with three tabs: Summary (what's stored and how much), Items (browse individual records), and Raw (see the exact localStorage contents). Full transparency into what's on your device.

Data Mapping Across Sites

Because all AIUNITES sites share a common database and data format conventions, data can flow between sites without conversion. Your identity is the same everywhere. Your preferences travel with you. Site-specific data uses consistent key naming patterns so tools can find and operate on data across the network.

localStorage key pattern: Every site prefixes its keys with a consistent identifier. User data uses [prefix]_users and [prefix]_currentUser. Site-specific data follows the same convention. This makes it possible to build cross-site tools that know where to find things.

Notation as portable data: MNN strings and VRN strings are plain text stored in standard fields. A workout logged on BodSpas produces an MNN string that InThisWorld could read to pose an avatar, or that a future analytics tool could parse for trend analysis. The notation is the data interchange format.

The Philosophy

Most web apps store your data on their servers in their format. If the company shuts down, your data disappears. If you want to leave, you might get a CSV export if you're lucky. More often, you get nothing.

AIUNITES inverts this. Your device is the primary store. The cloud is a convenience layer for sync and backup. Everything is in open formats โ€” JSON for structured data, plain text for notation, SQLite for the shared database. You can inspect any of it at any time.

This isn't just a technical decision. It's the same philosophy behind the notation systems: your data belongs to you, it should be readable without special software, and it should work across contexts without conversion.

Technical Details

For developers and anyone who wants to look under the hood.

ComponentTechnologyLocation
Client StoragelocalStorage (browser)User's device
Cloud Sync Modulecloud-database.js (vanilla JS)js/cloud-database.js on every site
Cloud BackendGoogle Forms + Apps ScriptGoogle Cloud
Shared DatabaseSQLite (app.db)AIUNITES-database-sync/data/
Database SyncGitHubAIUNITES-database-sync repo
Export FormatJSONUser's download folder
Notation DataMNN / VRN (plain text)Stored in localStorage + CloudDB
// CloudDB connection (every site)
import { CloudDB } from './cloud-database.js';

// Sync local โ†’ cloud
CloudDB.sync();

// Export as JSON
CloudDB.backup(); // โ†’ downloads .json

// Restore from JSON
CloudDB.restore(file); // โ†’ replaces local data

See It In Action

Log into any AIUNITES app, open the user dropdown, and click Backup. That's your data, in JSON, on your device.