The universal engine
How Types, Properties, Entries, and Routines combine to log anything.
Most tracking apps lock you into one shape — a workout app for workouts, a meal app for meals, a habit app for habits. Kaizendex has one shape that fits all of them. It's called the universal engine, and once you understand the four pieces you understand the whole app.
The four pieces
Type
A Type is the shape of one kind of thing you track. You define it once and reuse it forever.
Examples:
- Push-ups — a workout move with a rep count
- Sleep — a nightly reading with hours and quality
- Coffee — a daily tally
- Diary entry — a free-form note with a title
- Book read — a finished book with pages and rating
Property
A Property is one field on a Type. Push-ups has a reps property. Sleep has hours and quality. A book read has title, pages, and rating. Each Property has a kind — number, text, true/false, date, single-select, file, Stopwatch (live counter), Timer (Stopwatch with a target), and several more. See Properties and the Title for the full list.
Entry
An Entry is one logged instance of a Type. "I did 12 push-ups at 9:01 this morning" is one entry on the Push-ups type. "I slept 7.5 hours last night with a quality of 4/5" is one entry on the Sleep type.
Every entry belongs to exactly one Type and has values for that Type's properties.
Routine
A Routine bundles several Types so you can log them together. "Leg workout" might bundle Squats, Lunges, and Calf raises — one tap logs all three at once. More on this in Routines.
How it fits together
Type: Push-ups
Properties: reps (number), set (number)
↓
Entry: 12 push-ups, set 1, at 9:01am Tuesday
23 push-ups, set 2, at 9:03am Tuesday
18 push-ups, set 3, at 9:05am Tuesday
One Type → many Entries over time. That's the whole pattern. Whether you're logging a workout, a meal, a mood reading, or how many pages you read tonight, it's the same shape underneath.
What you don't have to think about
Because the model is universal, you get the same behaviour everywhere — for free:
- Optimistic updates. Entries appear in your feed the instant you log them.
- Server-side aggregates. Sum, count, and average update automatically as you log. The Dashboard reads from those, not by re-scanning every entry.
- Idempotency. Retries don't double-write.
- Edit and delete. Entries are editable until a retention window passes, then they lock.
Next
- Types → What is a Type — start designing your own
- Routines → What is a Routine — bundle Types into sessions