Korat
Feature

Log activities, GPS routes and daily rings

Health and fitness in Korat is twelve activity types, a live route map drawn from GPS, rings and streaks that carry across days, and a social feed where the people you already talk to in Korat can see the run and give you kudos.

Health and fitness tracking fails in one of two ways. Either it is a beautiful private graph nobody else ever sees, so there is nothing pulling you back on the day you would rather not go; or it is a social network of strangers, where the encouragement is generic because the people giving it do not know you. Korat's health module sits inside an app you already use for chat, groups and the feed, so the audience for a Saturday morning ride is the same set of people who will ask about it on Monday. That is the whole design premise, and every decision below follows from it.

Twelve activities, and only four of them need GPS

The app records twelve activity types: run, walk, cycle, hike, treadmill, swim, gym, yoga, jump rope, football, badminton and boxing. Four of those — run, walk, cycle and hike — are GPS-tracked, because they move you across a map and the route is genuinely part of the record. The other eight are not, and the app does not pretend otherwise. A yoga session has a duration and an effort; it does not have a polyline. Asking a GPS chip to describe an hour of badminton produces a scribble, not data.

For the tracked four, a session shows live distance, duration and pace while it runs, with pause, resume and stop. The route is drawn on an OpenStreetMap base layer as you go, rather than waiting for a post-run summary to render. Steps come from the device's own step sensor rather than being inferred from GPS movement, which means the count keeps working when the phone is in a pocket indoors and does not collapse when a signal drops between buildings.

Goals are set by a level, not by a number you invent

The first time you open Health, the app asks two questions rather than presenting a blank target field: a goal, chosen from five options, and a level, chosen from four. That two-by-two answer produces suggested targets per activity, which you can then override. The reason for the indirection is that most people cannot pick a good weekly distance target on day one. They pick something aspirational, miss it in week two, and the streak counter turns into a record of failure. Asking what you are training for and roughly where you are starting produces a first target that is reachable, and a reachable first target is the only kind that survives contact with a real week.

After onboarding, goals live per activity — a running goal and a cycling goal are separate numbers, not one blended fitness score. Progress against them is shown as activity rings for steps, kilocalories and kilometres, plus a weekly bar chart so you can see which days you actually moved rather than only a total. Streaks count consecutive days, and because a streak is the single most motivating and most punishing number in any fitness app, it is shown next to the rings rather than as the headline.

Daily logs for the things a sensor cannot see

Not everything that matters is an activity. The app keeps daily logs for water, weight, sleep and others, entered by hand, because no phone sensor can tell you how much you drank or how well you slept. These sit alongside the workout history in the same health profile, so a week where the distance dropped and the sleep log also dropped is legible as one story instead of two disconnected graphs. The health profile itself holds the standing facts — the things that do not change day to day and should not be re-entered every session.

Kudos, and why the feed is separate from the main feed

Finished activities can appear on a community activity feed, where other people can give kudos. Kudos is a deliberately small gesture: one tap, no comment thread required, no count that means anything beyond "someone saw this". It is the fitness equivalent of a nod at the trailhead. The reason it is a separate feed rather than being dumped into the main Korat feed is that workout posts have a different rhythm to social posts — someone training five days a week would flood a shared timeline — and the main feed is ranked by its own algorithm which would fight with that volume.

When you do want a specific activity in front of a wider audience, there is a share composer. It puts your caption over a chosen background and sends the result to your Korat feed, to a story, directly to a friend in chat, or out to any other app on the phone. That last path matters: the point is not to trap the achievement inside Korat, it is to make a good-looking card out of a real recorded session and let you put it wherever you want it.

What the numbers actually are

Distance and pace come from GPS positions sampled during the session, which means they inherit GPS's normal behaviour: accuracy varies with sky view, and a route recorded under a covered market will look different from the same route in open ground. Steps come from the device's dedicated step sensor, so the step count and the GPS distance are independently sourced. Kilocalories are an estimate derived from the activity, not a measurement — no phone can measure energy expenditure, and the app presents the figure as one input among three in the rings rather than as a fact.

Health is Android-app only. The web app does not have this module, and it is a decision rather than an unfinished job: recording a session means the device tracking position continuously with the screen off, which a browser cannot really do — and a half version that loses your route halfway through is worse than an honest "open the app", because the honest one does not cost you the run.

There is no heart-rate data, and no wearable integration. Korat reads the phone's GPS and its step sensor, and nothing else. If you train with a chest strap or a watch, that data does not come into the app and the app will not pretend to know your zones.

Sessions also depend on the phone being with you and having location permission granted. The permission pre-screen explains why each Android permission is requested before the system dialog appears, and declining location simply removes the four GPS activities rather than blocking the module.

How it fits the rest of the app

Health is one module in a single app with one account. The friends who give kudos are the same friends you have in chat; a running group can be an ordinary Korat group with posts, roles and join requests, and a shared activity can be dropped straight into that group's conversation as a normal post. A group that all trains the same sport can be a sports club instead, which ranks its members from these same recorded sessions. There is no separate fitness account, no second friends list, and no third-party service holding the route data — it lives on the same backend as everything else, under the same row-level security rules. A minor's route is forced private, one of the age rules set out in the child safety standards.

Activity types
12 — run, walk, cycle, hike, treadmill, swim, gym, yoga, jump rope, football, badminton, boxing
GPS tracked
run, walk, cycle, hike — live distance, duration, pace, route map
Map
OpenStreetMap, drawn live during the session
Steps
read from the device step sensor
Rings
steps · kilocalories · kilometres
Onboarding
one goal from 5 options × one level from 4 options
Daily logs
water, weight, sleep and others
Social
community activity feed, kudos, share composer

Frequently asked questions

Does Korat work with a smartwatch or a heart-rate strap?

No. The app reads the phone's GPS and its built-in step sensor, and there is no wearable integration of any kind. There is no heart-rate data anywhere in the module.

That also means a session needs the phone on you. If you leave it behind, the activity is not recorded.

Can I track a gym session or yoga, with no GPS?

Yes. Eight of the twelve activity types — treadmill, swim, gym, yoga, jump rope, football, badminton and boxing — are recorded without GPS, as a duration rather than a route.

They still count towards goals, rings and your streak.

Who sees my activities?

Finished activities can go to a community activity feed where other people can give kudos, or you can keep them to yourself and share nothing.

When you do want to share one, the composer sends it to your Korat feed, a story, a friend in chat, or out to any other app on the phone — you choose each time rather than setting it once and forgetting.

How are the calorie numbers calculated?

They are an estimate derived from the activity, not a measurement. No phone can measure energy expenditure directly.

That is why kilocalories are one of three rings rather than the headline number — distance and steps are measured, calories are inferred.

What happens to my streak if I miss a day?

It resets. A streak counts consecutive days, and there is no freeze or rest-day credit built in.

This is also why the app asks for a goal and a level at first run rather than letting you type a target: a target you picked in an optimistic mood is the usual reason a streak dies in week two.

Create a Korat account

One account works in the web app and the Android app, free. Recording an activity has to happen in the Android app, because a browser cannot track position with the screen off.