Personal project · Kilo · 2026

Drift: Calmly cut back

A little iOS app to help ease off vaping.

Role
Solo: design + iOS engineering
Built with
ClaudeCode · SwiftUI · iOS 26
Status
Free on the App Store

The problem

Adults vaping in the US has roughly doubled in the last 4 years, and it's still climbing.

Nicotine is a hard thing to quit, and most that try to quit vaping don't succeed. Even structured cessation programs in studies land around 18% successful cessation at 12 weeks, and these interventions mostly show no statistically significant edge over self-guided quitting.

Modern vapes can pack more nicotine than a pack of cigarettes. A single 5% nicotine vape is roughly equivalent to smoking two packs of cigarettes, and the nicotine salts inside them are absorbed more efficiently. Not only that, but vapes don't cause you to smell bad, there's no natural stopping point like a cigarette, and they can be used virtually everywhere.

If you don't know how much you vape, it's going to be hard to cut back.

Most that vape underestimate their dependence. A 2025 study of U.S. adults found that for most people, their sense of whether they're addicted to nicotine doesn't line up with the clinical signs of dependence. People are genuinely poor at reading their own habit.

But you can't change a behavior you can't see. Surfacing it back to you is a recognized, evidence-based behavior-change technique called self-monitoring, and it's well-supported: a meta-analysis of smoking-cessation interventions found that prompting people to record their own behavior was among the techniques linked to significantly larger effects.

Self-monitoring works, but only if people actually do it. The moment logging feels like work, it won't happen. Capturing one use has to be as fast and thoughtless as the use itself. The log has to disappear into the habit, or it won't get used.

The idea

I wanted to build self-monitoring tool, and gently push users to wait longer than their average until the next hit.

It started as a single iOS Shortcut on my phone, just a quick way to log a hit and see how long it had been. That was enough to tell me I cared about the idea, but I hit a wall fast. Making logging easy was solved, but there was no way to know if you were reducing usage.

So I opened Claude and built a new prototype directly on my phone, just by talking to it. Two JavaScript files and an HTML dashboard which I could launch from an app called Scriptable, all backed by one JSON file that contained the data. No laptop, no Xcode, just describing what I wanted and nudging it until it felt right.

A spirit is born.

Self monitoring and a dashboard were largely solved, but there was something missing. It needed a visual cue you could get attached to, something that would make you feel rewarded for starting to drift longer than average before taking your next hit.

Enter the spirit. The spirit is always contempt and doesn't judge you or get angry when you need to take a hit (ahem Duolingo), but does help you feel accomplished when you can last longer than you usually do before your next hit. The longer you can hold out, the happier it gets!

I kept iterating quickly on this local script before jumping into Xcode. Once it started to approach something worthy of an app, it evolved into something new, and I call it Drift.

Delivery

Then I pushed forward to make it a real app.

When it was ready to be a real app I moved to Xcode, pairing with Claude the whole way through the native rebuild. I made the product and design calls; Claude did a lot of the typing.

Over a couple weeks I've iterated and pushed on the design. This workflow has removed the barrier that has previously made it incredibly hard to go from vision to delivery. It's a genuinely new way to make things, and it's the only way to work to get closer to shipping at the speed of an idea without investing money I don't have on developers.

Drift, on the App Store today.

Features

What it actually does

One-tap logging

Log a hit with a shortcut or the Action Button without opening the app or even unlocking your phone.

A spirit that grows

The cloud spirit's eyes widen and the sky fills with sparkles the longer it's been. Slip, and it gently settles back.

Long-stretch mode

Once it's been days, weeks, or months, it reframes around how far you've come with a new milestone serving as your next target.

Just wait for the notification

A gentle heads-up when you pass your average lets you know you're successfully drifting. Customize the time after your average before the notification fires to up the challenge.

Charts galore

Whether you want to know when your cravings come hardest, how the gaps between hits stretch over time or if you've reduced your overall number of hits over time, there's a chart for that.

Yours, and private

All on device, synced through your own iCloud. No ads, no account, nothing collected. Free.

Shipped

It's free on the App Store

If you'd like to check it out, Drift is on the App Store for free, and the whole thing is open source on GitHub under the MIT license.