Cicolator 2.0
I spent a good portion of the summer updating Cicolator, and it’s a doozy!
Interestingly enough, this whole process started with me just making sure it looked okay on iOS 26. Things changed when I got back into calorie tracking, and when I saw my wife using Cicolator, too!
That’s when I decided to make this a true 2.0. Something that had the features it should’ve had on day one (and the stuff she asked for!)
So, what’s new?
Barcode Scanning
Yeah, this is sort of “table stakes” for a nutrition app. Sure, you might not be logging everything using a barcode scanner, but it’s undeniably convenient for things you’re grabbing out of the pantry.
If camera permissions are granted, you’ll get a sheet view that utilizes Apple’s VisionKit API. Once a barcode is detected the code is sent to Open Food Facts—a wonderfully simple and free directory of food entries—and the calories are fetched for you.
Waiting for some first-party API maturation paid off on this feature. There’s still no third-party libraries used in Cicolator!

Magic Entry
My diets often fizzle out when I find myself unable to stick to the plan. Maybe we’re at a restaurant, a potluck, or a cookout and I don’t really have the ability to scan a barcode or look up nutritional facts. The best thing to do in these cases is to log something—but, what?
AI has been surprisingly helpful for me in these predicaments. I describe the meal, the portion size, and tell it to use “upper bound” estimations so I’m not just going for a best case scenario. It’s an imperfect estimate, but it’s helping me budget the rest of my day.
This is exactly what Magic Entry does.
It’s backed by Apple’s Foundation Models which is free and stays on-device. This means I’m not sending anything to ChatGPT or Gemini or the like. Use it in a pinch, but know it’s just a computer’s guess!

Favorites
Yeah, there’s no excuse for missing this in 1.0. In fact, my wife was logging her breakfast one morning and told me she really wished this was something Cicolator could do. I implemented it later that day and it’s perfect for logging things you eat routinely like pre-portioned snacks, recurring lunches, and more.

And some odds and ends
As of 2.0 I’m requiring iOS 26. That means I can shed some legacy code, leave certain features unguarded, and ditch all of my custom icons for a new one created in Icon Composer. Cicolator should feel right at home in whatever theme or setup you like!
Shoutout to AI?
Cover your ears, dev purists! AI was a tremendous help getting back into SwiftUI development.
When Cicolator 1.0 launched it was my first production SwiftUI app. Sure, I maintained it, but I’m spending most of my time developing web apps. I’m not working with this language or this framework on a daily basis.
Using AI to help explain concepts I hadn’t seen in a while—sometimes ones I’d never seen at all—was so invaluable. Here’s an example of what I mean:
I knew I wanted to include barcode scanning and I also knew Apple had a first-party way to handle barcode detection. But, Apple’s docs are a bit underwhelming, and many of the results in Google are dated or involve third-party packages.
Using ChatGPT to give me a very basic implementation of DataScannerViewController
so I can hand-tweak it and fit it into my application was so helpful. This helped me understand the basics of the API and then I could work it into a UI that felt right.
Summary
So, yeah, that’s Cicolator 2.0! What started out as an update to ensure it looked good in iOS 26 turned into a much more ambitious update. It’s still free, private, and syncs to your iCloud account. It’s exactly the kind of app I want to use and I hope you find it useful, too!
