The story
Why it exists and what building it taught me. Written for the homepage card, kept here in full.
Why: OpenAI announced they were deprecating the Assistants API, and my immediate thought was “they’re killing my first app!” - OpenAssistant - so I opened VSCode with OpenAssistant in one window and OpenResponses in another, using LLMs to help swap out all the endpoints and rebuild the flow on the new Responses endpoints.
Computer Use: I built a custom streaming interface that translates browser tool-calls (clicking, typing, scrolling, screenshots) into a native Swift environment, letting the model navigate web pages in real time.
Connected Tools: To give the model access to the real world, I integrated Model Context Protocol (MCP) connectors and Apple EventKit, allowing it to search and read Gmail, Google Calendar and Dropbox, connect to Notion, and create Apple Reminders and calendar events.
Version 2.9 (October 2026): You can see what the assistant is doing while it uses its tools. Each tool step shows a spinner while it works and says Completed or Failed when it’s done, steps go by their real names, and the Code Interpreter step shows the Python it ran. A chart from Code Interpreter shows once, and each file it makes is listed once. It builds on 2.8’s GPT-6.1 Sol, new OpenAI models that show up in the menus on their own, Python that runs on the phone after you approve each run, which passed App Review on the first submission, and search by meaning with Apple’s on-device language model.
What I learned: Because of all the App Store Connect rejections on my first two apps, I learned exactly what reviewers looked for. I got this one passed through review without a single rejection on the first pass.












