App Stacks is designed & built by Roman Tesliuk. For questions, suggestions, or inquiries, please contact me here.

Much love from Berlin.

All rights reserved 2025

Joi is a beautifully designed iOS app that brings calendar, to-dos, and habit tracker into one app – all in one clean timeline. It’s built to reduce mental clutter and make daily planning easier, especially for people who’ve struggled to make traditional productivity tools stick.

Get to know Joi

Who’s behind Joi?

Hey, I’m Alex – a product designer with about 14 years of experience. I’ve been working in product companies most of my life. I’ve always been deep in mobile, but mostly from the design side. I was at WeTransfer for a while – back when it was still independent. A great team, and honestly, one of the cleanest tools for creatives out there. The company got acquired later by Bending Spoons, but I wasn’t there anymore at the time.

My journey into development started around the beginning of COVID. Like many people, I suddenly had a lot of time on my hands. I’ve always had this itch for code – I made several attempts before, especially when Swift just came out – but there were always blockers. During the pandemic, with SwiftUI already out, I finally dove in. I started with tutorials, small micro-projects, and gradually built up.

The first proper project I did on my own in Swift was called Oppie. It was a simple flashcard app I made while learning Dutch. I just needed something lightweight to help me remember vocabulary – so I built it for myself. That app made it to the App Store, and that was a really important step for me.

Another early project was Coffee, which I worked on together with my now co-founder on Joi. He handled most of the code, and I did the design and UI tweaks. It was around this time that the pieces started falling into place. I had enough experience under my belt, and enough curiosity to try something more ambitious. That’s how Joi started.

I came up with the initial idea and put together a fully working proof of concept – not just design, but code too. Eventually, I partnered with my developer friend, and together we’ve been building Joi ever since.

What’s Joi and what’s so cool about it?

I have terrible ADHD. The kind that makes you laugh at Reddit stories because you relate too much – like the guy who went to the kitchen during a date and forgot he was on a date. That kind of brain fog is very real. For me, it’s always been hard to hold focus throughout the day. I get distracted by anything and everything.

Over the years, I’ve tried dozens of productivity systems – apps, tools, workflows. But what actually helped most was something incredibly simple: index cards. Every morning, I’d grab a card and write down everything I needed to do that day. If something didn’t get done, the next day I’d tear the card up and start fresh. No rollover, no task piles, no guilt backlog. It kept my brain from spiraling.

That system worked because it respected the way ADHD works. Yesterday’s priority might not even make sense today – so dragging tasks around endlessly just adds pressure. I wanted something digital that followed that same principle. And that’s where the idea for Joi came from.

At the time, apps like calendar, task trackers, and habit apps were all separate. This was before iOS 18 merged some of that functionality. I always felt like these pieces should live on the same page – because together, they form your roadmap for the day. Meetings, to-dos, habits, plans – they’re all just different layers of the same picture.

So I built it.

I put together the concept, designed it, and even wrote the initial code. And then, true to ADHD form, I forgot about it for a while. It was May 2024. A few months later, around October, I started posting some of my old designs on Twitter – mostly just to get some likes. One of those posts included the Joi concept. People loved it. It went viral. I thought, “Wait – I actually built this already.” I was on a sabbatical at the time, so I decided to pick it back up and keep working on it.

By then, the app was already in a semi-working state. I didn’t even have a Figma file – I had designed straight in code, because for me, if I can already see how it should work, it’s just faster. Sometimes I even have to reverse-engineer screenshots back into Figma just to publish something to the App Store.

The design evolved from some earlier ideas – I’d made a mood-tracking app called Haptic, where I first tried the “curtain” layout that eventually made its way into Joi. I reused that element because it felt right.

Right now, I’m also working on a Mac version. I woke up one Wednesday and thought: “I need something on desktop that syncs with Joi.” By the end of the day, I had a working version. I’m still polishing it, but it’s already helping me keep track of things across devices.

A lot of people ask how long it takes to get into coding. For me, it took years. I started before all the tools like Cursor and GPT were around. Back then, it was just hours and hours of tutorials, building micro-projects, learning by doing. I think there’s still no shortcut. You need those 10,000 hours – that slow burn of understanding how everything fits together.

Joi's Tool Stack

What’s under Joi’s hood? Which technologies were used and why did you chose them?

Joi is a fully native SwiftUI app. I’ve always been an Apple fanboy. My whole design career started with falling in love with the first iPhone. It changed everything for me. So when it came to building my own apps, it was never even a question.

Everything is built with Apple’s native frameworks – EventKit for calendar data, ReminderKit for tasks, and Core Data for storing everything locally. It syncs via iCloud, so your data stays in step across devices.

For analytics, we use Amplitude. It gives us a clear view of how people actually use the app – way more reliable than Apple’s own tools. Apple’s built-in analytics are pretty much useless. You find out someone used your app three days after it happened. That’s not helpful.

