I Tried Building a Real App with AI. It Took a Year

I Tried Building a Real App with AI. It Took a Year

After finding existing habit trackers like Streaks and Grit too expensive or feature-limited, I attempted to build a custom iOS app called HabitTed using AI. Despite initial excitement, the process revealed that AI-generated Swift code was often messy and required significant manual refactoring. What seemed like a quick weekend project evolved into a year-long journey of debugging, data migration, and learning the hard limits of current AI development tools.

Usually when I complete a project, I am proud of what I have accomplished, but after 6 hours with AI, I can't say I learnt much about Swift development.
  1. over_bridge

    I've used AI for building a hobbyist note app myself. It's also a mixed bag but a lot of that comes down to how I've changed.

    Before AI dev was expensive so I'd spend hours planning features. I filled 5 notebooks with UI sketches and data schemas and lists of names of what to call things. Building was more or less final as I only had 5-10 hrs a week max and wanted to move on.

    Now I type directly into the Claude Code chat box and it writes it in front of me. I haven't planned a thing in months. As a result the app swings wildly around based on my whims and feelings. I can rewrite the whole thing based on something I thought of in the shower. Then days later I realize it isn't right and I rebuild it again. All of the rewrites have done a number on the code and I see dead patterns everywhere from stuff long since deleted.

    In a professional app I'd have others to hold me accountable so it's not exactly the same but AI has made it very easy to make a lot of bad apps quickly. If you know exactly what you want though it can feel like magic.

    I just hope it's still respecting the data loading and caching algorithms I designed so carefully cause I wouldn't know if it wasn't anymore.

  2. spprashant

    I think we are moving from "can you build this product?" to "do i trust you to support this product?". Software is cheap, trust is a premium.

    Developers and companies who put real care into their product will come out on top. A large part of that is going to be, what not to build - something AI agents will always say yes to.

    To be fair, was always the case but its only going to be made more apparent as AI scales out.

  3. Grombobulous

    I think the author arrived at the sort of bad middle trench of AI: where you use it knowing how the code works and trying to fit it into a paradigm (Xcode) that it’s not well-suited for.

    The 6 months of cleanup is something a true no-code vibe coder would have never done. I also think that kind of person might be inclined to keep AI going down the simplest development lane possible, which probably means using a more web-native technology rather than a native app that relies on an IDE the AI can’t work well with.

    Something like Expo, for example.

    I found that the most time consuming part of iOS app development in a vibe coder scenario was the various “red tape” of the process for the App Store including submission.

  4. alexpotato

    I've spent a lot of time in my career as a SRE/DevOps which includes running MANY outages due to a combination of uncaught bugs and/or crazy infra failures. [0]

    In my opinion, the basics of software engineering haven't changed, it's just faster to write the code.

    e.g. the below plan is just applicable for humans or LLMs when building systems that are sensitive to small changes/errors and have catastrophic failure modes. (e.g. trading, avionics, health etc)

    1. Have a very detailed plan of how you want it to work

    2. Break the work into components

    3. Work on each component and test the component extensively

    4. Once that component is good, move on to the next component

    5. Tie all those components together and confirm they work via integration tests etc

    There is a STRONG temptation to just tell the LLM "Build me a system" but that is a bad idea and was also a bad idea with humans.

    Sure, LLMs speed up #2 and possibly #3. For #3 specifically, almost all of the top developers I know are using LLMs to write the code but are writing the tests by hand or spending most of the time reviewing the test code written by LLMs. I would argue that this is how it should be.

    0 - https://x.com/alexpotato/status/1215876962809339904

  5. bradfa

    Making production software is still hard. You still need to know what you're doing. Making good software still requires significant investment of time and intelligence.

    Using LLM tools can greatly accelerate development when used effectively, it can enable much smaller high performing teams to be much more effective. But it's not magic and if you're holding it wrong it really can be a hindrance rather than a benefit.

More from this day

2026-07-24