Juan Arzola
ancientbuho.bsky.social
Juan Arzola
@ancientbuho.bsky.social
Apple platforms dev, BG3 modding, my dog, photography etc.

Working on @benkyobox.bsky.social, a simple but powerful memorization app: https://www.autorelease.io/benkyobox/

Live coding: https://www.twitch.tv/ancientbuho
Other: https://linktr.ee/juanarzola
Pinned
Benkyo Box, a pretty simple general-purpose flashcard and memorization app for iPhone and iPad is now in the AppStore. I use it to remember new concepts that I come across or to improve recall on existing ones.

I hope that you find it useful: apple.co/44aXpuH

#flashcards #BenkyoBox
‎BenkyoBox
‎Benkyo Box is a flashcard app that is like your notes, but of the things that you want to commit to memory like names, fun facts, or exam material. These are the facts that you don't want to bury in ...
apple.co
Initial implementation of indexing AppEntities backed by #SwiftData in spotlight - always nice to see an old library making it simpler (FetchDescriptorObserver). gist.github.com/juanarzola/1...
IndexInSpotlight.swift
GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
November 21, 2025 at 7:47 AM
1.5.5 of Benkyo Box is now in beta, lots of #Shortcuts are now available to play with that automate importing cards, studying, etc. Still a few more planned before release, but it's starting to take shape: testflight.apple.com/join/jZXFDA46

#iosdev
November 19, 2025 at 8:43 PM
Too early for me but I try to go to the Friday ones ☕️
Hey #iOSDev #IndieDev folks! 👋🏻

Join us for the Swift Remote Studio iOS Dev Coffee meetup, Wednesdays at 9:30AM PST (5:30PM UTC)! ☕

💻 Sign up at swiftremotestudio.com
🎪 Join the Slack
🏁 Go to the `coffee` channel, click/tap the Zoom link

🌍 Europe & Asia/Australia coffee meetups too!
Swift Remote Studio – Virtual Coworking for iOS, Mac, and Swift Developers
swiftremotestudio.com
November 19, 2025 at 5:34 PM
Trying to use Snippet Intent to streamline studying from #Shortcuts / Siri (without opening the app).

Unfortunately 2 hurdles:
- wonky transitions when invoking an intent from a button. contentTransition() doesn't seem to help.
- Shortcuts `repeat` action does not continue to the next item.
#iosdev
November 18, 2025 at 2:05 AM
Reposted by Juan Arzola
In the tradition of carrying a pencil behind your ear, I made a holster for my Logitech Muse. #visionPro #visionOS
November 17, 2025 at 8:23 PM
I should have worked in this Quick Entry automation before the 17 other ones -- it's nice that you can see how the cards are being parsed from an LLM response before importing them (can't test with the actual model in the simulator, but this recording should illustrate the flow)

#flashcards
November 16, 2025 at 8:15 PM
Today's mystery:

gist.github.com/juanarzola/c...

This code is an extension factory method on FetchDescriptor that builds a FetchDescriptor that fetches a #SwiftData model by UUID, if the model conforms to UUIDString.
An extension that normally works, except from shortcuts, where uuid isn't found in the schema
An extension that normally works, except from shortcuts, where uuid isn't found in the schema - FetchDescriptor+fetchModel.swift
gist.github.com
November 16, 2025 at 2:44 AM
mastodon: say what you think, ignore character limits
bluesky: say what yo
November 14, 2025 at 11:50 PM
In Apple #Shortcuts, it's a bit of a pain to create arrays. I'd be nice if any Intent that returns A, if placed directly below another one that also returns A, makes it return [A]. I made a variant that does this explicitly (append input to output), but I'd be better if it was system-wide.
November 14, 2025 at 11:33 PM
#Shortcuts needs API design guidelines (if an intent just returns an entity should it be called “$EntityName” or “Get $EntityName”? are parameter placeholders always lowercase? is an intent that just gets any property from an entity “Get Details from $Entities” (like Reminders does?)... etc)
November 13, 2025 at 9:32 PM
Exposed enough intents in #BenkyoBox that now you should be able to study all flashcards in a list/folder from outside the app. A lot left to do still, but also a lot of fun in making the app scriptable 😄

#shortcuts
November 12, 2025 at 8:29 AM
Reposted by Juan Arzola
🧪 TestFlight builds are now starting to feature "create flashcard" Shortcuts, so that you can automate adding them. You can see other upcoming features in the board (anything marked 1.5.5) benkyoboxapp.notion.site/29803e90dab1...

