The Morning That Started It
I was sitting in my apartment in Madrid, scrolling through nothing.
Not looking for anything. Not reading anything. Just moving my thumb in that practiced little upward flick that has become the dominant gesture of our generation. A headline about a war. A meme about a dog. An ad for protein powder. A friend’s vacation. Another war. Another dog. Another ad.
Twenty-three minutes disappeared. I know because I checked Screen Time afterward, which is its own special kind of irony: using a screen to measure how much screen you wasted.
I put my phone down and stared at the ceiling. Not in some dramatic, existential-crisis way. Just in the ordinary, slightly defeated way that most of us stare at ceilings in 2026. And a thought arrived, uninvited, the way good thoughts tend to.
What if an app only wanted two minutes of your day?
Not two minutes as a starting point. Not two minutes as a gateway to twenty. Two minutes as the whole thing. The entire product. The complete experience.
What if you opened an app, read one single thought, decided whether it meant something to you, and then the app essentially told you: that’s it, go live your life now.
That thought refused to leave. So I spent the next two months building it, with Claude Code, Anthropic’s AI coding agent, as my engineering partner.
The app is called One Good Thing. And if you’re reading this, there’s a reasonable chance it’s already on your phone by the time you finish.
The Problem Nobody Talks About at Dinner
Here’s a number that should bother you more than it does: the average person spends six hours and forty minutes per day looking at a screen. That’s according to Exploding Topics, pulling from global tracking data, and it hasn’t gone down in three years. It’s gone up.
But the number isn’t the interesting part. The interesting part is what happens during those six hours and forty minutes. Because most of it isn’t productive. Most of it isn’t entertaining. Most of it is doom scrolling: that state where the hand moves, the eyes scan, the brain registers almost nothing. You’re not consuming. You’re not creating. You’re not even relaxing. You’re just... present, in the worst possible sense of the word.
The digital detox market has noticed. It’s now a billion-dollar industry and projected to grow at over 24% annually through 2035. People are buying apps to help them stop using apps. They’re paying for retreats that confiscate their phones. A survey by ExpressVPN found that 46% of Gen Z respondents are actively taking steps to limit their time online.
There’s clearly a hunger here. But I noticed something odd about most of the solutions. They’re built on restriction. Lock your phone. Block your apps. Set timers. Punish yourself with guilt notifications when you exceed them.
It’s the digital equivalent of putting a padlock on the refrigerator. It might work for a week. But it doesn’t change what you’re hungry for.
I wanted to try something different. Instead of building a wall between you and your phone, what if I built something worth the two minutes it took, and then got out of the way?
Not restriction. Replacement. Give people something genuinely good, and they won’t need to be told to stop scrolling. They’ll stop because they already got what they came for. (There’s a famous jam study that proved this twenty-six years ago.)
What One Good Thing Actually Is
The concept is almost offensively simple.
Every day, you open the app. There’s one card waiting for you. A headline of no more than ten words. A body of no more than 120 words. Sometimes a conversation starter at the bottom: “Who came to mind?” or “Worth sharing?”
You read it. You decide: Carry or Let Go. Carry means you save it to your collection. Let Go means you release it. Both are valid. Both are respected. Neither is right or wrong.
Then you close the app.
That’s it. That’s the whole thing. There is no feed. There is no archive of yesterday’s cards you can browse when you’re bored. There is no “more like this” button. There is no social graph.
One card. One thought. One moment of genuine attention. Under two minutes. Every day.
The product is not the content. The product is the pause.
I need to say that again because it’s the most important sentence in this entire essay. The product is not the content. The product is the pause. The card is just the mechanism. What you’re really getting is two minutes where your phone asks nothing of you except to think. No likes to give. No comments to write. No profiles to check. Just a thought, hanging in white space, waiting for you to do something with it.
And then the app tells you to leave.
“The product is not the content. The product is the pause.”
The Research That Took Longer Than the Code
Here’s what most people don’t realize about One Good Thing: the content took more time than the engineering. Significantly more.
Because the easy version of this app would have been to scrape the first page of Google for “inspirational quotes” and “daily affirmations” and call it a day. There are tens of thousands of those. They fill Instagram captions and motivational posters and the kind of wellness apps that make you feel vaguely better for three seconds before the feeling dissolves entirely.
I didn’t want that. I wanted cards that would actually change how someone sees their Tuesday.
So I did what any reasonable person would do: I went down rabbit holes. Deep ones. I read about evolutionary biology and why humans are wired to remember bad news more than good. I studied mathematical paradoxes, the ones that feel like they shouldn’t be true but are, because they reveal something about how our brains construct certainty. I spent days in philosophy and psychology, not the pop-psychology kind, but the original sources.
I read about mental models that change how you make decisions. About cultural lenses, the ways different societies answer the same fundamental questions about identity, obligation, and meaning. About the science of being, the intersection of neuroscience and lived experience, what actually happens in your body when you forgive someone or sit with uncertainty.
The content spans twelve categories. Reframes. Quiet Truths. Honest Contradictions. Philosophy and Psychology. Science of Being. Cultural Lenses. Language Moments. Mental Models. Historical Anecdotes. Questions to Sit With. Evolutionary Biology. Mathematical Paradoxes.
Each one required its own research stack. Its own sources. Its own understanding of what would make a person pause and think, “I’ve never considered that before.”
The writing was a collaboration between me and Claude Code, but a very specific kind of collaboration. I did the heavy lifting: the research, the sourcing, the conceptual framing, the editorial judgment of what’s worth someone’s two minutes and what isn’t. It helped me polish the body copy, tighten the language, and maintain tonal consistency across a library that spans evolutionary biology and mathematical paradoxes in the same breath. The ideas were mine. The taste was mine. The “this isn’t good enough, try again” was mine. Claude was the editor. I was the writer.
It took months. It was the most intellectually demanding and rewarding work I’ve ever done. And the library keeps growing, because the research never stops and the rabbit holes only get deeper.
The Thread (Or: How I Fixed the Worst Idea in App Design)
I need to talk about streaks, because they’re everywhere, and I think they’re quietly making people miserable.
Every app that wants daily engagement uses them. Open the app 47 days in a row and you get a badge. Miss a day and the counter resets to zero. Duolingo does it. Snapchat does it. Meditation apps do it. And it works because loss aversion is the most powerful motivator in behavioral psychology.
But here’s what nobody in product development seems to want to say out loud: streaks are anti-motivation.
They start as encouragement. Then they become obligation. Then they become a source of anxiety. You’re not opening the app because you want to learn Spanish or talk to your friend or meditate. You’re opening it because the number would go away if you didn’t.
And when the streak inevitably breaks, because you were sick, or traveling, or simply living a full human life that doesn’t revolve around an app, the guilt arrives immediately. The most common response? People stop using the app entirely. The streak was the only thing keeping them there, and when it broke, so did the relationship.
I replaced streaks with something called the Thread.
Here’s how it works. When you open One Good Thing on consecutive days and actually read the card, a Thread begins to grow. It’s a subtle visual element, like a continuous pen stroke drawn in real time, that gets longer and more detailed the longer you keep showing up.
Miss a day and the thread doesn’t break. It simply ends. Gracefully. Without a reset counter. Without a guilt notification. Without a single pixel of red anywhere on the screen.
And then, the next time you return, a new thread begins.
This is the part I want you to sit with: new threads being created is not a failure state. It’s a feature.
Open the Threads tab in your collection and here’s what you see: a visual timeline of your engagement over weeks and months. Some threads are long, stretching across two or three weeks. Some are short, just two or three days, from that week when life got hectic. What you’re looking at is not a scorecard. It’s a portrait of your curiosity over time. And every person’s portrait looks different, because every person’s life looks different.
The psychology behind this is identical to streaks. Loss aversion still operates. Daily habit reinforcement still works. But the emotional experience is entirely different. Because the Thread reframes the underlying question. A streak asks: “How long can you go without failing?” A Thread asks: “What does your curiosity look like over time?”
Same lever. Different outcome. That’s what ethical design looks like when you actually care about the person holding the phone.
How Claude Code Turned a Marketer Into an iOS Developer
Let me tell you about my professional background, because it’s relevant for the next part of the story.
I’m a marketer. I’ve been one for more than nine years. I’ve founded and sold a creative media agency, worked in product marketing for SaaS companies, managed millions in paid media budgets, run SEO operations across a dozen markets, and led growth for startups to scaleups.
What I have never done, not once, is write a line of Swift. Or any compiled programming language, for that matter. I don’t have a computer science degree. I didn’t take a bootcamp. What I had was Claude Code and a very clear picture of what I wanted to build.
And yet, One Good Thing is a native iOS app. Written in Swift. Built with SwiftUI. Powered by Firebase for authentication and cloud data. Using SwiftData for local persistence. StoreKit 2 for subscriptions. WidgetKit for home screen widgets. ActivityKit for Live Activities on the Lock Screen and Dynamic Island. HealthKit integration for logging mindful minutes to Apple Health. WatchConnectivity for syncing with Apple Watch. PostHog for analytics. Custom Canvas-drawn illustrations. A server-side personalization algorithm running on Cloud Functions. A full landing page with scroll-triggered animations. An email system with lifecycle emails. Built for accessibility from day one.
Over 34,000 lines of code across 209 files in five languages. Nine development batches, then a tenth for features I thought were post-launch. Seven builds before submission to the App Store.
I built all of it in two months, not counting the research. Then I kept going because the features I’d planned for “someday” turned out to be buildable now. Claude Code wrote the Swift, the TypeScript, the CSS. I made every design and product decision. And I could not have built any of it two years ago.
The Great Leveler (And Why the Moat Has Moved)
Here’s what changed: tools like Claude Code stopped being a curiosity and became a collaborator.
The numbers tell the story. In 2025, 84% of developers were using or planning to use AI tools. By 2026, that number has pushed past 92%. Collins Dictionary named “vibe coding” its Word of the Year for 2026. A fifth of Y Combinator’s Winter 2025 batch had codebases that were over 90% AI-generated.
But here’s what the breathless headlines about AI coding miss: the code is no longer the moat.
Anyone can ship now. A CMO who’s never touched Swift can put four apps on the App Store. A college student can build a SaaS product over a weekend. The barrier to entry for software has collapsed so fast that the ground is still shaking.
I’m proof of that. I described features to Claude Code in plain English. “I want a floating card with a heart icon for Carry and a water-drop for Let Go.” And it wrote production-grade SwiftUI. Not prototypes. Not demos. Code that passed App Store review.
Which means the question has changed. It used to be: “Can you build it?” Now it’s: “Is it worth using?”
And the answer to that question has nothing to do with code. It has everything to do with design.
Design is the new moat.
When everyone can build, the differentiator is how it feels. How it looks. How it moves. How much space it gives you to breathe. Whether the typography was chosen with intention or pasted from a template. Whether the interaction design respects your time or manipulates it.
The Design Decisions That Define Everything
The argument of One Good Thing’s design is this: what you leave out defines you more than what you put in.
The color palette is called Sage and Stone. Parchment, Linen, Sage Wash, Deep Sage, Forest Night. There is no pure white anywhere in the app. There is no pure black. Everything lives in this warm, organic space between. The palette was inspired by old paper, dried herbs, and the particular light you get in a room with linen curtains.
The typography is deliberate. EB Garamond for headlines and editorial content, because serif fonts carry the weight of ideas in a way sans-serif cannot. DM Sans for interface elements, because when something needs to be functional, it should look functional. Cormorant Garamond Light for the wordmark, because the name should feel like it was written by hand, not stamped by a machine.
The illustrations are all drawn in code. Not imported images. Not stock illustrations. Canvas-drawn SwiftUI shapes, rendered at 12% opacity behind the card content. A person sitting cross-legged, holding a card. A door slightly ajar. Two faces in conversation. A mind, suggested in a few organic lines. They’re deliberately imperfect, deliberately incomplete.
Forty percent of the Today’s Card screen is whitespace. This was not a compromise. This was the most important design decision in the entire app. The card breathes. There’s room around the thought for your own thoughts to arrive.
There is no persistent tab bar. Most apps have that row of icons at the bottom, always visible, always beckoning. One Good Thing doesn’t. Today’s Card is all there is. Your collection lives behind a swipe up. The architecture of the app is designed to keep you on the one thing that matters: today’s thought.
Every one of these decisions is a small act of rebellion against the way apps are supposed to work. Apps are supposed to maximize engagement. I minimize it. Apps are supposed to create habit loops. I create a single moment. Apps are supposed to be sticky. One Good Thing is the opposite. It’s Teflon. Read, decide, leave.
“What you leave out defines you more than what you put in.”
The App Learns You (Quietly)
One thing I’ll mention briefly, because it’s worth knowing even if I don’t want to overstate it: the app pays attention.
Every time you Carry or Let Go, that signal quietly shapes what you’ll see in the weeks ahead. If you consistently carry cards about evolutionary biology and let go of the historical anecdotes, the app notices. Over time, more of what resonates with you finds its way to you, without you ever touching a settings page or filling out a preference survey.
It also makes sure you’re never trapped in a bubble. Even as it learns what you love, it keeps introducing you to categories you haven’t explored yet. The point isn’t to feed you what you already agree with. The point is to balance comfort with surprise. The familiar with the unexpected.
You’ll never see this machinery. There’s no “personalization settings” screen. No recommendation explainer. The app just quietly starts to feel like it knows you.
Your Collection Is a Mirror
When you Carry a card, it goes into your collection. After a month, you might have 10 to 15 saved thoughts. After six months, 80 or more.
Here’s what nobody expects: your collection tells you things about yourself.
The cards you carry in January are different from the ones you carry in June. The patterns reveal what you were worried about, what you were curious about, what was quietly shifting in how you see the world. It’s not a journal. You didn’t write anything. But it’s a portrait nonetheless, assembled one decision at a time.
This is the real switching cost. Not a subscription. Not data lock-in. Not a social graph you can’t recreate elsewhere. The switching cost is meaning. Your collection is yours. It’s personal. It would be hard to walk away from, not because I made it hard to export, but because it means something.
That’s the only kind of retention I’m interested in building.
Lost Thoughts (And Why Scarcity Is a Gift)
Miss a day and you can’t go back to see what you missed.
This sounds punitive. It’s actually the opposite. It’s liberating. Because if you could always go back, you’d feel the pressure to go back. Every missed day would become a debt. The app would become another source of guilt, which is the last thing anyone needs.
Instead, I built Lost Thoughts. Once a week, one missed card is resurfaced at random. Just one. You can carry it or let it go, same as any other card.
The scarcity makes it feel like a gift. You didn’t earn this card. You didn’t grind for it. It just... returned. Like a thought you’d forgotten, arriving back at exactly the right moment.
The Conversation Starter (The Feature That Makes You More Interesting at Dinner)
Two or three times a week, a card includes a conversation starter at the bottom. If the headline is “Forgiveness is selfish,” the conversation starter might be: “Do you think forgiving someone is more about them or about you?”
This is the feature that separates One Good Thing from every meditation app, every journaling app, every mindfulness tool on the market.
Because those apps are solitary. You sit alone, you breathe alone, you journal alone. There’s nothing wrong with that. But One Good Thing gives you something to bring to other people. A question for the dinner table. A text to send to a friend you haven’t talked to in a while. A small spark that turns a quiet evening into an actual conversation.
The app becomes a bridge, not a cocoon.
Forgiveness is selfish.
We frame it as grace. As moral strength. As the bigger-person move. But research in affective neuroscience suggests something more self-interested: holding a grudge activates your stress response on loop. Forgiveness doesn't release the other person. It releases you.
Carry · Let Go
Do you think forgiving someone is more about them or about you?
The True Collaboration (And the Loneliness Nobody Warns You About)
There’s something I should say here, because this essay would be incomplete without it.
Building One Good Thing was the best professional experience of my life. It was also, by a wide margin, the loneliest.
There’s a particular kind of isolation that comes with solo projects. You have no one to celebrate the small wins with. No one to commiserate with when something breaks at midnight. No one to look at your work and say, “This is good, keep going.”
For two months, my primary collaborator was Claude Code. And I mean that without any irony or self-deprecation. Working with Claude Code on this project was the most productive creative partnership I’ve ever experienced. Not because it did the work for me. Because it did the work with me.
I would describe a feature in plain English. Claude would write the Swift code. I would look at it, not understanding every line but understanding the intent, the architecture, the flow. I’d test it. Something wouldn’t feel right. I’d describe the feeling, not the technical problem, and together we’d iterate until it did.
It was pair programming in the truest sense. A human with vision and taste, working alongside Claude’s skill and patience. I can’t think of any other way to work now. And I don’t want to.
But here’s the thing about that collaboration: at the end of every session, you close the laptop and the room is quiet. There’s no team Slack to post updates in. No standup tomorrow morning. No design review on Thursday. Just you, and the thing you’re building, and the hope that it’s good enough.
Two months of this. Some days exhilarating. Some days deeply quiet. All of them, in retrospect, necessary.
The Numbers Behind the Philosophy
One Good Thing costs €1.99 per month after a 7-day free trial. Or €39.99 once, forever.
People have asked why so cheap. The app looks like it costs €10 a month. The design, the typography, the illustrations, the animations, the whitespace. It has the feel of something expensive.
I just didn’t see the point in charging more.
€1.99 is an impulse price. You don’t need to think about it. You don’t need to compare it to your other subscriptions. It’s less than a coffee in Madrid. And the lifetime option is there for the people who want to pay once and never think about it again, which, given that the app is about reducing mental clutter, seemed like the right thing to offer.
The business model is straightforward. No ads. No data selling. No sponsored cards. No premium tier that gates the good stuff behind a higher paywall. You get everything. The full experience. One card per day. Your collection. Your threads. Your conversation starters. Your widget.
That’s it. €1.99. I won’t even send you a guilt trip if you cancel.
“No ads. No data selling. No sponsored cards.”
Why Solo Projects Matter Now
I built One Good Thing alone. No co-founder. No engineering team. No investors. No advisors telling me to add a social feed because engagement metrics would look better.
And it’s not just for the obvious “indie developer” narrative.
The things that make One Good Thing good, the restraint, the whitespace, the refusal to add features, those decisions are almost impossible to make in a team.
In a team, someone would have suggested push notifications for missed cards. In a team, someone would have built an explore tab. In a team, the whitespace would have been filled with something “useful.” In a team, the conversation starter would have become a full chat feature.
Being solo meant I could protect the product from the instinct to add more. And protecting a product from more is the hardest design discipline there is.
The tools exist now for this kind of project. Claude Code for engineering. Not just writing code, but understanding architecture, debugging at midnight, and iterating on design details until they felt right. Serverless backends. Cloud functions that handle email delivery and user authentication without a DevOps team. A single person can build, ship, and operate something that genuinely competes with funded teams.
One person. A MacBook. A lot of coffee. Claude Code. And the stubbornness to keep building until it felt complete, not minimal, but genuinely complete.
But then again, nobody asks for the things that end up meaning the most. They just recognize them when they arrive.
The Words I Never Use
Every brand has a voice document. Most of them are about what to say. Mine is mostly about what not to say.
I never use the word “journey.” I never say “hack,” “optimize,” “crush it,” “self-care,” “manifest,” “hustle,” “grind,” “unlock,” or “level up.” I never say “content” or “consume.” I never call anything “wellness” and I never use “mindful” as a buzzword.
Instead: Carry. Thought. Sit with. Curious. Thread. Collection. Quiet. Notice. Pause.
The words you choose tell people who you are. And who I am is this: a person who built a quiet app that respects your time, your intelligence, and your ability to decide for yourself what’s worth holding onto. I don’t coach you. I don’t motivate you. I don’t track your progress toward some externally defined goal.
I hand you a thought. You decide what to do with it. That’s the whole relationship.
Even the error states are philosophical. Instead of “Error: no data available,” you’ll see: “Some days, the best thought is the one you’re already carrying.”
Because if you’re going to interrupt someone’s day with a message, it should be worth reading. Even the error messages.
Who This Is For
I’ll be specific.
One Good Thing is for people who are tired. Not tired in the “need more sleep” way. Tired in the “tired of every app wanting more of their attention” way.
It’s for adults between 25 and 45 who feel overstimulated by social media and news. People who appreciate good writing, good design, and moments of stillness. iPhone users who value premium experiences and are willing to pay for quality.
It’s for the person who reads more than they post. Who sends articles to friends with the note “this made me think of you.” Who has tried meditation apps and found them too demanding, and journaling apps and found them too empty, and just wants something small and beautiful and done in two minutes.
It’s for couples who want something to talk about at dinner that isn’t logistics. It’s for friends who share meaningful things with each other. It’s for people exploring philosophy, psychology, and introspection casually, not as a practice, just as a part of being alive.
If any of that sounds like you, the app is at onegoodthing.space.
The Features That Built Themselves
I had a roadmap for what would come after launch. Journal prompts. Monthly reflections. Live Activities. HealthKit. Community signals. These were “Version 2” features. Things that would take months to build, once the core was stable, once there were users.
Then Claude Code and I built all of them before submitting to the App Store.
Journal prompts. After carrying a thought, a quiet single-line text field appears: “What did this bring up?” No multi-line editor. No character count. Just a small space for a few words. Your journal entries appear below each carried card in your Collection, giving it a depth that surprised even me.
Monthly reflections. On the first open of each new month, a full-screen reflection appears. A heatmap of which days you showed up. A breakdown of which categories resonated most. Your longest thread. “Here’s what you noticed this month.” Not a report card. A mirror.
Live Activities. When you open the app but haven’t acted on today’s thought yet, the headline appears on your Lock Screen and in the Dynamic Island. A gentle, persistent reminder that something is waiting. It disappears the moment you carry or let go.
Community signals. After you act on a card, a quiet line appears: “73% of readers carried this thought today.” Anonymous. No names, no profiles, no social features. Just a number that tells you other people are pausing too. You can turn it off in Settings.
HealthKit integration. Every time you read and act on a card, the session is logged as a mindful minute in Apple Health. Opt-in only. It felt right: two minutes of genuine attention is a form of mindfulness, even if nobody is guiding your breathing.
Apple Watch sync. Today’s card data syncs to the Apple Watch companion, so the thought reaches you on the device you glance at most. Carry or let go from your wrist.
None of these features were planned for launch. They exist because the tools made it possible to keep building, and because each one felt like it belonged. When adding a feature takes hours instead of weeks, the line between “Version 1” and “Version 2” disappears.
“When adding a feature takes hours instead of weeks, the line between Version 1 and Version 2 disappears.”
What Happens Next
The content library keeps growing. New cards are being researched and written on an ongoing basis, rooted in philosophy, psychology, neuroscience, and the kind of rabbit holes that make you late for dinner. The app knows how to introduce them at the right time.
The roadmap is quiet. No plans for a social feed. No plans for a premium tier. The app will get better in small, deliberate ways: an iPad version, an Android port, shared cards on the web. All of it built the same way: me and Claude Code, iterating until it feels right.
But the core will never change. One card. One thought. Under two minutes. Close the app.
I sometimes get asked what success looks like for One Good Thing. It’s not a download number. It’s not a revenue target.
It’s this: somewhere, someone opens the app in the morning, reads a card about evolutionary biology or a mathematical paradox or a quiet truth they’d never considered, sits with it for ninety seconds, decides to carry it, sends it to a friend they haven’t talked to in months, and closes the app.
Then they go live their day. And the thought stays with them. Not because the app reminded them. Not because a notification pulled them back. But because it was genuinely worth carrying.
That’s one good thing. That’s the whole point.
One Good Thing is available for iPhone at onegoodthing.space.
Free for 7 days. Then €1.99 a month, or €39.99 once, forever.
Questions? Get in touch.
Supratim Dam
Marketer turned iOS developer. Built One Good Thing alone in two months from Madrid, using Claude Code and an obsessive amount of research. Previously founded and sold a creative media agency.