Six checks run on every message: valid output, fits the channel, right language, no invented numbers, approved claims only, and the key fact included. A draft that fails a check goes back to the model once, with the failures, for both models.
Conversion · lifecycle nudges, reward reminders and weekly recaps
A personal message for every saver, every day
A template tells 35M people the same thing. This writes each saver's message from their own streak, goal and reward, in their language: the kind of message that gets a save today and brings a lapsed user back. Jar's rules still pick who hears what; the model writes it, within Jar's approved claims.
Rules pick who gets a message. The model writes it from the user's own facts.
LanguageHindi
Autopay₹30 per day
Streak23 days (best 41)
Gold1.842 g · ₹22,360
Last savedToday
Last app open1 day ago
GoalDiwali gift for Maa
Reward · ends 25 OctDhanteras bonus
F
Claude Sonnet 5.5Frontier model, via public API
9:415G ▮▮▮
9:41
Wednesday, 21 October
The message appears here
Cost-
Time-
Output tokens-
D
GPT-OSS 120BOpen model on Dvar Inference, India
9:415G ▮▮▮
9:41
Wednesday, 21 October
The message appears here
Six checks run on every message: valid output, fits the channel, right language, no invented numbers, approved claims only, and the key fact included. A draft that fails a check goes back to the model once, with the failures, for both models.
Cost-
Time-
Output tokens-
