Projects

I've built quite a few apps over the years. These are the ones I'm proudest of and still actively improving, so while you're here, have a look around.

Apps

Every step you take, counted, charted and turned into a walking plan that fits your week. Nine metrics, eleven widgets, and your health data never leaves your device.

StepUp screenshot 1 of 7
StepUp screenshot 2 of 7
StepUp screenshot 3 of 7
StepUp screenshot 4 of 7
StepUp screenshot 5 of 7
StepUp screenshot 6 of 7
StepUp screenshot 7 of 7

Linkwise brings your links, feeds, and newsletters into one smart interface. Save everything, search instantly, and chat with your content using AI.

Linkwise screenshot 1 of 10
Linkwise screenshot 2 of 10
Linkwise screenshot 3 of 10
Linkwise screenshot 4 of 10
Linkwise screenshot 5 of 10
Linkwise screenshot 6 of 10
Linkwise screenshot 7 of 10
Linkwise screenshot 8 of 10
Linkwise screenshot 9 of 10
Linkwise screenshot 10 of 10

GitHub repos

A faithful recreation of the Swiggy food delivery app's UI, built to master UICollectionViewCompositionalLayout. Swiggy's busy, multi-section home feed, with all its different layouts, runs in a single collection view.

Swiggy clone screenshot 1 of 12
Swiggy clone screenshot 2 of 12
Swiggy clone screenshot 3 of 12
Swiggy clone screenshot 4 of 12
Swiggy clone screenshot 5 of 12
Swiggy clone screenshot 6 of 12
Swiggy clone screenshot 7 of 12
Swiggy clone screenshot 8 of 12
Swiggy clone screenshot 9 of 12
Swiggy clone screenshot 10 of 12
Swiggy clone screenshot 11 of 12
Swiggy clone screenshot 12 of 12

Browse, search and discover quotes fetched live from the Quotable API. Built entirely in SwiftUI as a hands-on reference for wiring a real API to a real UI with MVVM, from @StateObject vs @ObservedObject to clean loading and error states.

Quotes App screenshot 1 of 8
Quotes App screenshot 2 of 8
Quotes App screenshot 3 of 8
Quotes App screenshot 4 of 8
Quotes App screenshot 5 of 8
Quotes App screenshot 6 of 8
Quotes App screenshot 7 of 8
Quotes App screenshot 8 of 8

A todo app for learning SwiftData: create, read, update and delete tasks, and keep them saved between launches. The whole UI is written in programmatic UIKit, with no storyboards.

Listly screenshot 1 of 5
Listly screenshot 2 of 5
Listly screenshot 3 of 5
Listly screenshot 4 of 5
Listly screenshot 5 of 5

Browse and search photos and videos from the Pexels API in a Pinterest-style grid, then download images and edit them with Core Image filters. Written in programmatic UIKit with MVC, it covers networking, image caching, pagination and onboarding.

Pixel screenshot 1 of 8
Pixel screenshot 2 of 8
Pixel screenshot 3 of 8
Pixel screenshot 4 of 8
Pixel screenshot 5 of 8
Pixel screenshot 6 of 8
Pixel screenshot 7 of 8
Pixel screenshot 8 of 8