Inspiration

I'm the person who puts everything off. I can leave a task waiting for days, sometimes weeks. The longer it waits, the bigger it grows in my head, and the bigger it gets, the less courage I have to start. What stops me isn't the task itself. It's the fear that I won't be able to finish it, that I'll fail at it.

I built Melthis for myself first, to help me get past that moment. Most to-do apps help you collect tasks; I needed something for the moment I'm stuck in front of one and can't make myself begin. Melthis takes the task exactly as I think of it and breaks it into a few small steps, each one something I can actually do. Then it stays with me through every step, one at a time, until the task is done, so I'm never facing it alone.

What it does

  • Write it as it is. One text field on the home screen: "What needs doing?" No projects, tags or due dates.
  • See a realistic duration. Melthis estimates how long the task takes and classifies it as a focus task or a hands-on task.
  • Split into steps. One tap breaks the task into 3–4 small steps, each with its own minutes. Every step can be edited, re-timed, added or removed.
  • Breathe, then begin. A short breathing countdown leads into a calm focus timer that walks through the task step by step. When time is up the app asks "Where are you?" and offers +5 minutes, done, or move to the pool.
  • Pool for later. Tasks you're not ready for go into a pool instead of a guilt-inducing list. "Pick one for me" chooses when you can't decide.
  • Honest feedback. After each session Melthis shows the estimated and actual time and asks how the time felt. That feedback calibrates future estimates to the person.
  • Melthis Plus. Unlimited focus sessions, personalized duration suggestions and full progress stats, as a weekly, monthly or yearly subscription.
  • English and Turkish, dark and light themes, sign in with Apple, Google or email, and full in-app account deletion.

How we built it

  • Expo (SDK 57) and React Native with Expo Router, written in TypeScript, built and shipped with EAS.
  • RevenueCat for subscriptions: one offering with weekly, monthly and yearly packages, a melthis_pro entitlement, restore purchases, and a webhook that keeps the server's view of premium status in sync.
  • Supabase for authentication, Postgres with row-level security, and edge functions for estimation, outcome recording, account deletion and the RevenueCat webhook.
  • Google Gemini for duration estimates and step breakdowns. Users see a consent screen before any task text is sent, and the app falls back to local estimates if the service is unavailable.
  • A small design system of our own: fixed color tokens, three typefaces, one radius scale and a penguin mascot.

Challenges I ran into

  • Designing for fear, not for productivity. My problem was never a lack of lists; it was being afraid to start. So the app had to lower pressure instead of adding it: no streaks to lose, no overdue badges, and when time runs out it never scolds, it just asks "Where are you?" and offers more time or a later slot.
  • Making estimates feel trustworthy. An AI that guesses durations is easy to distrust. I never let the app claim it "saves" time, because it can't measure that. It only shows what it knows: the estimate, and how long the session really took. Users also give consent before any task text reaches the AI, and the app falls back to local estimates if the service is down.
  • Production is not the simulator. Things that worked in development broke in the real world: the paywall showed no prices because the offering was linked only to test products, Sign in with Apple was switched off on the live server, and account deletion failed because of missing database permissions. Each one only showed up when I tested a real build on a real phone.
  • Getting a first app through App Store review. Apple asked for a full screen recording, subscriptions had to be submitted together with the first version, and an automated check flagged a missing Terms of Use link. Every round taught me something about what "ready to ship" really means. ## Accomplishments that I'm proud of
  • Shipping my first iOS app end to end, alone: design, code, backend, payments and review.
  • A complete loop that works on a real device: write, estimate, split into steps, breathe, focus, finish, reflect.
  • A paywall that respects the user: it appears only after real sessions, always has "Not now", and every benefit on it is a feature that actually exists.
  • Subscriptions that are enforced on the server through a RevenueCat webhook, not just hidden in the interface.
  • A calm visual identity with its own penguin mascot, in English and Turkish, with dark and light themes.

What I learned

That the hardest part of a task is usually the fear in front of it, and that the fear shrinks when the first step is small and clear. Building Melthis changed how I approach my own work: I don't try to finish a task anymore, I just try to start the first step. I also learned how much of shipping happens after the code works: review notes, permissions, legal links, store setup and testing on a physical phone.

What's next for Melthis

  • Android release on Google Play.
  • A progress screen that shows your weekly rhythm and how accurate your estimates have become.
  • Estimates that keep learning from each person's feedback, so the app knows your pace better over time.
  • A free trial for Plus, so people can feel the full experience before deciding.

Built With

Share this project:

Updates

Submission history