as always, beta builds at: testflight.apple.com/join/jZXFDA46
Benkyo Box - Public Board | Notion
We have more in the plans than what’s in this board. These are public tasks. Next release: 1.5.5 Request features: https://www.autorelease.io/benkyobox/support.php
benkyoboxapp.notion.site
November 11, 2025 at 6:52 PM
I may have over-parametrized this Create Flashcard intent
November 11, 2025 at 12:59 AM
Reposted by Juan Arzola
My wife has been working 7 days a week for the last month, and her app is just two days away from launch. Based on their trajectory they’re a few thousand downloads away from ranking in the top 10 of the entire App Store. Can you do what I promise will be an enjoyable favor and preorder the game?
Spark: Puzzles for the Curious App - App Store
Download Spark: Puzzles for the Curious by The Mind Company on the App Store. See screenshots, ratings and reviews, user tips, and more games like Spark:…
apps.apple.com
November 10, 2025 at 3:31 PM
According to my testing, Views returned by AppIntents don't render any UIKit parts rendered via UIViewControllerRepresentable (with no console output indicating a clear error - they just render a yellow background).

That will complicate implementing Shortcuts / Siri views a bit

#SwiftUI
November 10, 2025 at 7:52 PM
"I wonder why my sorting/grouping logic breaks when I combine model IDs from freshly-fetched #SwiftData objects with cached IDs"

because gotcha, id identity doesn't survive coding
developer.apple.com/documentatio...

but don't worry ids, have real ids in them (`id.id`).

such an intuitive API
November 8, 2025 at 9:05 AM
I got a #StreamDeck + (www.elgato.com/us/en/p/stre...) to nerd out a little with shortcuts, activating scripts, etc. I love it, but inevitably ended up with a lengthy, time consuming feature request for overhauling navigation no the device, which of course negates any productivity gains so far 🫠
November 7, 2025 at 7:52 PM
Got started with a manual for Benkyo Box - phew that felt like writing too many blog posts 😮‍💨

Should help you get started and perhaps learn a few advanced features.

www.autorelease.io/benkyobox/ma...

Now I can get back to coding

#flashcard #apps
November 5, 2025 at 1:06 AM
"Markdown will be enough for this manual", shortly end up with a component system, which Claude helped implement.

the comments are replaced with html at build time (a python script that splits the master .md file into multiple pages), and component variables are replaced, using mustache (`{{ }}`).
October 31, 2025 at 6:20 PM
typing "tab" in cursor is like trying to increase the car's music volume while navigation is active
October 28, 2025 at 12:38 AM
been refreshing www.autorelease.io/benkyobox/ a little bit in preparation to add tutorials and other content in the future. It is also good for checking all of the app's release notes currently.

nothing fancy - a lot of php / bootstrap / markdown chaos
October 25, 2025 at 8:37 PM
Well there goes sleep thanks #criticalrole c4e4

I can’t pick a favorite character everyone is so great. Maybe Murray cause she makes me want to try divination wizard now :)
October 24, 2025 at 9:08 AM
Took me most summer, and some rounds with App Review, but it's finally here 🧡

Next up: probably some form of Anki import, since it's a common request (with limits, since we don't overlap all features). Also, can't wait for the quick follow up to be approved, since there's a lot of fixes in it.
Benkyo Box is out for Mac 🚀

It's a native #Mac study app with plenty of features to study, import, organize and clear your study queue. apple.co/42QuGt6

Known bugs (fixes in Apple review):
- Some cards are not included when exporting using drag/drop
- State restoration breaks selection in calendar
October 10, 2025 at 1:55 AM
Reposted by Juan Arzola
Just a few days until I launch my new app on iPhone and iPad! It's called Flowvibe - it takes the songs you already love and turns them into personalised, mood-based playlists! No robots involved, just science and good vibes. You can pre-order it here: apps.apple.com/be/app/flowv... #IndieDev
‎Flowvi.be Mood Playlist Maker
‎Flowvi.be – Mood Music Playlist Maker Transform your favourite tunes into playlists that perfectly fit your mood. No sign-up. No random choices. Just your songs, mixed for the moment. You'll love i...
apps.apple.com
October 9, 2025 at 2:31 PM
what if the entitlements file was written in Swift and type safe (so I don't get an app rejection due to switching an entitlement from "true" to "false", which apparently is an invalid way of disabling it) #xcode
October 8, 2025 at 10:59 PM