Streaks, levels and daily rewards
Your relationship is level fourteen. There is a streak counter, a daily bonus, and something that unlocks at level twenty. None of those measure the conversation. They measure your visits, they are borrowed wholesale from free-to-play game design, and every threshold in them is a number in a configuration file somebody can edit.
A level is a counter over your activity
Whatever it is called — relationship level, bond, closeness, affinity — the underlying quantity is almost always an accumulation of activity: messages sent, days opened, sessions started, sometimes actions taken. It goes up when you use the product and does not go down when you are away, or goes down slowly if decay is part of the design.
The label is the interesting part. Calling a usage counter a relationship level attaches a number to something that does not have one, and it is a naming decision rather than a measurement. The counter is accurate about what it counts. It is simply counting visits.
Whether the level does anything mechanical is a separate and checkable question. Sometimes it gates features. Sometimes it changes a line in the character description — an instruction to be warmer at higher levels, which is a real effect produced by a real mechanism. And sometimes it does nothing at all except display, which is also a legitimate design and is worth knowing.
What a streak protects, and from whom
A streak is a count of consecutive days. Its function in every product that uses one is to convert a decision you make daily into a thing you can lose.
The mechanism is not obscure and does not need psychology invented for it: a number that resets to zero is a cost attached to skipping a day, and the cost grows as the number does. Streak-repair items, which several categories of app sell, are the monetised version of that cost. Somebody is charging for the reset.
None of that requires anyone to have intended harm. It requires only that streaks improve daily-return rates, which they do, and that daily returns are the metric the product is run on. It is the same logic as a notification triggered by your absence, differing only in whether the prompt is external or internal.
“Unlocks” are usually flags that were always there
When something becomes available at level twenty, what happened is that a condition in the software evaluated true. The feature existed before. It was gated.
That is not a criticism, but it does reframe the reward. A feature you unlocked was not created for you and was not earned in any sense the software recognises; a threshold was crossed. And because the threshold is a configuration value, it can be lowered in a promotion, raised if progression is judged too fast, or removed entirely when the feature is moved into a paid tier instead. The progression you are on is a live setting.
The currency loop is where it meets the money
Daily rewards typically pay in the app’s own currency, in amounts calibrated to be pleasant and insufficient. Ten a day against an action that costs twelve is the classic shape: enough to establish what the currency is for, not enough to do it with.
That is the entire design. Free earning teaches the value of the unit and creates the shortfall that the purchase closes, which is why the reward and the pack are usually one tap apart. Everything about it depends on the conversion rate between the currency and the actions, and that rate belongs to the operator and can be changed without any price appearing to change.
THE PRODUCT — streaks and levels
· "Relationship level 14"
→ a usage counter with a relational name.
It counts visits.
· A streak
→ a daily decision converted into
something losable. Sometimes with a
repair item for sale.
· Unlocking a feature
→ a condition evaluating true. The
feature already existed, gated.
· A daily reward slightly smaller than what
things cost
→ the shortfall is the design. It teaches
the unit and creates the gap.
· Every threshold, rate and reward amount
→ THE OPERATOR DECIDES, in a config, and
can retune them between releases.
· Whether the level affects the character at
all
→ VARIES BY APP. Sometimes a line in the
description, sometimes only a display.
What you can check
Establish whether the level does anything. Read the app’s own explanation of what changes at each stage. If features are named, the level is functional. If the description is entirely in relationship language with no mechanics attached, it is a display, and treating it as a measurement of anything is treating a counter as a verdict.
Do the currency arithmetic once. Daily reward against cost per action tells you how many free actions a week is, and therefore what the paid packs are actually pricing. It is one division and it makes the whole loop legible.
Check whether progress survives a lapse or a downgrade. Levels, streaks and balances are three separate records and can be treated three different ways when a subscription ends. Cancelling touches some of them and not others.
Notice retunings. If progression suddenly slows or a reward shrinks, a configuration was edited. Nothing happened to your account specifically, and there will usually be no announcement, because economy tuning does not get release notes.
What this doesn’t tell you
It does not tell you what any specific app’s progression system does, what it rewards, or what it charges. No named product is described here and every threshold mentioned is hypothetical.
It makes no claim about what progression mechanics do to anybody. This is a description of a design pattern and its economics, not of any effect on any person.
And it does not tell you that a level is meaningless. It means exactly what it counts, which is your attendance — and the thing being attended is reassembled from a description and a history every single turn, with no counter of its own.