FocusPasta: a Pasta-Themed Pomodoro App
Think about all the pasta-bilities!
Hey everyone! I am Delfina, a baby iOS developer, and FocusPasta is my baby. If you haven’t, you can read my introductory post here 🙂
I started this blog to document the behind-the-scenes of building FocusPasta, my first app. Through this blog, you can experience the highs and lows of learning iOS development through the eyes of an overly-excited software engineer!
What is FocusPasta?
FocusPasta is a fun pasta-themed Pomodoro app with a bright, simple, and aesthetically pleasing interface. It incorporates organic shapes throughout the app to create a warm and friendly atmosphere that invites you to have a productive session! It provides just the right amount of motivational boost, exactly when you need it. And when the going gets tough, I hope that the cheesy puns keep you going 🧀
Despite its deceptively simple interface, FocusPasta is packed with powerful features to help you keep track of how you spend your time, monitor your habits, and identify which tasks occupy most of your attention.
For those unfamiliar with the Pomodoro method, it is a time management technique that breaks your tasks into intervals, separated by short breaks in between. Each time you complete a focus session in FocusPasta, you are rewarded with an adorable pasta. You can set a different type of pasta for each category, and during your breaks, you can play around with the pastas you’ve accumulated throughout the week! Tilt your phone to watch them roll around and bump into each other 🥳
Watch the demo video here!
Why I’m doing this
I am learning Swift to build FocusPasta, and I am building FocusPasta to learn Swift! I’ll dive deeper into the reasons behind both in the sections below.
1. Why I’m diving into iOS development
I am a backend software engineer who stumbled into this field 2 years ago. At work, I spend my time designing microservices in Golang and building ETL pipelines with Spark that process millions of rows of data every day. It’s incredibly exciting stuff, and I’m extremely passionate about what I do!
Yet, I find myself in need of a creative outlet. To fill this void, I have been dabbling in pottery, designing board games occasionally, and spending hundreds of hours building my island of Tortellini in Animal Crossing:
Say hello to Ravioli from Tortellini! (Very on-brand. And yes, I really do love pasta)
I digress.
Convergence of Passions
For me, iOS development is where my passions for crafting and software engineering come together. It’s not just about writing code - it’s about transforming abstract ideas into reality. There’s an overwhelming sense of fulfillment and joy in watching your ideas evolve from concepts that keep you up at night, into fully realized products.
Just like the cozy comfort of sipping coffee from a ceramic mug you crafted with your own hands, there’s a special kind of warmth in using an app that you’ve lovingly built from scratch. It gives a similar sense of personal connection and comfort, knowing that each and every detail was made with care and intention.
Unraveling a Black Box
As a backend software engineer, venturing into front-end development feels like stepping into a whole new ballpark. I’m wading through concepts like MVC (Model-View-Controller), navigation stacks, and view controllers - terms I’ve never even heard of before.
In today’s world, apps have become integral to our daily lives, and there are several that I can barely live without. It’s fascinating to finally be able to see them beyond mere black boxes and understand how the sausage gets made.

