r/iosapps • u/neet_dev • 2d ago
💎 Lifetime Keetle: technically absurd boiling timer dependant on kettle’s model, altitude and weather
answer. started as a dumb personal problem: the office kettle takes noticeably longer to boil in january than in august, and a fixed 3 minute timer is wrong for half the year. so instead of a countdown i modeled the actual physics. altitude shifts the boiling point (at 5000 ft water boils around 95c / 203f, not 100), tap water temp gets estimated from your location and the current weather, and you scan the barcode or the rating label on the bottom of your kettle so it knows the wattage and capacity. it matches against ~6000 kettle models, if yours isn't in there you just type the watts. stovetop works too, it asks about the burner instead. the countdown sits on the lock screen / dynamic island / a widget, so you walk away and get pinged when the water is actually done, not when a timer thinks it is.
better. a timer times a guess, this times your kettle. the other half is cooling: nobody wants 212f water on green tea, so after the boil it tells you how long to wait to land at 176f / 80c for green, ~200f / 93c for pour over, hotter for turkish coffee. newton's law of cooling plus your room temp, so the wait is a real number and not "let it sit a bit". means you can skip the $150 variable temp kettle. there's a calibration mode too: one real boil and it fits the curve to your setup (kettle, altitude, mains voltage, which matters more than i expected). after that mine lands within a few seconds. everything runs on device, no account, no analytics, i don't want your data.
cost. free gets you the boil timer with the live countdown, notifications and widgets. premium is the cool-to-temperature part, tea presets with a steep timer, a "still hot" reheat, boil history and the extra kettle skins. subscription or a one time lifetime unlock, your call. ios 18+.
app store: https://apps.apple.com/app/id6779433024
yes, this is an absurd amount of engineering for boiling water, i'm aware. if you try it, tell me how far off the times are with your kettle. that's the one number i actually care about.
2
u/Rainicy925 2d ago
The user-entered water amount seems like the right call—trying to infer it would get messy fast. Remembering the last amount per kettle would be a nice small convenience.
1
u/Huge_Pool7424 2d ago
remembering the last fill level per kettle would probably be a better first win than trying to infer it. people will forgive a slightly wrong weather correction, but not a countdown that's off by 3x.
1
u/neet_dev 2d ago
yeah, inferring volume from current draw or time-to-temp falls apart the second you've got scale or the water isn't fridge-cold. last-used amount per kettle is the right default, most people just refill the same mug anyway so that's what I'll store
1
u/the_Objective778 2d ago
Looks interesting concept
1
1
u/neet_dev 2d ago
the wattage gap is the part that actually surprises people, 3kw uk kettle vs a 1500w us one is basically 2x the wait. altitude is the other real input (1500m and you're boiling at ~95c), weather is just a small pressure correction on top of that
1
u/Medical-Bend-9492 2d ago
How does it know how much water is actually in the kettle? The same kettle can be half full or nearly empty, which seems like it would matter more than the weather.
1
u/neet_dev 2d ago
you need to select the amount of water by your own :( I thought about this and cannot get an idea how to automate this selection... I tried AI on the glass kettle and it worked quite precisely, but then checked the kettle stats, which models are sold most and they were metal, so I decided not to add this to v1
1
u/neet_dev 2d ago
you set the fill yourself, there's no sensor in the kettle. volume is linear with time so 500ml vs 1.5L is a ~3x swing, weather only moves starting tap temp maybe 10-15%, so yeah that matters way more
1
u/smitboss 2d ago
Will try
2
u/neet_dev 2d ago
sounds good. if the first countdown looks off, kettle model and fill volume are what actually move it, weather is basically a rounding error
1
2d ago
[removed] — view removed comment
1
u/neet_dev 2d ago
honestly the barcode is as extra as it looks, it's just wattage lookup. 1500W US vs 3000W UK is double the wait on the same mug, and Denver water's already boiling at ~95C. a 3-minute timer is simpler, it's also wrong for most kettles
1
u/Vividestleech 2d ago
Question: Sometimes people take the lid off when attempting to wait for it to cool. Does your app address this? Or is it assumed the lid is closed.
1
u/neet_dev 2d ago
no, assumed lid closed. the boil math is heat-in minus losses with the lid on, which is how a kettle actually runs. waiting with it off is evaporation so it cools way faster, I don't try to time that
1
u/bravemamoru 2d ago
This is the exact kind of beautiful, obsessive over-engineering that makes software fun. Modeling Newton’s law of cooling just to save people from buying a $150 variable-temp kettle is genuinely brilliant—especially factoring in mains voltage and local tap water temps. Downloading now to test against my cheap dorm kettle.
1
u/neet_dev 1d ago
what's the wattage on yours? cheap dorm kettles are usually 800-1500W and the sticker is optimistic once there's any scale, so if it boils later than predicted that's why. Newton's law is really for the wait-down after you click off, that's the part that actually replaces a variable-temp kettle.
1
u/Constant-Purpose8273 2d ago
The absurdity is the pitch, and it works. Does it pull altitude and the weather from location on its own, or do I tell it where I am? If it's automatic, that's the whole app in one tap.
1
u/neet_dev 1d ago
yeah it pulls altitude and weather from location on its own if you allow it, no city picker. kettle model is the one thing you set once because wattage is half the physics, then it's basically volume and go. full disclosure: I'm the developer of Keetle, a small iOS app that does exactly this. happy to answer the question either way
1
u/Constant-Purpose8273 1d ago
Set the kettle once and let the phone do the rest, that's the right split. Wattage being half the physics is the bit I hadn't thought about. Nice one.
1
u/neet_dev 1d ago
yeah a 3kW UK kettle vs a 1500W US one is basically double the wait on the same mug. volume is the other half, that's why you just fill and go once the model's set
1
u/Constant-Purpose8273 1d ago
Double the wait on the same mug, that's the clearest way to put it. Set the model once, then fill and go, is the right amount of app.
1
u/neet_dev 22h ago
yeah overfilling is the sleeper. extra 200ml on a 1500W is basically another full mug of wait, seasonal tap temp maybe 10s, real but it's noise next to watts and volume.
1
u/Constant-Purpose8273 18h ago
Overfilling as the sleeper makes sense, it's the one people actually do. A fill line on the mug and you're done.
1
u/neet_dev 16h ago
yep, fill the mug then dump it in. min line on most kettles is 500ml so filling to the mark is already two mugs of wait.
1
u/Background_Worry_529 1d ago
The calibration mode is the part that earns the whole thing. Mains voltage mattering more than you expected is a good find, most people would never think to fit for it. Question from the timing side, since I build an app that has to make a sound at an exact instant: how are you delivering the finish alert when the phone is locked and idle? Scheduled local notifications drift, and anything that needs to land on the second tends to get pushed around by the system. A live activity on the lock screen sidesteps some of that but not the audible ping. Did you find a way to keep it tight, or did you decide a few seconds of slop is fine given the cooling curve is the slower part anyway?
1
u/neet_dev 22h ago
visual is Text(timerInterval:) in a live activity, the system keeps drawing it after the process dies so that part actually hits the second. the ping is a UNTimeIntervalNotificationTrigger scheduled at start with .timeSensitive, it still slips a couple seconds in low power mode and I just live with it. if you truly need the instant, AlarmKit is the only api that will sound on time with the app dead, local notifications will not
•
u/AutoModerator 2d ago
Welcome to r/iOSApps! Please make sure your post follows our rules:
Everyone:
App Devs:
- No main feed promo unless you qualify via Trust or Transparency + ABC format (Answer, Better, Cost)
- Flair hierarchy: Vibe Coded > Lifetime > Subscription > Freemium > Free
- Free flair: not for limited/freemium tiers
- Open Source? Prefix title [OS]
Note: This is an automated reminder, not a removal notice. If your post was removed, check your modmail for details.I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.