For subscriptions and payments, we use RevenueCat. It sits between the app and Apple’s payment system and handles all the logic around purchases. That setup has been one of the best decisions we’ve made – fast updates, real-time insights, solid tooling. Apple’s system on its own is just too slow and opaque.

We also use Firebase, mainly for crash reporting. And that’s about it – everything else is native. No third-party UI frameworks. We did experiment with Lottie at one point for animations, but ended up removing it – it didn’t really work the way we needed.

Joi is intentionally lightweight and focused. Native frameworks keep it fast and reliable – especially on iOS, where you really notice when something isn’t.

Do you use any other tools to run the business?

The website is built on Framer. It feels like the standard now – and honestly, it’s impressive how they turned things around. A few years ago, Framer was something entirely different, kind of stuck between design and code. Now it’s a clean, reliable tool for building and shipping websites. We use it for everything web-related.

For emails, we use Loops. I chose it pretty randomly – mainly because it was easier to connect with Framer. I’m not sure it’s better than Mailchimp or anything like that, but it got the job done with less friction, so I stuck with it.

Design happens in Figma, of course. For development, I use Xcode and Cursor. Cursor has become kind of a partner in the process – it’s fast, sometimes even creative. There are moments where it suggests features I hadn’t thought of yet. I like that interaction – it feels like collaborating with a slightly futuristic assistant. Not because I can’t code something myself, but because it’s faster, and sometimes it surprises me in a good way.

We use Gmail for support, but not in any complex way. I try to go through the inbox once a week, just to make sure nothing gets lost. But I’ll admit I don’t always have the mental bandwidth to keep up with it daily. Most of the communication happens on Twitter anyway – that’s where people discover Joi, and where they usually reach out.

We also use Linear for planning. I don’t touch it much, but my co-founder uses it more actively. It helps us keep track of ideas and organize the chaos a bit. We also do daily check-ins, so I stay in the loop that way.

What’s your personal stack? Which apps do you and your team love?

My personal setup is pretty lean. I used to be a big Arc fan – I even thought it might be one of those rare apps that genuinely changes how you work. But somewhere along the way, it lost me. I reinstalled macOS, opened Safari, and realized my day-to-day was exactly the same. So I just stuck with Safari.

Telegram is where everything flows in – news, messages, updates. It’s chaotic, but it works. For design, it’s Figma, always. Sometimes After Effects if I need motion, and occasionally Blender when I want to try something more experimental. I didn’t use Blender for Joi, but it’s in my toolbox.

The way I explore tools is always through real problems. I can’t just sit down and learn a tool in theory. If I’m testing something new, I need an actual task – something to solve. That’s how I learn best. Tutorials have never worked for me unless they’re tied to a specific goal I care about.

I use ChatGPT a lot – especially for development and writing. It speeds things up and sometimes even helps shape the direction of a feature.

For inspiration, I use Eagle. It’s not beautifully designed, but it does the job. I throw all kinds of visual references in there – screenshots, UIs, colors. It even has a “Random” tab I love. When I’m stuck, I just hit “R” a few times and see what comes up from my thousands of saved images. That usually shakes something loose.

On my iPhone, I use an app called Cosmos for saving stuff. Pinterest, too – the classic. I used to love Are.na, but their iOS app is just painful. It reloads constantly and kills the flow.

I also use Notion as a kind of second brain. It catches everything – links I save late at night, stuff I want to revisit, tags I want to organize later. It helps manage the mental clutter a bit.

For email, I used to be all-in on Apple Mail, but once I had ten inboxes to juggle – including support for Joi – I switched to Gmail in the browser. It’s just faster to move between accounts. Gmail’s autocomplete for replies is surprisingly good, too. I’ll draft something short, and it smooths it out into a decent full message.

Anything else you’d like to share?

Right now, I’m focused on the Mac version of Joi. It’s already up and running, and I’m polishing the details. The goal is simple – to let people plan their day just as smoothly on desktop as they can on iPhone.

Go download Joi and give it a try – I really think it can help you organize your day in a way that actually works. And if you end up liking it, your support would mean the world. I’d also love to hear what you think.

Now, discover Joi for yourself

Huge thanks to Alex for sharing the story behind Joi and the details on the building blocks that make it such a great productivity app. Now go download it yourself and enjoy uncluttered productivity on your iPhone and soon your Mac.

App Stacks is designed & built by Roman Tesliuk. For questions, suggestions, or inquiries, please contact me here.

Much love from Berlin.

All rights reserved 2025

App Stacks is designed & built by Roman Tesliuk. For questions, suggestions, or inquiries, please contact me here.

Much love from Berlin.

All rights reserved 2025

App Stacks is designed & built by Roman Tesliuk. For questions, suggestions, or inquiries, please contact me here.

Much love from Berlin.

All rights reserved 2025