iOS App

Lane Logic

A SwiftUI app I'm building for swimmers to log times, track splits, and watch progress over time — because the tools I found weren't good enough.

The Idea

I swim competitively and I've tried most of the apps out there for tracking times and logging workouts. They're either too complex, ugly, or designed for coaches rather than athletes. I wanted to build something I'd actually open after practice — clean, fast, and focused on what matters.

This is also the first serious iOS project I've taken on. I wanted to push myself beyond web dev and into native app territory.

What I Built

LaneLogic is an iOS app in SwiftUI that lets you log swim times by stroke and distance, track your progress over time, and set goals for your events. It syncs with Apple HealthKit for workout logging. The design is minimal — nothing you don't need, nothing you didn't ask for.

"Building for something you use every day makes the tradeoffs obvious."

Process

The biggest technical hurdle was state management — learning the difference between @State, @StateObject, and @ObservedObject and when each one actually makes sense. SwiftUI's declarative model is a real mental shift from how I think about building things on the web.

HealthKit integration came later and was a whole separate learning curve around permissions, async data fetching, and Apple's workout data model.

What I Learned

When you're both the designer and the only user, scope creep still happens — you just keep adding features instead of shipping the core thing. I'm still fighting that. The app isn't done, and that's okay — it's a project I'm genuinely invested in finishing. It's one of several things I'm building — see my other work or read more about me.

Done exploring?
Back to the work.
Return to Portfolio