Hello, I'm Chris, I'm the founder of nthState.
I'm a software engineer working mostly in augmented reality and AI — ARKit, RealityKit and Metal on iOS and visionOS, and a lot of Rust lately. Nearly everything I've worked on since 2001 is written up on my portfolio at www.chrisdavis.com, along with a CV.
I've started looking at what's next, contract or permanent — say hello on LinkedIn.
Recently:
- I made PonyTales a 3D world for children that runs in a browser and as a native iOS App — Three.js on web, RealityKit and Metal on iOS, over one shared game core written in Rust, see www.ponytales.com
- I made Jailercise a set of AI-generated jailbirds who coach you through a workout, built on a generative pipeline that takes a character bible through to finished reels, see jailercise.com
- I wrote Rearranging Radio a step-by-step formula guide for the UK amateur radio Foundation, Intermediate and Full Licence exams
Popular Projects:
- I made Haptrix A macOS tool to let you visually design Haptics for iOS, see www.haptrix.com
- I made GestureKit the framework behind Gesture Composer, a visionOS App to let you create custom hand gestures for the Vision Pro, see www.gesturecomposer.com
I've made a collection of modifiers for SwiftUI:
- Stroke Extensions When you want to put elements on a Path of any Shape
- Curtain Raiser A Shader effect for animating a view
- Preview Color Blindness Preview SwiftUI views with different color blindnesses
- Path Sub-Divide Split a Path into more sections
- Path Elements Iterate the elements in a Path
- Masked Blur Masked Blur
- Shape Warp Warp a shape with a seed
- Chromatic Aberration Change RGB values in a View
- Claymorphic Kit A Claymorphic view style
- Copy to Points Idea from Houdini, copying Views to points
I'm interested in Augmented Reality (AR):
- Climb Designer - Bouldering Route Setting in AR (ARKit), write-up
- jARws - AR Version of that scene from Back to the Future, write-up
- Gesture Composer - Creating Custom Hand Gestures for visionOS Apps (ARKit, RealityKit), write-up
- RobotKit - Augmented Reality Testing Framework that controls a Robot (ARKit)
I'm interested in Accessibility
- DesignReviewToolkit - Extract Accessibility and Style information and present as an image from SwiftUI views
I've made games
- Trainwreck - A Unity game where the goal is to keep as many trains on the track at once
- Duel - A SpriteKit tvOS game where you need to shoot the bad cowboy
I'm interested in creating Hardware & Software:
- Blender Hardware Interface Controlling Blender with a Custom Controller
- CueBuddy CueBuddy a Digital Snooker Cue (Pool Cue) extension
- Laser Morse I'm fascinated by Verilog
I'm playing with SourceKit to analyse Source Code
- Product Analysis Checking if code is implemented
I have a course:
- Photoshop with Javascript How to use Javascript inside of Photoshop
I also use Metal:
- Curved Shader similar to Animal Crossing Rendering
- GPU Video Effects Processing video frames on tvOS
- I wrote the original Camera effect for the Lapse Camera App
I also like CI/CD:
- Validate an Xcode Project is sorted GitHub Action to Validate Xcode project sorting
- Upload TestFlight Release Notes GitHub Action to upload TestFlight Release Notes
- Inclusive Copyrighting GitHub Action to check for inclusive copy in certain file types
- Swift Acknowledgements GitHub Action to generate a Plist of all LICENSE files in your used Swift Packages
- TestFlight Build Size Chart Generator GitHub Action to generate a chart of your TestFlight build sizes over time
Here's a collection of tools to help you debug in Xcode
- LLDBInit - extensions for Xcode
I like procedural generation
- Vector Flow A procedural vector graphic tool for macOS/iPadOS written in SwiftUI
I like Audio
- Smagic for the Teenage Engineering OP-1 I connected an iOS App to the OP-1 midi port, I ❤️ Teenage Engineering
- Phonique I made a macOS App to create and export AVAudioEngine graphs and accompanying source code.
I wish I had invented VIM
- VIM Tips A collection of VIM tips I made, automated the video creation
Videos
- Youtube A collection of videos from projects
You can find more projects on GitHub, and the full write-ups on my portfolio at www.chrisdavis.com.
If you want to get in contact, find me on LinkedIn, or send me a message.