Your coach lives in Messages.

Text photos, weigh-ins, workouts, and questions, skcal logs everything and answers from your real numbers.

Photo in, macros out

Text a picture of any meal and get itemized calories and protein back in seconds. Scale readouts, treadmill consoles, and tape measures work the same way.

Everything logs itself

"158.2 this morning" logs a weigh-in. "Ran 5k then 3x10 pullups" logs a workout with real fields. Voice notes work too, talk instead of typing.

It remembers you

Tell it once that you hate yogurt or that you're cutting to 167, and every future answer respects it.

Advice from your actual day

"What should I eat tonight?" gets an answer computed from the calories and protein you have left, not generic tips.

Onboarding is a text message

Text the number, answer four quick questions, get your daily plan. No app install, no forms.

A real iMessage thread with skcal, a burrito bowl photo logged at 760 calories and 46g protein, then dinner advice from the remaining budget

Fully programmable underneath.

Every surface is an API. The agent and the web app are just clients.

A real CLI

Log, list, and check status from your shell. Install from npm or grab a standalone binary.

Scoped API keys

Mint keys limited to exactly what a script needs. Hashed at rest, revoke anytime.

weight:read nutrition:write targets:write agent:write

Typed HTTP API

OpenAPI 3.1 with a lint-perfect spec: every endpoint documented, every schema exact. Pipe /openapi.json straight into your codegen.

OAuth 2.1 everywhere

One sign-in guards the app, API, CLI, and MCP: PKCE, dynamic client registration, refresh tokens. No shared secrets.

Photo → macros

Snap, paste, or describe a meal; Claude estimates calories + protein per item and logs it. Correct it in one sentence.

Scale ingest

Point your smart scale's webhook at one token-authed endpoint. Weigh-ins land in your trend without opening anything.

Your data, in the open

Weights in kg, measurements in cm, meals as line items: all pullable over the API. It's your database row, not our moat.

Five ways in, one account

Web app Dashboard, trends, food log, and the agent chat. app.skcal.fit
Agent Chat with tools that read and edit your log, grounded in your numbers. app.skcal.fit/agent
MCP server Eight tools for Claude, ChatGPT, Claude Code, or any MCP client. skcal.fit/docs
CLI npm package and standalone binaries; browser or API-key sign-in. @skeptrune/skcal
HTTP API Typed OpenAPI 3.1 surface behind every other client on this list. /openapi.json

Start tracking today

Connect your agent or install the CLI in under a minute. Sign in with your phone number; OAuth handles the rest.

mcp https://app.skcal.fit/mcp
$ npm i -g @skeptrune/skcal
Get started