Skip to main content

Kiso (基礎)

The backend platform for Kasane and Milo.

Kiso is a health intelligence server that powers two clients: the Kasane iOS app (habits, coaching, focus plans) and Milo (an AI coaching agent on WhatsApp). Both read and write the same person profiles, habits, check-ins, and health data through a shared API.

The name means "foundation" in Japanese. Kasane means "layers." Kiso is what the layers sit on.

What it does

For the iOS app: bidirectional sync of persons, habits, check-ins, focus plans, and health measurements via REST API.

For Milo: 52 MCP tools for health coaching. Log weight, meals, labs, blood pressure. Pull data from Garmin, Apple Health, Oura, Whoop. Score 20 health metrics against NHANES population percentiles and clinical guidelines.

For both: a unified person context that merges all data sources in one call.

Quick start

git clone https://github.com/a-deal/kiso.git
cd kiso
pip install -e ".[gateway,dev]"

# Run the gateway
python3 -m uvicorn engine.gateway.server:create_app --factory --port 18800

# Run tests
python3 -m pytest tests/ -v

MCP server (for Claude Desktop / Claude Code)

{
  "mcpServers": {
    "kiso": {
      "command": "uvx",
      "args": ["kiso"]
    }
  }
}

API surfaces

Surface Path Client
Kasane sync POST /api/v1/sync iOS app
Kasane CRUD /api/v1/persons, /api/v1/habits, etc. iOS app
Person context GET /api/v1/persons/:id/context Milo
Health tools /api/{tool_name} Milo
Wearable auth /auth/garmin, /auth/google Browser (OAuth)

Full API reference: docs/API.md

Architecture

One Python process. Two storage systems. Three clients.

  • SQLite (data/kasane.db): persons, habits, check-ins, focus plans, wearable daily metrics, labs, meals, weight, training. Synced with iOS and wearable integrations.
  • CSVs (data/): legacy weight, meals, labs, supplements. Being migrated to SQLite.
  • Bridge: person.health_engine_user_id links a SQLite person to a per-user data directory.

Full architecture: docs/ARCHITECTURE.md

Health scoring

20 clinically validated metrics scored against NHANES population data (300K+ Americans) and clinical guidelines from AHA, ADA, and ESC. Covers cardiovascular, metabolic, body composition, recovery, and lifestyle dimensions.

Going from 0% to full coverage costs under $300.

Full methodology: docs/METHODOLOGY.md

Docs

Doc What's in it
ARCHITECTURE.md System design, storage model, deploy model, project layout
API.md v1 endpoints, sync protocol, data types
ROADMAP.md Cloud adoption phases (JWT, Litestream, Supabase)
METHODOLOGY.md Why each metric, evidence sources, clinical thresholds
SCORING.md How the scoring engine works
METRICS.md 20-metric catalog
DATA_FORMATS.md CSV/JSON/SQLite schemas
ONBOARDING.md Setup walkthrough

License

MIT

Metadata

Release files for baseline-health 0.8.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for baseline-health 0.8.2
File Size Uploaded Provenance Actions
baseline_health-0.8.2.tar.gz 409.2 kB Without provenance Details for baseline_health-0.8.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for baseline-health 0.8.2
File Interpreter ABI Platform Actions
baseline_health-0.8.2-py3-none-any.whl Python 3 none any Details for baseline_health-0.8.2-py3-none-any.whl

Total release size: 703.9 kB

Release files / baseline_health-0.8.2.tar.gz

Download URL baseline_health-0.8.2.tar.gz
Size 409.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ce91a8ae1ff43df3f10b66fd9b7809e2469b7c341c3643251916c51b8f41a8fb
BLAKE2b-256 checksum
How to use checksums
7b10ac90efbfebf3a03704c02f8643be2b597ca2b6454be98e858daa614af9aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / baseline_health-0.8.2-py3-none-any.whl

Download URL baseline_health-0.8.2-py3-none-any.whl
Size 294.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3ad1a0f776d8b0b1aa313983188d33b6efb4a6508e5cd2e4bfcd413bfbbce14a
BLAKE2b-256 checksum
How to use checksums
2a63ab8bc83a42b84a2f9dbe31cc3f487f78fea9194bcc4a65029f4f034d136e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Security for baseline-health 0.8.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page