Wearing Many Hats
As a one-woman team, I get to wear all the hats, including the unexpected but delightful foray into UI/UX design. As an end user, I never imagined how much thought and intention go into crafting an intuitive user experience. I realized that each decision I make carries weight: Should this button say “Stop” or “Give Up”? Which icon best conveys the purpose of this menu item at a glance?
If I find myself having to create a dedicated onboarding flow, it’s a sign that I’ve failed to nail the user experience, and there is work to be done. Ideally, the app should be so self-explanatory and intuitive that users can jump in and start using it without a second thought.
Creating Joyful Experiences
In a world full of uninspiring, utilitarian apps that often lack personality, my goal in picking up iOS development is to eventually create apps that bring a little more happiness into your day. My heart leaps with joy every time I use a well-designed app, and I hope to share that same burst of happiness with you 🙂
2. Why I’m building FocusPasta
A Longtime Pomodoro Fan
I’ve been using the Pomodoro method for more than a decade now, ever since my student days. I loved categorizing my study sessions by subjects, tracking which ones I focused on too much and which needed more attention.
Over the years, I’ve tried numerous apps (Forest is my favorite 🌲🍃🌳), each of them offering unique features and distinct feels. However, I find that all the features I want are scattered across different apps. Ironically, those that offer all the features I want are way too complex for daily use (probably because they also offer all the features that everyone else wants 🥲)
Also, none of them have dad jokes and little pastas rolling around your screen.
A Spark of Inspiration
Ugh, if only I could combine all my favorite features into one app, perfectly tailored to my taste and aesthetics 😞
And then it struck me - I can!
All it took was:
A great iOS app development course (Angela Yu is my guru)
About 10 liters of coffee (becoming best friends with my Bialetti)
Bidding farewell to all my friends (occasionally notifying them that I am still alive)
Locking myself in my apartment for 2 months (and counting)
A box of The Starry Night Lego (strategically placed next to my desk, only to be opened once my app is production-ready)
Ignoring my growing laundry pile (it’s an O(1) cache of my most frequently worn outfits, mom!)
Accepting that “sleep” is now just a distant memory ("sleep is for the weak!" says the developer, still stuck on a bug at 2 am, unaware that a good night’s rest might have saved her from this endless loop)
Finally, it was time to ravioli up my sleeves - no more fusilli excuses!
And the best part? If I ever want new features in the future, I can implement them myself! No more waiting around hoping for my feature requests to be picked up 🥳 (now it will only take twice the time)
The Ultimate Amalgamation
I am a huge productivity nerd, as you might have guessed. In a way, FocusPasta is the culmination of everything that fuels my passion and gets my heart racing. Picture this:
The backend engineer in me gets to geek out over designing the app’s data structure and optimizing queries for the Realm database to populate the charts (spoiler alert: the yearly habit tracker - so many tiny squares!)
I get to indulge in an evil giggle every time I sneak a new cheesy dad joke into the app
I get the joy and satisfaction of watching my ideas come to life
I finally get to see all my productivity data in beautifully presented charts that I’ve always dreamed of (yall, data is beautiful!)
I get to be mind-blown by each new learning and discovery, as I continue to incorporate new features into the app
And now I get to write about it too!!!!1!11!1!1!
OMG, it's a win-win-win-WIN-WIN-WIN situation!
Okay I might have gotten a little carried away there.
A Learning Experience
As a beginner iOS developer, FocusPasta is my introduction to the world of Swift. Each line of code, each design decision, and each feature implemented is not just about creating a productivity tool - it’s also about discovering new features in Swift, exploring different ways to tackle a problem, and diving headfirst into the chaos of hands-on learning.
It’s a continuous adventure! While I can’t promise you a cutting-edge project management tool complete with an intelligent AI-powered scheduler that optimizes your tasks according to what time of the day you’re the most productive, I hope my humble app can bring a smile to your face with its charming UI, a bit of pasta fun and the occasional motivational quote.
I even threw in a couple of pretty cool charts for good measure 🙂
Key Features
Here’s a closer look at what I’ve implemented in FocusPasta so far!
Customizable Pomodoro Timers and Stopwatch Mode
In FocusPasta, you can choose your focus session length and earn pasta with sizes that scale accordingly. You earn one full-sized pasta every 30 minutes! There is also a stopwatch mode that gives you the flexibility to track your focus time without having a fixed session length (don’t forget to take breaks!)
Daily Streak
Keep your streak going and see how high you can go!
Categorize Your Focus Sessions
You can assign a unique pasta type and color to each category, to add variety to your break mode and charts!
Tracking of Extra Time
There’s nothing worse than incorrect statistics. Sometimes I lose track of time, miss the timer, and the extra minutes go unrecorded 😞 As a result, these focus minutes don’t get reflected in the charts and the daily calendar view.
Fixing this was at the top of my personal to-do list. Now, every minute of your work is properly accounted for!
Pasta-Themed Break Mode
While building FocusPasta, I drew inspiration from several great Pomodoro apps, including FocusPomo. I was particularly inspired by their creative use of the rolling tomatoes and wanted to incorporate a similar playful element into FocusPasta.
In FocusPasta, during your break, you can see all the pastas you’ve earned throughout the week. Tilt your phone and watch them roll around your screen!
I especially love this page because it’s not just incredibly addictive - it also gives you a visual summary of what you’ve done throughout the week. It’s so satisfying to watch this page fill up as you complete more focus sessions.
Each pasta embodies a moment in your life when you were deeply engaged in your work, fully absorbed in what truly matters to you.
Custom Alerts
I had way too much fun with this feature.
With each focus session, you’ll receive a fresh, fun quote to keep you going when you feel like giving up. (If you are a frequent user, I’ll try my best to keep up)
Fun fact: These alerts were the very reason I decided to release FocusPasta, which was originally intended just for me. One night, I was feeling exhausted after coding for a few hours straight and decided to wrap up early and head to bed. Then I saw this:
It was like a gentle pat on the back after a long day, reminding me to be kind to myself, reassuring me that it’s okay to step away and recharge. It was so warm and comforting, and in that moment, I knew I had to share this with others.
Jar Charts
These bar jar charts let you visualize how much time you’ve dedicated to each category, over your chosen time period. I absolutely love watching the pastas drop down and fill up the jar - it’s my new favorite pastime. They respond to tilt, too! (Accelerometer updates are enabled on this view, if you wanna get all technical)
Daily View and Habit Trackers
Daily View
The Daily View provides a clear picture of how your time is allocated throughout the day. It’s particularly useful when you look back and wonder where all your hours went.
Weekly Habit Tracker
Inspired by the beautiful Bullet Journal weekly habit tracker spreads, this feature provides a snapshot of your week at a glance.
If you’re trying to establish a daily habit, the tracker creates a visual chain that’s hard to break. Each time you see your progress, it reinforces your commitment and makes you think twice about skipping a session! It’s a simple, time-tested tool to keep you motivated and on track.
Yearly Habit Tracker
Inspired by the Git contribution chart and the Anki heatmap, this chart is so underrated and incredibly powerful!
It’s satisfying to watch it gradually fill up. You can see not only how consistent you are, but the varying opacity also reveals how much time you’ve dedicated to each category.
This chart is more than just a visual treat, it helps you visualize:
Are there certain periods when you were more focused on specific tasks?
Have you been working on the weekends? 🤔 (pls don’t)
If, like me, you have set routines like going to the gym on specific days, it’s fascinating to see these patterns laid out throughout the year.
This tracker doesn’t just show your progress - it tells the story of your year.
How the sausage gets made
OMG, that’s a pretty long post. It’s been a rewarding 2 months! Each time I add a new feature, I get to explore a Swift component I’ve never used before. I’ll be diving into the technical details of each one in my upcoming posts. If you’d like to follow along, subscribe to updates here:
What’s Next for FocusPasta?
I’m currently gearing up to prepare FocusPasta for external testing!
I’m aiming for an early to mid-August release, provided that I don’t get sidetracked by new features or the urge to redesign a whole component (I always end up doing the most random things, like spending a whole night working on a collapsible header, or hmmm launching a tech blog to document my iOS development journey).
If you’d like to be a part of the early access, please submit your email here (link closed).














Wouldn’t it be nice to give some credits to FocusPomo? :)