Skip to main content


Building an easier way to get recurring tasks done.

Sometime preview


  • My RolesProduct design, user testing and iOS development
  • ContextPersonal project
  • Timeline2019 / 4 months


Sometime is an iOS app that lets people track and complete recurring tasks in their daily lives. My brother, Jimmy, and I created it because we wanted a way to know when we haven’t done something in a while and keep track of the last time we’ve done it.

In addition, I wanted to challenge myself in building a digital product from concept to launch. Thus, the scope of the project was kept simple so I could experience the full process.


Audience: People who deal with many recurring tasks in their everyday lives. For example: watering the plants every 2 weeks and getting a haircut after a month.

Need: A way to keep track of them and get reminded when they haven’t been done in a while.

Opportunity: How might we help people remember to do the things they’d like to do sometimes?

Validating the problem

Although this is a problem we have, we wanted to know if other people may have it too. I’ve found quotes from users of productivity apps on Reddit that aligned with some initial ideas we’ve had for Sometime:

Quotes from Reddit

There were also mentions of similar apps, such as Due, Recurrence and Regularly. These show that there is a market for managing recurring tasks beyond a standard todo app.

Building the app iteratively

After establishing our goals, constraints, and principles, the project went through the following milestones:

MVP → User Test → Beta Test → Launch


For the MVP, I designed the app based on what we thought Sometime should be. Once we were happy with the design, I learned how to code in Swift, and collaborated with Jimmy on building the iOS front-end.

User Test

With the MVP build on my iPhone, I planned and conducted 5 in-person usability tests. The results informed some significant changes we’ve made for the beta build.

Beta Test

To recruit participants for the beta, I posted a screening survey on Reddit. It garnered over 150 sign-ups within the first few days, which signaled a strong interest from the community. We then used the feedback from TestFlight and a post-test survey to prepare the app for V1.

The rest of this case study will go over some of the key changes made to the product based on my explorations and user feedback.

Task creation

Goal: Make it easy for the user to create a task with recurring reminders.

People can add a task from the home screen, which takes them to the task creation view. From the start, I wanted the interface to be conversational, so it's easy to understand and gets the user to think about what they want.

Early task creation screen

An early design had a simple prompt and options to set a periodic reminder. The ideas list helps guide the user into thinking about recurring tasks.

An option we’ve added later was the ability to set reminders at a fixed interval (daily and weekly). To differentiate this from setting reminders that only occurred after completion, I used a segmented control.

Below: The three types of Auto Reminders, and their respective parameters.

An older auto reminders settings layout

However, in our MVP user tests, people were confused by Recurring vs. Interval and other variations of the copy. I struggled with this for a while, but I eventually settled on showing a picker to set the reminder type.

I also replaced all number inputs and segmented controls with pickers to create a consistent input experience. Overall, this setup was clearer and more elegant than before.

Below: A simplified Auto Reminders layout.

The latest auto reminders settings layout

Aside: When Figma launched plugin support, I developed Fix San Francisco. It automates the correction of metrics and fonts for texts using Apple’s SF typeface. The plugin allowed me to create iOS mocks more accurately and has been installed by over 1000 other designers.

Fix San Francisco preview


Goal: Let the user see what’s coming up at a glance to decide which tasks they should do.

In an earlier design, I borrowed Apple’s Activity rings to represent the time until the next reminder. However, the mechanism was difficult to grasp because each progress ring was based on their own reminder duration. Our testers didn’t understand them either, so we scrapped it.

Left: Home screen with tasks ordered by upcoming reminders.

Home screen with progress rings

Some participants mentioned that they’d like to see tasks that mattered today. Therefore, I grouped them into Today and Future.

The ring now shows task status, with green meaning it was completed today, and orange meaning that a periodic task has gone past its reminder interval. In the end, this model was well-received by our beta testers.

Right: Tasks separated by those with reminders for Today vs. in the Future. For daily tasks with multiple reminders in a day, the app intelligently displays a progress ring to represent completions for today.

Home screen with tasks in Today and Future group

Task history

Goal: Enable people to understand their habits and let them manage completions.

The first version had a timeline that showed completions and the time intervals between theme. However, it didn’t give a sense of how far apart the completions were.

Moreover, our testers couldn't tell the difference between Auto and Manual reminders due to the unintuitive placement of actions on this screen.

Left: Task history design from the MVP. The user had to pull down the header to edit reminders and tap the large circle to set Manual Reminder.


Jimmy proposed showing intervals as progress bars like the ones from MacRumors Buyer’s Guide. So, I experimented with the idea and overhauled the screen with better visualizations. I also added a Quick Reminder and an Auto Reminders button to help people distinguish the two.

Right: The latest task history screen with dynamic data visualizations to help people see the frequency of their completions.



Goal: Help people understand the value of the app and its core concepts.

Given the straight-forward purpose of the app, I designed the onboarding to be hands-on by getting the user to create a task and learn about app-specific shortcuts.

Furthermore, I wrote the copy to be concise and casual so people can feel that the app has a friendly persona.

Below: A video walkthrough of the first-time user experience.



To prepare for release, I wrote the marketing copy and created a landing page. We promoted the app through ProductHunt, Reddit, and our mailing list.

On launch day, we had 61.58% conversion rate across our channels, and Sometime was downloaded over 200 times. Moreover, the app had a positive reception from our users.

Quotes from users post-launch

After a month, the app has garnered 4.6/5 average rating and has been downloaded over 9000 times worldwide.

Sometime on the App Store


On usability testing: For the MVP user test, I tested with people I knew to keep costs minimal. However, I didn’t get quality feedback from some participants because they weren’t heavy users of productivity software. If I had more resources, I would put more effort into screening to find those who are most likely to use our app.

On building an app: One thing I need to improve on is to prioritize getting feedback over perfection. I’ve spent a lot of time coding and fixing the UI, thus some tasks took longer than expected. But overall, the project was a success for me because I’ve become more confident in delivering an elegant product from scratch into the world.

Takeaways 🥡

  1. Designed, coded and shipped Sometime, an iOS app for recurring tasks and reminders.
  2. Planned and conducted user and beta tests to inform product design.
  3. Developed and released a Figma plugin used by designers to create more accurate iOS mocks.