Attempting to build a Copilot-like experience that turns natural language prompts into node graphs What is Stitch? Stitch is an open-source visual prototyping tool in the spirit of Origami Studio and Quartz Composer. Instead of writing code, designers and developers wire together nodes in a graph to build interactive prototypes. For example, a draggable card might be made from a visual layer node,…
Building Augmented Reality capabilities for a visual prototyping tool – from AR session management to a multi-platform camera pipeline. What is Stitch? Stitch is an open-source visual prototyping tool in the spirit of Origami Studio and Quartz Composer. Instead of writing code, designers and developers wire together nodes in a graph to build interactive prototypes. Stitch’s nodes come…
Building RealityKit-powered 3D nodes for a visual prototyping tool, and the container entity pattern that made transforms predictable. What is Stitch? Stitch is an open-source visual prototyping tool in the spirit of Origami Studio and Quartz Composer. Instead of writing code, designers and developers wire together nodes in a graph to build interactive prototypes. One big area I focused on was…
Building CoreML and Vision-powered detection nodes for a visual prototyping tool, and the investigation that fixed bounding box alignment. What is Stitch? Stitch is an open-source visual prototyping tool in the spirit of Origami Studio and Quartz Composer. Instead of writing code, designers and developers wire together nodes in a graph to build interactive prototypes. During my 2+ years on the…
I’m the founding engineer of Stitch Design, an open-source prototyping tool. Following in the footsteps of Quartz Composer and Origami, Stitch allows users the ability to prototype complex, mobile-first interactions in a canvas environment. You can check it out on GitHub here. I worked on a variety of features, including: 3D Prototyping AR Prototyping Computer Vision Nodes AI - Features…
I recently collaborated with the folks at Chroma (a company I’m an investor in) to build Chroma Swift — a Swift package that brings Chroma’s retrieval system to iOS and macOS applications. This post outlines the technical journey of bridging Chroma’s Rust core with Swift, including cross-platform compilation, embedding support, and cloud synchronization. Until recently, most developers…
In your app, you may run into times where you want to obfuscate the content of sensitive strings. In the case of an app that leverages AI by making either API calls to a provider like OpenAI or Anthropic, or when running models locally; you may have stored the prompts for interacting with the models as strings on the device. In this case, you may want to ensure that a competitor can’t figure out…
Today I open-sourced TiktokenSwift - A Native Swift Wrapper of OpenAI’s Tiktoken Tokenizer. TiktokenSwift is an open-source Swift package that brings OpenAI’s high-performance tiktoken tokenizer natively to Apple platforms. By providing a lightweight FFI bridge to the official tiktoken library, it enables Swift developers to integrate the same tokenization used by GPT-3.5, GPT-4,…
As part of some recent work, I was working on implementing applying transforms to 3D objects in a Swift app. I was having a really difficult time gaining an intuitive understanding of how the matrices behaved. I had Claude help me generate a test app to visualize how modifying position, scale, and rotation values would affect the resulting matrices being used to modify the blue 3D cube. This…
The Opus Interactive Audio Codec is an open-source, royalty free audio codec. It’s primarily used in applications like VoIP or voice-messaging applications, but can also be used for storage and streaming applications. It’s characterized by low latency, high quality, and wide platform support. In this blog post, we’ll go over how to setup an iOS app to get audio frames from the microphone, encode…
Wanted to share some thoughts on lessons learned from doing freelance for the past few years. Several of these are lessons I’ve learned the hard way - which is sometimes the only way to learn a lesson. Before Starting Work Always get a contract signed - this protects both you and the client. Make sure to add in a clause to any contracts to late fees for your invoices. If a client is late to paying…
Meter is a company that develops IT hardware and software for network infrastructure, catering to environments such as schools, warehouses, and offices. I worked wtih them to build a native MacOS app that allows their customers to access their VPN with a simple and friendly user experience. It’s built in Swift, and utilizes the Network Extension framework for creating a VPN connection.
Last night I went to the Designing for AI event at Notion hosted by Linus Lee. The panelists were Ryo Lu (Design Lead at Notion), Amelia Wattenberger (Designer at Adept), Omar Lee (VP, Product Design at Slack), and Adam Storr (Head of Design at Hex). Wrote up some notes from the event: How the panelists described their companies’ useage of AI: Slack - “Trying to make it so you get more…
I moved to San Francisco at the end of a cycle. The first few months I lived here, someone told me that you have to be careful with seasons in here. They’re blurry and blend in to each other too easily, and time feels slippery because of it. I didn’t understand what he meant at the time. But, the longer I’ve been here, I’ve come to realize how very easy it is to spend a lot of time in San…
There’s been a flurry of recent activity around AI hardware recently - from Humane’s runway debut to the rumoured partnership between OpenAI and Jony Ive, to Tab and to the Rewind Pendant. It’s an exciting time - we’re starting to see new form factors for computing beyond the smartphone that don’t involve sticking a computer on your face. However, I don’t think that any of these devices are going…
AudioKit is an open-source framework designed for audio synthesis, analysis, and production on Apple platforms. I was instrumental in launching the project and remained an active contributor for three years. My contributions spanned from creating example projects, tutorials, and website content to developing key features like framework testing and Sensible Defaults. Prior to its public release, I…
I was the founding employee of a pre-seed startup called Asteroid. Our product was a native macOS app, built in Swift, that let users create ARKit apps without having to write any code. It had a node-based interface, inspired by Max, Quartz Composer, and Origami. Users would create “reactions”: building blocks of functionality that notice something happening via an input object, and…
I was approached by Dusty Robotics to build a prototype of an iPad app that would control their product, the FieldPrinter. Dusty’s FieldPrinter is a robotic layout system for printing elements of floor plans on a construction site. These elements indicate to the various trade workers where something needs to be built on the construction floor plan. At the time, Dusty had a test app they had…
I built the first version of Pocket, an iOS chat app for Urbit. I contracted for Tlon Corp to build their vision of a mobile-first way to use the Urbit network. Urbit is a reimagining of what an OS can be; built around the concept of a peer-to-peer network. Users have “ships” that can talk to each other in a federated manner. Previously, the most common way for users to do this was…
In 2022, I led the building of the Roboflow Native iOS SDK. Roboflow is a startup that builds tools for the creation and deployment of Computer Vision ML models by developers, without the need for specialized computer vision knowledge. Developers can create and host their models on the Roboflow platform, as well as deploy them on edge devices. The Native iOS SDK allows iOS developers to download…