Over the years, I’ve had the opportunity to work on apps across a diverse range of fields with a ton of different technologies. Here’s the nickel tour.
GlowWorm
This project is under active development. GlowWorm is a native Mac app that provides a single place to manage all the lighting hardware that you might have for video conferencing, streaming, TikTok, etc. It’s a native Mac app, so it’s lightweight, small in size and fast. Currently, the app supports Logitech lighting hardware but will soon expand to connect with ElGato lights, HomeKit and others. The goal for GlowWorm is to be automated so it can be controlled by other apps and workflows. Step one of the automation is in GlowWorm URLs that can perform basic light controls and activate scenes. Next steps include Apple Shortcuts and Siri control.
Tech: SwiftUI
, USB-HID
, HID++
Callisto
During the pandemic, when our team wasn’t engaged in contract work, we built Callisto, a Mac and iPad app for data science. Callisto is built on Jupyter technology and uses Jupyter Notebooks as the document format. There are two driving ideas behind Callisto — 1) be a fantastic native app experience and 2) make it simple to do data science in the cloud.
Callisto is a native Mac and iPad app that integrates tightly with the operating system. We built a new UIKit notebook editor from the ground up for editing code and markdown with features like syntax highlighting and code completion (via the Jupyter kernel). The notebook editor supports drag and drop both within a single notebook, between notebook documents and even with other apps on the computer. Callisto integrates with the Finder via QuickLook, allowing you to see a live preview of a document without having to open the application. By bundling our own Python distribution within the app, we also built in compute libraries optimized for Apple Silicon machines for the best performance.
Callisto runs locally on your Mac or iPad, but can also act as a frontend to a Jupyter kernel running on a compute node in Amazon’s cloud. With just a few clicks, you can launch a cloud server and have access to big memory or high end GPUs. The user can disconnect from the cloud server and reconnect later, so they’re excellent for long running jobs that might take days or weeks to complete. Even better, the Callisto cloud system looks for idle nodes and puts them to sleep to save on cloud compute costs. When the user reconnects to the cloud node, Callisto restores the node complete with in-memory data still intact.
Callisto is a fantastic tool for data science. Building on the Jupyter core, it’s compatible with a range of languages including Python, R, Julia and even custom kernels. (We built a Chat-GPT kernel for laughs.) Whether you’re running locally on in the cloud, Callisto is the best way to do data science on your Mac or iPad.
Tech: UIKit
, Catalyst
, AppKit
, UITextView
, Python
, Jupyter
, UIDocument
, QuickLook
, Sparkle
NDŌʜᴅ
NDŌʜᴅ is an app used by speech pathologists to record endoscopic swallowing tests. This Mac app connects to a camera attached to an endoscope and lets the clinician record the examination, overlaying meta data (like the time, patient info) on the video stream.
Tech: AVFoundation
, CoreImage
, AppKit
VitalFlo
VitalFlo uses a mobile app to guide kids through taking a spirometer test to measure their lung function. The results are reported back to a central server where they’re logged and analyzed so environmental factors can be used to help predict asthma attacks. The iOS app collects data wireless from the spirometer using BluetoothLE. VitalFlo also collects activity data via HelathKit aid in predictions.
Tech: CoreBluetooth
, HealthKit
[REDACTED]
This iOS app administers electrical nerve stimulation therapy to stroke patients via a hardware device connected via BluetoothLE. In addition to driving the therapy, the app also allows the clinician to set up and calibrate the therapy through a number of data visualizations.
Tech: CoreBluetooth
, CoreGraphics
Jigsawdio
The Jigsawdio app is a content creation app for the Jigsawdio hardware, a memory engagement puzzle device for dementia patients that uses jigsaw puzzles and audio cues to help with memory issues. Users create an image collage and associate audio snippets that are downloaded to the hardware. This app makes heavy use of iCloud and UIDocument projects for managing puzzle configurations.
Tech: CoreAudio
, CoreImage
, CoreNFC
, iCloud
, UIDocument
Florida Dysphagia Institute
This pair of apps helps clinicians with assessment of patients suffering from dysphagia, guiding the user through the protocol and generating PDF reports.
Tech: StoreKit
, PDFKit
CurEat
CurEat provided foodies with curated lists of restaurants from both their friends and from celebrity chefs. A bit like Yelp, but without the negativity, CurEat let users find exciting dining options near them, especially when traveling. One of the most challenging aspects of this project was creating and maintaining a database of every restaurant in the US.
Tech: MapKit
, Big Data
[REDACTED]
A tool for walking an agricultural field, reviewing satellite imagery and taking notes with photos. Because the user was likely out of cell coverage most of the day, this app had to be able to sync all the day’s map imagery before heading out and upload all the notes at the end of the day. To integrate the satellite imagery in this app, we used custom tiles in conjunction with MapKit.
Tech: MapKit with custom data
, Offline Data Sync
ThanksRx
A health and wellness app for physicians that uses time-banking, wellness resources and positive news to alleviate physician burnout.
Tech: Enterprise App Distribution
ExLattice
A web portal for managing runs of a finite element analysis tool. The portal queued jobs via AWS Batch and presented the results to the user with full 3D visualization in the browser.
Tech: VTK.js
, Paraview
, AWS Batch
EnLiten for iPad
Built shortly after the release of the iPad, Enliten for iPad was a viewer for 3D scenes exported from a desktop volumetric analysis app.
Tech: OpenGL
Other Apps
- Servus — A workflow management app for managers of multi-tenant dwellings.
- Noteables — A collaborative story telling app.
- WRAL News — A white labelled app used by 60+ news organizations across the country.