Brett Owers
← All Projects

Intervolition (Flutter)

Archived

November 1, 2018

The first attempt at Intervalition — a customizable interval timer built in Flutter that was never finished. Years later, the same vision was shipped in raw Swift. A lesson in how ideas that stir inside you without being alchemized drain your energy, and how shipping them sets you free.

Purpose

Had a vision for a fully customizable interval timer — configurable work/rest periods, custom sequences, audio cues. Started building it in Flutter but never finished. The idea stayed lodged in my head for years until I finally shipped it as a native Swift iOS app. This unfinished version is the proof that the idea was always there, waiting.

Stack

FlutterDartCross-PlatformMobile

What I Learned

  • Flutter as a cross-platform framework was promising but at the time lacked the native polish needed for timer precision and background audio — the constraints that eventually pushed the final version to raw Swift
  • An unfinished project is not a failure — it is a draft. The Flutter version taught the data model, the UX flow, and the edge cases that the Swift version shipped clean because of
  • The pattern is more predictable than you think: ecommjs taught e-commerce and became context for building the Potatuhs storefront. JavaScript challenges built algorithmic thinking that shows up in every project since. Intervolition in Flutter became Intervalition in Swift. The path is progressive — each project feeds the next, even when you cannot see the thread in the moment.
  • Cross-platform vs. native is not a permanent decision — it is a scoping decision. Flutter was right for exploration. Swift was right for shipping. Knowing when to switch tools is itself a skill.

Key Insights

  • If you allow your ideas to stir within you without alchemizing them, they take energy from you. An unshipped idea is a background process consuming CPU — it runs while you sleep, while you eat, while you try to focus on other things. It is not harmful in a dramatic way, but it is a constant, low-grade drain. The only way to reclaim that energy is to bring the idea into the world.
  • Shipping is freedom. I deployed Intervalition and rarely think about it anymore. But I remember the days when it was all I thought about as I went to sleep — the UI layout, the timer logic, the sound design. Those thoughts were not inspiration. They were unfinished business. The moment it was live on the App Store, the spell broke. The idea stopped haunting me because it no longer needed me.
  • This is not about perfectionism or hustle culture. It is about recognizing that ideas are not free to hold. They cost attention, and attention is finite. You do not have to ship everything — but the ones that keep you up at night are telling you something. Listen, build, release, and get your freedom back.
  • The arc from unfinished Flutter prototype to shipped Swift app is the most common arc in software: vision → false start → dormancy → resurrection → ship. Most developers have a graveyard of unfinished projects. The ones that keep coming back are the ones worth finishing.
#Flutter#Dart#mobile#interval-timer#unfinished#creative-process#shipping#iOS#Swift#ideas

This post was composed through a conversation between Brett Owers and Claude Code (Anthropic). The content reflects Brett's recollection of each project and the lessons drawn from it. Some details may be approximate or omitted — the purpose is to paint an honest picture of a software engineer's development over time, not to serve as a precise historical record.