All projects
Every project with the problem behind it and the architecture underneath.

Backend & Systems
NOWI: Real-Time Event & Social Discovery Platform
An app for meeting people at the event you are already at. A radar shows who nearby is open to being approached and what they are up to, so nobody has to guess whether they are intruding.
Durable records live in PostgreSQL and anything about who is present right now lives in Redis, because presence has to decay on its own for the radar to stay honest. WebSockets carry live changes to connected clients and push notifications cover everyone else.
Radar presence expires on a 90 second TTL, so everyone still on your screen is still in the room and still open, rather than someone who left twenty minutes ago.
- Swift
- Vapor
- PostgreSQL
- Redis
- WebSockets
- APNs
- Docker
- SwiftUI
- MapKit
- NearbyInteraction
- CoreBluetooth

Backend & Systems
Automated OCR & LLM Document Extraction Pipeline
Production invoice extraction for a finance team, routing each document to the cheapest method that can read it, from per-vendor templates through OCR to cloud AI.
A tiered pipeline where every stage is cheaper and more deterministic than the one behind it, with each run logged so ambiguous results can be pulled for review.
Sub-1s per page on native PDF and under 3s on scanned. 95%+ field-level accuracy on known distributor templates, 90%+ blended across mixed formats, at hundreds to thousands of documents a day.
- Python
- FastAPI
- OpenCV
- PyMuPDF
- Tesseract
- Azure Document Intelligence
- MySQL
- SQL Server
- Docker
- Next.js
- TypeScript

iOS & Mobile
RallySnap: Computer Vision & Custom Camera System
Tennis app that records a session, recognises each shot as it happens, and saves it as its own highlight clip. A player finishes a match with the reel already cut.
Capture, classification, and clip writing sit behind Combine publishers as separate services, so the camera never has to know what a highlight is and the classifier never has to know how frames were captured.
Highlights are cut during play rather than after it. A shot clears 0.85 confidence and a three second cooldown before the app reaches back into a ten second buffer and writes it out.
- Swift
- SwiftUI
- AVFoundation
- CoreML
- Vision
- Combine
- WatchConnectivity

iOS & Mobile
nectAR: AR Simulation for Teaching Network Routing
AR app for people learning networking from scratch. It puts a router, a laptop, and a phone on real surfaces in the room, then shows a message travelling between them.
A RealityKit entity component system driving the scene, an async step sequencer keeping narration and 3D movement together, and SwiftUI view models holding the app state around both.
Runs on any ARKit device through horizontal and vertical plane detection, with no LiDAR requirement narrowing the hardware it reaches.
- Swift
- SwiftUI
- RealityKit
- ARKit
- ECS
- simd