I primarily develop software that runs on Apple's platforms (macOS, iOS, watchOS, visionOS).
I build the apps and tools that I would want to use. Usually this means providing information clearly and quickly. It means data is private and interfaces are accessible. The apps I want to use are available in the places I want to use them: that may be on a watch, phone, shell, or web browser depending on the type of app.
PrayerTimes - View Islamic prayer times. Runs on iOS, watchOS, and visionOS.
HeaderViewer - View Objective-C class and protocol interfaces as generated by ClassDumpRuntime. Runs on iOS, macOS, and visionOS.
ZoneInfo - Plots all of the system time zones on a map. Click on a time zone marker to view details about the time zone. On iOS and macOS, the app uses MapKit to show the time zone markers on a map. On visionOS, the app uses RealityKit to show a 3D globe.
WorkoutSpot - View statistics about a point or segment of a workout in HealthKit. Graphs heart rate, speed, altitude, etc. for a workout. Zoom into the graph to get segment statistics or select a point to view the measurements at that point. Runs on iOS.
OneTime - One-Time Password (OTP) client. Securely syncs entries across devices using iCloud Keychain. Runs on iOS and watchOS.
Canopy - Browse sysctl entries, similarly to the sysctl(8) command line tool. Runs on macOS.
Lantern - Interact with Darwin notifications, similarly to the notifyutil(1) command line tool on macOS. Runs on iOS, macOS, and visionOS.
Forest - Browse the tvOS 15 screensaver catalog. Runs on iOS, macOS, and visionOS.
MonthDay - Numerical date (e.g. 1/16/22) watchOS complications.
CycriptServer - Hosts a cycript server. Runs on iOS.
classdumpctl - Produce Objective-C class and protocol headers. Interface for ClassDumpRuntime.
LspHighlight - Generate HTML with semantic CSS classes for a given source code file and an LSP server.
HighlightCode - Convert an Xcode theme into a highlight.js style.
iobat - Battery temperature, as provided by IOKit.
ClassDumpRuntime - Create human readable interfaces (.h files) for any Objective-C class or protocol available at runtime.
Gemini-Swift - Swift types for the Gemini API.
ips-page - Display Apple crash report (.ips) files as text or in a structured UI.
CodingPathVisualizer - Visualize a Swift DecodingError. Paste the source JSON and the description of the error to view the path within the JSON that resulted in the error.
SFSymbolsMCP - Search and get metadata of SF Symbols.
Motion - View the watchOS 7 watch faces with moving backgrounds. Uses the private NanoTimeKit framework.
FoundationModels-Server-Example - Demonstrates using private API in Apple's Foundation Models framework to interact with HTTP servers exposing a Chat Completions API.
Batsie - Demonstrates using the private BatteryCenter framework to get battery information of connected devices.
LeptosMusic - A YouTube Music iOS client using private YouTube REST APIs.
geoservices-example - Uses the private GeoServices framework to get sunrise and sunset times for a location.
Sandcastle - iOS app exposing system capabilities to Gemini Live, such as haptics and sysctl.
XCUIAgent - Integrate Gemini Live into Xcode UI tests.
swiftype-dump - Produce a .swiftinterface file given a Mach-O file. This project is not complete.
ProtoDump - Produce the .proto definitions of Objective-C classes that were generated using protoc.
MarketEvents - Get reminders when a company reports earnings. Interact with the bot using /earnings reminder <symbol>.
sadr - Ask Gemini questions with nearby messages as context.
I also have a blog: https://leptos-null.github.io/blog/