First, Create a 60-Point Product: A Review of My First iOS Development Experience
My first iOS app, PicLingo, is officially on the App Store today. Here's a review of the entire development process and my thoughts on it.
My first iOS app, PicLingo, is officially on the App Store today. It's an app for learning English words by taking photos. Just snap a picture of everyday life, and the AI will identify objects in the photo, generating English words, pronunciations, and more to help users build their daily vocabulary. I created this app for two reasons. First, as a reasonably proficient English learner, I sometimes feel a lack of vocabulary in real-life scenarios like a grocery store or coffee shop, despite being familiar with academic terms. This app solves my own pain point. Second, the app requires calling a vision model for object recognition, giving me a chance to familiarize myself with various vision models and their API calls on platforms like ByteDance's Volcano Engine and Alibaba Cloud's Bailian.
The development process was quite smooth (taking about two weeks, not counting a one-week delay), and can be divided into three main stages: Research & Preparation, Development, and App Store Submission. I've roughly drawn out the process flow; you can zoom in to take a closer look.
Phase 1: Research & Preparation
In the first phase, I started by watching two or three iOS development videos (around 30 minutes each is fine, no need to get bogged down by the details) to get the big picture and grasp basic concepts like what App Store Connect is, how to create and configure an Xcode project, and basic Swift syntax.
The second step was to validate the demand and research competitors on platforms like Xiaohongshu (RedNote), the App Store, and Reddit. I looked at user feedback for competing products and considered how my app could stand out (in terms of features, UI/UX, pricing, etc.).
The third step involved multiple rounds of discussion with my "consultant" (Gemini/ChatGPT...) to create a Product Requirements Document (PRD), finalizing the product's features, color scheme, and so on.
Before development, some prep work was necessary: First, register for an Apple Developer Account and pay the ¥688 annual fee (I hope my app can earn this back!). Then, set up necessary info like bank account details and apply for the Apple Small Business Program (which reduces Apple's commission from 30% to 15%). Concurrently, I had to prepare for the ICP filing by buying a domain and server from Alibaba Cloud (even if not actually used, it's formally required for the ICP application number). The ICP filing process takes about seven working days. This number is required for App Store Connect to avoid app rejection or sudden removal. I could start developing while waiting for the ICP filing to be completed.
Phase 2: Development
This is the core development phase. I started by creating and configuring the Xcode project, placing the PRD in the root directory, and then began coding with an AI IDE. I primarily used Augment Code for this app and recently found it to be more powerful than Cursor. I first completed the basic interface, then integrated the AI functionality, confirmed that features like saving and deleting worked correctly, and finally integrated RevenueCat to handle subscriptions. Each of these steps had stubborn problems that took time to resolve (especially when integrating subscriptions, which required testing many cases like users purchasing during a trial period, or scenarios arising from deleting and reinstalling the app). In these situations, you have to be patient, locate the problem, add test statements in the code, and get more information from the Xcode Console to debug further. In terms of performance, I also considered aspects like compressing images before analysis and managing local storage to save memory. In short, while the app may seem simple at first glance, there are many pitfalls to navigate during development.
Phase 3: App Store Submission
Submitting to the App Store is also an energy-consuming phase. It involves filling out necessary information in App Store Connect, preparing app screenshots, submitting for review, and making changes based on the reviewer's feedback, which can take about two to three days. The reviewer might reject the app and raise issues, requiring modifications and another two-to-three-day wait. It’s worth noting that Apple has its own Guidelines, so it’s best to understand and follow the standard practices during development. For example, it’s recommended to include privacy policy and terms of use in the Paywall, and to give free trials and subscription plans equal prominence in the UI.
Reflections & Conclusion
As an indie developer, you have to handle a complex series of tasks yourself, including product, design, development, submission, marketing, and operations. If you are too hard on yourself and try to make the first version perfect, it's easy to get discouraged, give up, and abandon the project. That's why with PicLingo, I always stuck to the philosophy of "first, create a 60-point product," aiming to quickly complete an MVP within two weeks to reach the market and users. Besides, if a 60-point product can attract a considerable number of users, it proves the product has value and significant room for improvement.
Lowering expectations and standards is the key to taking action!