Exploring Indie Life: From Idea to App Store in Hours with LLMs

I was sitting with a friend in a cafe discussing the new mesh gradient in SwiftUI. I showed him a tiny project I had worked on the night before. The previews were stuck loading in Xcode, and I wished for a way to visualize the gradient without relying on previews or my imagination.

The Impulse to Create

The next day at 6 PM, inspiration struck. I decided to create Meshing.

Meshing: Explore Mesh Gradients for SwiftUI!
Meshing is the tool you need for working with stunning MeshGradients in SwiftUI with ease!Key Features:- Intuitive visual editor for 2x2, 3x3, and 4x4 MeshGradients- Real-time preview of your gradient creations- Precise control over color positions with draggable points- Customizable background color- Toggle for smooth color transitions- One-click code generation for integration into your SwiftUI projectsPerfect for:- Apple Platforms Developers- UI/UX Designers- SwiftUI Enthusiasts- Anyone looking to add vibrant, complex gradients to their appsBoost Your Workflow!- Experiment with complex gradients in seconds- Save hours of manual coding and tweaking- Achieve professional-looking results quicklyI was tired of working with Previews in Xcode for mesh gradients, so I created an app for it. MeshGradients is a fun visual experience. No more guesswork or manual coding – design the perfect gradient visually and let Meshing generate the SwiftUI code for you!!System Requirements:- macOS 15.0, iOS 18.0, iPadOS 18.0, visionOS 2.0 or later- Xcode 16.0 or later (for use in SwiftUI projects)Download now and start creating beautiful, complex gradients in minutes!

I have no idea how I came up with that name, but I wanted to go with something extremely simple. And it goes well when I end my posts about mesh gradients with, "Happy Meshing!"

I impulsively turned on my MacBook, opened Claude 3.5 Sonnet, and asked for help creating an app based on the mesh gradient documentation. Here is the prompt:

In macOS 15, Apple SwiftUI introduced MeshGradient, to work with mesh gradients.
Here is the documentation for it:
I want to create a macOS app for it, called "Meshing" or something similar naming, that helps me to explore gradients, or 2x2, 3x3 or 4x4, with different colors, and positions on the screen to change using dots. Each dot will show the respective location of it. and there will be an option to copy to clipboard for it:
so i can get something like:
MeshGradient(width: viewModel.width, height: viewModel.height, locations: viewModel.meshPoints, colors: .colors(viewModel.colors), background: viewModel.background)
and paste it in my project after experimenting in the Meshing app

Claude provided a solid starting point:

0:00
/0:16

I made some adjustments to Claude's initial code. I did not want a white gradient to start with. I wanted a default template:

Beautiful and gorgeous work!! I want you to provide some default color for the 3x3 grid and the background, and move the points to some areas where they look like a beautiful mesh gradient!

It did not quite grasp how mesh gradients work in SwiftUI, and it was partly my fault too because I was too excited. I wanted the result instantly without putting much efforts into prompting:

All the total points start from (0,0). I want them to be at the exact point where the gradient mesh locations are
Can you add a padding to the edgets because at 0,0 or 1,1 the dots are cutting off

I then handled most of the debugging while Claude generated the bulk of the code. Within an hour, I had a working prototype. Getting the core functionality of copying the code to clipborad right turned out to be trickier. It took me an additional half hour to make changes to my heart's content.

From Prototype to Product

I decided to release the app on Gumroad to gauge people's reactions. While setting up the listing, I used Claude to help craft the marketing description. It already had the context of our conversation about the app, making it easier to create the copy.

I want to sell this app on gumroad. what do you think would be a good price? Also please provide a description for it

It gave me the following pricing suggestions:

  1. $9.99 - Entry-level price, attractive for hobbyists and curious developers
  2. $14.99 - Mid-range price, balancing accessibility and value
  3. $19.99 - Premium price, reflecting the specialized nature and time-saving potential

I would recommend starting with $14.99. This price point suggests quality and value without being prohibitively expensive for most potential users.

I was dumbfounded. I was hoping something along the lines of $5 maximum.

In the end, the chat got long enough that I decided to ship instead of starting a new one:

Launch Preparation

As I prepared for launch and notarised the macOS app, I:

  1. Took a screenshot that goes as the thumbnail,
  2. Decided on a "pay what you want" pricing model starting at $0, because imposter syndrome kicked hard that I was not providing enough value.

By 8 PM, just two hours after starting, the app was live and ready for users.

I then went on to record an impromptu video for the app:

AI Collaboration

In this era of the so-called AI, I could have attempted to build the app entirely on my own. However, collaborating with Claude allowed me to ship in just two hours. There were some code that would have taken me hours if I had done it alone. I probably would have lost motivation to ship, too.

Whether you call me a 0.1x engineer or a 0.5x engineer, it does not matter. What is important for me is that I created something useful for my friends and users out there in just two hours, and gathered courage to click on the publish button.

Moving Forward

Using Claude, Gemini and ChatGPT for coding over the past many months has taught me an important lesson: do not become dependent on AI.

If there is an outage one day (or night), you should not be paralyzed. Always maintain your ability to write code independently. LLMs should be assistants, not crutches. Like developers you can delegate work to, allowing you to focus on the most important aspects of your project. Use them wisely, to build upon your productivity without compromising your skills.

You can turn ideas into reality faster than ever before. Something to be grateful about living in this new world.

Happy shipping!