Szalty

MyFitnessPal and Strava had a baby.

Role
Product Designer & Developer
Timeline
~1 month
Team
  • Me (Product Designer & Developer)
  • João Hooks (Creative Director)
  • Shane Barrone (Stakeholder)
Skills
  • Product Design
  • iOS Development (SwiftUI)
  • Motion & Interaction Design
  • Design Systems
Outcome

Shipped the redesigned flow; the client wants to adopt the v2 design system across the app.

Key pain points

Most of the current design is straight from Lovable.

I rebuilt it as a design system in code, then captured it back into Figma. The code was the source of truth the Figma never was.

The Figma file has no real structure, so the devs are blocked.

I organised the components and prepared clean, developer-ready handoff screens on a tight timeline.

Onboarding feels heavy and it's not obvious what to do.

I redesigned the whole flow, from account creation through Strava integration and location permissions.

The colours are all over the place, dozens of near-duplicates.

I audited every colour actually shipping: 22 of them, four different blues, two greens a shade apart. Then cut it back to one categorised system.

The Problem

Most nutrition apps feel like admin. You log your food into a grid, you get a number, you close the app. Nothing about them makes you want to come back. I wanted the opposite. Something that looks good, feels alive when you touch it, and treats food and training as things worth sharing.

Overview

Szalty is a social nutrition and fitness app for iPhone. You post a meal with its macros attached, link the workout behind it, and scroll a feed of what other people are eating and training. It started as a web prototype, and this is the native SwiftUI build where I could get the motion and the small interactions feeling right.

Personal Goals

  1. 01

    Make logging feel good

    Every tap has some weight to it. Buttons bounce, the heart bursts when you double tap, sheets slide the way you expect.

  2. 02

    Port the web prototype properly

    Rebuild the whole thing in SwiftUI instead of wrapping the web app, so it feels native everywhere.

  3. 03

    Sweat the details

    A real light and dark theme, custom fonts, shared element transitions, a glass tab bar. The stuff you only notice when it is missing.

01 / 04

A quick tour

Feed, explore, analytics, profile. The whole app in one pass, with the transitions and the glass tab bar doing their thing.

02 / 04

Posting a meal

Pick your foods and the macros add themselves up. Attach a workout, rate how it felt, post it. The whole flow is a stack of custom sheets.

03 / 04

The feed

Double tap to like and the heart bursts. Tap through to a post, drop a comment, keep scrolling. All the little interactions you expect from a social app.

04 / 04

Light and dark

A proper theme system underneath, so every colour, shadow and surface is defined for both.

The icons

Under the hood

SwiftUI
Rebuilt from the web prototype. iOS 26, iPhone, native navigation, no web views.
Tab bar
I planned a fully custom bar, then dropped the plan: the native glass bar was better. Create is a decoy tab that opens the sheet instead of switching.
Stacked sheets
Create, food picker and rating are custom overlay sheets so they can layer on top of each other, which native sheets fight you on.
Motion
Framer's springs mapped one to one at first, but native wanted less spring and more snap. The app settled on three speeds, with haptics doing the work the web springs used to.
Theme system
Light and dark colours resolved through an EnvironmentKey and remembered with AppStorage.
Type
KMR Melange Grotesk and Milligram, registered at launch.

Conclusion

Szalty is the version of a nutrition app I would actually use. Building it native let me chase the feel, the little bounces and bursts and slides that make it worth opening. Next up: real data behind the mock, and hooking the workout side into Strava and Apple Health.