Swift UI
AI Assistance
Tracket
From Figma to Functionality
This section highlights my experience transitioning from UI/UX design into iOS development, using tools like Xcode, SwiftUI, and a bit of AI assistance along the way.
UX/UI Designer / Developer / Publisher
XCode, Swift UI Docs, Cursor AI
Academic Project (University of Edinburgh, MSc Design & Digital Media)
Development Approach
Although I’m not a seasoned developer, I challenged myself to build the Tracket app using SwiftUI. The process was highly iterative, leaning on AI (including Cursor AI) to help with complex logic, Swift syntax, and best practices for state management and data persistence.
Secure Local Storage
To respect the app's privacy-first ethos, I built a custom SecureStorageManager
using Apple’s Keychain and CryptoKit. This module handles encrypted data storage for user data like transactions and preferences. I also implemented automatic backup and restore features to prevent data loss across updates or reinstalls
Modular Structure
Each core feature of the app is broken into its own view:
OverviewView
: Combines budget outlook, savings progress, and recent transactions into a dynamic, swipeable dashboard.BudgetView
andSavingsView
: Allow users to add/edit budgets and savings goals with responsive forms and visuals.SettingsView
: Provides toggles for customising the app experience, from rounding decimals to choosing currency.
State is managed using @State
, @AppStorage
, and a shared AppCoordinator
environment object, making the app feel coherent and smooth as users navigate between tabs and actions.
Visual Feedback & Charts
I used Swift Charts to power dynamic insights, including:
Budget Breakdown: A radial chart visualising category spending from most to least.
Spending Trends: A line/area chart showing weekly, monthly, or yearly spending patterns.
Both features reinforce the design goal of making finance feel approachable and visual, with animation and interactivity.
How AI Helped
AI was instrumental during this project. I used it to:
Debug layout issues quickly.
Generate encryption logic with Apple frameworks.
Refactor SwiftUI views into reusable components.
Learn new Swift patterns without deep documentation dives.
It’s a tool I leaned on heavily, especially when working outside of my usual design comfort zone.
Reflection
Building Tracket was a full-circle moment for me. I didn’t just design an app—I designed a tool I wanted to use, and then actually built it.
The process was packed with trial and error. I experimented with animations, navigational patterns, and chart libraries. Sometimes it worked, sometimes I broke everything. But I loved every minute of it. Every bug I squashed and every view I refined brought me closer to something tangible.
I’m proud of how closely the final app resembles the original design—visually and functionally.
Seeing it live on the App Store, available for real people to download and use, was genuinely one of the most rewarding experiences so far.
It also reminded me of why I love product design: it’s not just about making things look good—it’s about solving problems, exploring constraints, and getting your hands dirty.
Would I do it again? Absolutely.
Would I change anything? Probably.
Would I recommend building your own app from scratch, even if you're "not a developer"? 100%.