Complete redesign, a new Rules feature, and much more Since I first released Substage just over a year ago, agents have taken the world by storm, and at WWDC this year, Apple finally showed their hand with the new agentic Siri coming in macOS 27. In parallel, I've actually been pushing Substage in the opposite direction: towards being a fast, focused tool. If agents are chainsaws, Substage is a…
My clever time planning app Hour by Hour now lets you import a schedule from a quick screenshot , a URL for an event webpage, or just freeform plain text . This makes it super easy to grab a schedule from wherever it exists outside of the app: an itinerary from an email can easily be copy/pasted either via plain text or from a quick screenshot. Or if you see a schedule on a website, just copy…
I finally released my iOS app! Hour by Hour is a day planner that lets you sketch out your schedule with natural language. Write things like "Flight departs at 3:30pm" or "Set off 2 hours before", and it figures out the timing for you. Follow along with Live Activities on your Lock Screen, share schedules with friends via iCloud, and more. It's free to download, with an optional one-time purchase…
Your browser does not support the video tag. You're looking at code, but it doesn't look like code. Functions are named in plain English - forget snake_case , camelCase , PascalCase . A function is just called what it does: "Add two vectors." You can expand it to read an English explanation of what it does, and the functions it calls appear as linked pills that you can expand to explore further.…
This is a feature I've been wanting to add for a while, and I'm really pleased with how it turned out: Substage now has Instant Actions . For hundreds of the most common operations, Substage now skips the AI entirely and just does the thing . Yes, bypassing the AI is a feature! It makes the app feel incredibly snappy for the stuff you do all the time. Type jpg and your file converts. Type zip and…
Your browser does not support the video tag. Fanta keeps me busy. Live Activities are a little less alive than I expected. I went back and forth on whether they were a good fit for my app, Hour by Hour . The feature is powerful, but it has strong opinions and restrictions about how it wants to be used. Hour by Hour is a day planner that lets you sketch out a plan for your day. It's designed for…
At inkle , we're currently making our first game in Godot after using Unity for just under 10 years. So far, I couldn't be happier! I mentioned on Bluesky that I was thinking of writing a post about a few of my favourite Godot features. For now, I only want to talk about one of them, because it's hands down my absolute favourite. It's so fundamental to Godot, and I just can't get over how good it…
I’ve been experimenting with Apple’s on-device LLM, and most of what I’ve seen from it has been… absolute nonsense. But, with a cunning trick I got it to achieve greatness. It is astonishingly dim a lot of the time and will cheerfully hand you rubbish with complete confidence. But that's honestly to be expected - it's a 3-billion parameter model (that err, acts like a 1b model). But I still wanted…
Quick update: I've moved my blog from Selkie.Design over to here! The main reason is that I wanted somewhere I could write about anything — whether it's inkle and game development stuff, or Selkie Design and Apple platform things. It felt weird having a blog on the Selkie site when half my thoughts weren't really Selkie-related. I've been particularly excited to get back into Godot lately, and…
I might have gone a bit overboard on this one: I built a Terminal command prediction engine for Substage , and to make it work, I ended up creating my own simulator for bash . Before any command gets run, Substage now parses and simulates it, then shows you a visual representation of what’s about to happen to your files (and more). It's literally running the command in my own bash implementation ,…
Good news, Substage is now on Setapp ! If you’ve already got a Setapp subscription, you can grab Substage right now for free . If not, this might be a nice excuse to give Setapp a try; I’ve always loved the idea of it, especially for smaller indie apps like mine where a subscription might feel like a bit much. If you don't know it, Setapp is a curated collection of Mac apps you get access to with…
Apple’s Private Cloud Compute is pretty cool - it lets you use Apple’s cloud LLMs with strong privacy guarantees, and it's a much more capable LLM than their on-device models. Best of all? So far, it seems to be completely free. But if you’re a developer, you might have noticed something odd: there’s no public API for Private Cloud Compute , and this is a shame given that their new Apple…
Good news! Substage now supports custom API keys and local LLM models , and a one-off purchase option is out now, if you want to Bring Your Own AI ! That means you can: Use your own API key for OpenAI, Anthropic, Google or Mistral Run local LLMs via LM Studio or Ollama — right on your own machine The one-off purchase option is only available in the latest version of Substage, so be sure to grab…
I made a Mac productivity app! 🎉 Substage puts a command bar underneath your Finder windows and lets you use natural language to convert media, manage files, perform calculations, and more! Although Substage translates natural language into Terminal commands, I’m hoping it finds a broader audience beyond developers. The number one use case I’ve found for it is converting media—quickly resizing…
After much deliberation, I've finally settled on a name for my time planning app: Hour by Hour ! I explored quite a few options along the way. "Inamo" (as in "in a mo") had a nice ring to it. "Andiamo" felt energetic. "Thyme" was a cute play on words, and "Day by Selkie" would have tied nicely to future apps under the Selkie umbrella. But they all had issues - either they were already taken by…
I’m working on a time-planning app for iOS. It doesn’t have a name yet, but the idea is to let you sketch out a schedule hour by hour—like working backwards from a flight time to figure out when you need to wake up. A while ago, I was listening to the excellent Launched podcast with Charlie Chapman (can’t remember the episode), and they were talking about how it’s almost a cliché for indie…
If you're building a SwiftUI app in 2024, you'll face a key decision: how to handle data persistence and sharing. Modern apps need collaboration—users expect to share and sync their content seamlessly across devices and with others. But implementing robust sync in iOS isn't straightforward. Let me walk you through my journey with CloudKit, and why I landed on a surprising solution. I’m working on…