Sign in

David

@bitomule.bsky.social
53 followers 132 following 246 posts

iOS engineer, Apple fan and tech lover. I mainly talk about iOS development and the apps I make.

PostsRepliesMedia
David @bitomule.bsky.social · 7h
mav is ready for iPhone duo. If you are building for iPhone duo using agents give it a try. mav can now manage the hinge, tap inner pannel, take screenshots and videos and works with device hub. Free, open source, skill ready github.com/bitomule/mav
github.com
GitHub - bitomule/mav: Deterministic iOS app validation CLI for AI coding agents.
Deterministic iOS app validation CLI for AI coding agents. - bitomule/mav
000
David @bitomule.bsky.social · 26/09/2026
Let us know if you have more questions. Happy to share our love to Bazel.
000
David @bitomule.bsky.social · 26/09/2026
That explains the audience’s question on Linux. We’re exploring remote builds, including Linux machines. Running CI and giving agents their own build environments on cheaper machines is something we want to investigate.
100
David @bitomule.bsky.social · 26/09/2026
We evaluated Tuist and would choose Bazel again for our project. Its capabilities and long-term foundations convinced us. We're still moving more work into Bazel, and local machine capacity is becoming our next constraint.
100
David @bitomule.bsky.social · 26/09/2026
Would we mix Bazel with SPM or CocoaPods? We'd avoid it. Maintaining multiple build systems adds complexity. For a gradual rollout, we'd rather keep the old and new build paths running in parallel while moving the project over.
111
David @bitomule.bsky.social · 26/09/2026
Did we start with a Bazel agent skill? No. We pointed agents at open-source examples and learned from there. There were two of us handling the migration; we're now sharing that knowledge and considering skills to help other teams migrate.
110
David @bitomule.bsky.social · 26/09/2026
Our CI runs on Bitrise, with BuildBuddy for caching. We chose BuildBuddy for its detailed insights. We also reuse cached work across worktrees, which matters when we're working on several branches with agents.
100
David @bitomule.bsky.social · 26/09/2026
What about resources and project settings? Our project was huge, so migrating its configuration took a lot of work. Assets and resource bundles still need declaring. That's part of the migration effort worth budgeting for.
100
David @bitomule.bsky.social · 26/09/2026
Did upgrading to the Xcode 27 SDK get harder? For us, it was as easy as previous upgrades. Keeping local and CI toolchains aligned still takes coordination. Today we use a team agreement on Xcode versions; we haven't enforced one yet.
121
David @bitomule.bsky.social · 26/09/2026
Did everyone have to leave Xcode? Most still use it. Focused projects made it usable again for us. Some engineers use VS Code or Neovim. Sometimes we work through agents without opening an IDE at all.
100
David @bitomule.bsky.social · 26/09/2026
We'd already spent years breaking up a huge monolith. That mattered: Bazel works at target level. A change inside a huge module still affects that module. We recommend starting with a modular architecture, whatever build system you choose.
100
David @bitomule.bsky.social · 26/09/2026
Only one of us spent >90% of their time on it. Over a month went into gradually onboarding engineers and moving CI and the release process. Getting the whole team working with Bazel was a substantial part of the migration.
100
David @bitomule.bsky.social · 26/09/2026
Our iOS codebase had ~1.5 million lines, excluding dependencies and generated code. Two engineers worked on the migration. Once we’d learned what we covered in the talk, it took less than a quarter.
100
David @bitomule.bsky.social · 26/09/2026
I had a great time speaking with my dear Mostafa at NSSpain about our migration to Bazel. We loved seeing how much interest it sparked and how many questions came in, so we wanted to share our answers here.
100
David @bitomule.bsky.social · 21/09/2026
This is how mav goto and jev work together. >50% faster iOS app navigation. Try it now, I’m pushing and releasing while I build. github.com/bitomule/mav
000
David @bitomule.bsky.social · 20/09/2026
Not sure why the safe area is claiming so much space, but I’m getting closer. Wish I could afford an iPhone Duo to test this properly, maybe one day. 😂
000
David @bitomule.bsky.social · 20/09/2026
What next? IDK, I'll probably focus on my own setup, but I'm having tons of fun with jev. Try things, don't trust bait posts. #builtintpublic
000
David @bitomule.bsky.social · 20/09/2026
I’m trying a different approach: using mav goal “Go to settings” as the target goal. So far, it’s producing significantly better results on both cost and speed. I’ll share more soon, but you can follow along now. mav is fully open source at github.com/bitomule/mav.
github.com
GitHub - bitomule/mav: Deterministic iOS app validation CLI for AI coding agents.
Deterministic iOS app validation CLI for AI coding agents. - bitomule/mav
110
David @bitomule.bsky.social · 20/09/2026
Now I'm exploring using jev in mav, my agentic evidence tool for iOS simulators. So far, I explored a new command: mav ui find to get jev to read the tree and tell the smarter LLM what to do. This failed; it's even slower.
100
David @bitomule.bsky.social · 20/09/2026
The right open-source tools were already there for jev. I updated musts (github.com/bitomule/musts) to add jev as a validation action, so anything jev can validate can run in your automated checks. I think it’s the best way to validate changes with jev.
github.com
GitHub - bitomule/musts: The validation loop that stops AI coding agents from claiming work is done before it actually is.
The validation loop that stops AI coding agents from claiming work is done before it actually is. - bitomule/musts
101
David @bitomule.bsky.social · 20/09/2026
Next, I started to read other people's use cases. I have to say that social media is full of bait examples that don't work and don't show you the data. Jev is amazing, but it's not magic; it fails in many cases and is far from frontier LLMs' capacity. It's just not that.
100
David @bitomule.bsky.social · 20/09/2026
Once validated I needed something more solid, so I builded Jevi github.com/bitomule/jevi A simple rust cli to unblock me. Now you can also try it and experiment with jev in the easiest way
github.com
GitHub - bitomule/jevi: Ask typed questions about a text and branch on the answer. A shell front end for TypeSafe's Jev.
Ask typed questions about a text and branch on the answer. A shell front end for TypeSafe's Jev. - bitomule/jevi
100
David @bitomule.bsky.social · 20/09/2026
I'm still playing there, but so far the only solid thing that holds is checking if an agent is done or waiting for a decision. Jev call is part of my orchestrator scripts and feels free and transparent.
100
David @bitomule.bsky.social · 20/09/2026
First place I used jev: my agent's setup. I'm building an orchestrator-based setup, so I wanted to see where jev can help with decisions the LLM used to make. I tried many places and failed 90% of the time.
100
David @bitomule.bsky.social · 20/09/2026
Like half of my timeline, I started poking at Jev on Friday. Plenty of people have already explained what it is and done it better than I would, so I'll skip that and go straight to my experience. First, cost, after 2 days of hardcore playing with jev I spent so far: 40 cents.
100
David @bitomule.bsky.social · 18/09/2026
WIP
000
David @bitomule.bsky.social · 11/09/2026
I’m super proud of my app portfolio. I’m working super hard to deliver all these updates. Please give me and other indies some love because we have been working hard all summer. #indieDev #ios
010
David @bitomule.bsky.social · 11/09/2026
I’m working hard on my next app, but I can’t make it to the iOS 27 release window, sadly. I can announce that it will use Apple PCC models to offer advanced AI features with the privacy all my apps always deliver.
100
David @bitomule.bsky.social · 11/09/2026
And Undolly 4.4 is waiting for Apple review and brings massive performance improvements. Finding a similar group is now FOUR times faster. Try it also for free at apps.apple.com/es/app/undo...
101
David @bitomule.bsky.social · 11/09/2026
Update alert: BOXY 2.8 now has a huge suite of intents ready to use with iOS27 + photos in boxes, tags, QR support, and fixes. Try it free: apps.apple.com/es/app/inve...
120
David @bitomule.bsky.social · 26/08/2026
Access your GitHub issues from anywhere, create new ones with default parameters, and this is just the first version. Updates coming soon will add search, shortcuts, massive support, images...
000
David @bitomule.bsky.social · 26/08/2026
Let's start the app season early. I have been working on something different, my first developer tool. This one is not big but solves one problem: GitHub issues in iOS. Try it free! apps.apple.com/app/id67896...
110
David @bitomule.bsky.social · 15/07/2026
New update for HiddenFace is almost done, and this one will be fun 🎉. I’m adding custom masks 🎭 and an editor, so now you can create your own masks and use them to cover whatever you want ✨.
000
David @bitomule.bsky.social · 13/07/2026
No because the script I have handles that and as soon as it takes an issue adds the label. Part of the setup is scripted instead of agent driven to prevent issues like that
000
David @bitomule.bsky.social · 12/07/2026
Claude handles it for me. I’m still improving it but Claude manages everything in GitHub good (all lllm in general). Claude adds a label when working on something, adds a label when needs review or marks as solved
110
David @bitomule.bsky.social · 12/07/2026
Yeah I’m still tuning it. I have 2 steps: triage in sandboxed environment and worker just for extra security. Right now I haven’t enabled the agent to build E2E. The limit is PR
110
David @bitomule.bsky.social · 11/07/2026
Right now I have a tiny lock file just to prevent more than 3 concurrent builds and for the new setup I’m working on state is on GitHub issues
100
David @bitomule.bsky.social · 11/07/2026
Thanks! I’m exploring more and more how powerful claude agents is. Now I monitor GitHub issues and kick a claude agent directly
110
David @bitomule.bsky.social · 11/07/2026
With a mix of claude -bg, skills, and basic macOS tools, I can now schedule automations that run and appear in my agents' lists. I've written about it here if you want all the details: blog.bitomule.com/posts/sched...
blog.bitomule.com
Scheduling Claude Code agents with launchd | Bitomule's learning shack
I get more done in Claude Code than anywhere else, but it could not run agents on a schedule. So I wired one up with launchd, and now a different agent works on my apps every morning before I wake up.
110
David @bitomule.bsky.social · 11/07/2026
I do love Claude agents; for me, it's far superior to the Codex desktop app, Codex TUI, and anything I have tested. So I wondered: can I use its system programmatically? And it turns out you can!
100
David @bitomule.bsky.social · 11/07/2026
I'm always testing different agent harnesses, but I can't afford paying all the models and services. For some weeks I tested codex but had to be honest with myself: I get more work done with claude. Still there's one codex feature I really needed: automations. So I built it!
210
David @bitomule.bsky.social · 01/07/2026
New Undolly 4.1 shipped with some fixes and a new option to do analysis in data ranges. Want to review similar photos just from last year? Now it's possible. Clean WhatsApp photos from that crazy weekend? Possible. I love building based on users' feedback/ideas.
100
David @bitomule.bsky.social · 11/06/2026
Last call on the Undolly 4 launch discount. The lifetime unlock goes back to full price today. A cleaner phone, and a better way back through your photos. All on-device, like always. apps.apple.com/app/id67392...
000
David @bitomule.bsky.social · 09/06/2026
Undolly 4 is out. From finding similar photos a full and personalized experience to clean your device. Now it can go through anything, one swipe at a time. Screenshots, big videos, a whole day, a whole month. Try it free! apps.apple.com/app/id67392...
000
David @bitomule.bsky.social · 09/06/2026
I worked hard on this one, lot's of details, corner cases, details so I hope you like it. To celebrate I'll be running a 48h prize discount so grab it while it's hot! apps.apple.com/app/id67392...
000
David @bitomule.bsky.social · 09/06/2026
Compression came straight out of that last one. I kept running into big videos I didn't want to delete, because they're memories. But some of them are huge. So now you can compress and keep them, and still get most of the space back. Deleting stopped being the only option.
100
David @bitomule.bsky.social · 09/06/2026
Once you can go through any single item, you can build a mode for almost anything. So 4 has them: screenshots, big videos, screen recordings, RAW, panoramas, WhatsApp and Telegram media. And the one I reach for most: pick any day, or any month, and just go through it.
100
David @bitomule.bsky.social · 09/06/2026
So the heart of 4 is a new way to review anything, one item at a time. A card on screen: swipe to keep, swipe to delete, swipe up to favorite. Photos and videos, zoom and play, all in. It sounds small. It's the piece that made everything else possible.
100
David @bitomule.bsky.social · 09/06/2026
The problem is that most of what fills your phone isn't similar photos. It's 400 screenshots. One video eating a couple of gigs. A random Tuesday where you took 200 pictures. Undolly couldn't really help you with any of that. It only knew how to think in groups of look-alikes.
100
David @bitomule.bsky.social · 09/06/2026
Undolly 4 is out today after months of work. It's the biggest release and takes Undolly from an app to clean similars to something you'll use every day to clean and connect with your memories. apps.apple.com/app/id67392...
100