Lucas Xie
Back to writing

Independent Development

How I Built Vocheo: From Idea to App Store

A behind-the-scenes story of how I built Vocheo, a spoken English practice app, from a personal learning need into an App Store product.

8 min read
VocheoSwiftUILanguage LearningIndependent DevelopmentApp Store

Vocheo started from a simple personal problem:

I wanted a better way to practice spoken English.

As an English learner myself, I often found that listening and reading were easier to practice than speaking. There are many learning materials online, but turning those materials into repeatable speaking practice is not always simple.

I wanted a tool that could help me listen, repeat, record, compare, and gradually improve.

That idea became Vocheo.

The original idea

The first version of Vocheo was not meant to be a large product.

It started as a focused learning tool for spoken English practice. I wanted to create a simple environment where learners could work with audio, captions, recording, and repetition in one place.

The goal was not to replace teachers or courses.

The goal was to make daily speaking practice easier.

For many learners, the hardest part is not knowing what to do every day. They may have audio materials, videos, subtitles, and notes, but the practice process is scattered.

Vocheo was designed to bring that process together.

What I wanted to build

From the beginning, I wanted Vocheo to feel calm, practical, and focused.

The core experience is built around a few simple actions:

  • Import learning materials
  • Listen carefully
  • Read along with captions
  • Repeat useful sentences
  • Record your own voice
  • Compare your speaking with the original audio
  • Save important clips for repeated practice

Instead of building a complex learning platform, I wanted to build a tool that supports deliberate practice.

A good language learning tool should not only show content. It should help learners return to important sentences again and again.

Building the first version

I built Vocheo as an iOS app using SwiftUI.

The early development focused on the most important learning loop:

Listen → Repeat → Record → Review

To support this loop, I worked on several core modules:

  • Audio and video playback
  • Recording
  • Caption display
  • Subtitle importing
  • Speech-related practice features
  • Highlighted clips
  • Playback progress tracking
  • Practice-oriented UI design

Some features looked simple on the surface, but required careful design behind the scenes.

For example, a language learning player is different from a normal media player. It needs to support repeated listening, precise progress control, caption alignment, and quick return to useful segments.

That meant the app needed a more thoughtful playback structure.

The challenge of audio and captions

One of the biggest challenges was connecting audio playback with captions and practice actions.

For normal video or audio apps, playback is mostly linear.

For language learning, playback is more interactive.

Learners often need to replay the last few seconds, focus on one sentence, jump between caption lines, save a short segment, record after listening, and compare rhythm and pronunciation.

This changed how I thought about the app.

The player was not just a player. It became the center of the learning experience.

That is why Vocheo gradually evolved into a practice-focused media environment rather than a simple audio player.

Designing for real learning

A key idea behind Vocheo is that speaking improves through repeated, active practice.

I did not want the app to feel like a passive content library. I wanted it to encourage learners to do something with the material.

That is why features such as recording, highlighted clips, caption display, and repeated playback became important.

The app is built around the idea that learners should not only consume English content. They should interact with it.

They should pause, repeat, record, notice differences, and try again.

This kind of small daily practice is simple, but powerful.

Working as an independent developer

Building Vocheo also became a personal experiment in independent development.

As a solo developer, I had to think about everything:

  • Product direction
  • UI design
  • Technical architecture
  • Local data management
  • App Store preparation
  • Website and marketing materials
  • User-facing copy
  • Privacy policy and support pages

This made the project very different from simply writing code.

A real product needs more than features. It needs clarity.

I had to constantly ask: Is this useful? Is this easy to understand? Does this help the learner practice better? Can I maintain this structure over time?

Those questions shaped many design decisions.

Using AI during development

AI also played an important role in the process.

I used AI as a development partner for thinking through architecture, reviewing UI ideas, improving copy, and exploring technical approaches.

But AI did not replace product judgment.

The most important decisions still came from understanding the learning problem, testing the experience, and deciding what should be simplified.

For me, AI was most useful when I already had a clear direction.

It helped me move faster, but I still had to decide what kind of product Vocheo should become.

Preparing for the App Store

Publishing an app is not just a technical task.

Before submitting Vocheo to the App Store, I had to prepare many details:

  • App name
  • App description
  • Screenshots
  • Privacy information
  • Support website
  • Marketing text
  • Version information
  • App review requirements

This process made the product feel more real.

When an app moves from local development to the App Store, every small detail becomes part of the user experience.

The icon, screenshots, onboarding text, feature descriptions, and support pages all matter.

Launching Vocheo taught me that shipping is a skill by itself.

What I learned

Building Vocheo taught me several important lessons.

First, small products are not necessarily simple products. A focused app still requires deep thinking, especially when it tries to support a real workflow.

Second, language learning tools should be designed around practice, not just content. Content is important, but practice design is what helps learners improve.

Third, independent development requires both engineering and communication. Writing code is only one part of the work. Explaining the product clearly is just as important.

Finally, shipping matters. A product becomes different when it is available to real users. Even a small launch changes how you think about design, quality, and responsibility.

What Vocheo is today

Today, Vocheo is a spoken English practice app built for learners who want to improve through listening, repetition, recording, and review.

It is designed for people who want a focused place to practice with real materials and build a more active speaking routine.

Vocheo is still evolving, but its direction is clear:

Help learners practice speaking in a simple, repeatable, and focused way.

Final thoughts

Vocheo began as a personal learning tool.

Over time, it became a real product, a technical challenge, and a meaningful part of my independent development journey.

For me, the most valuable part of building Vocheo was not only publishing an app.

It was learning how to turn a personal problem into a product that others can use.

That is the kind of work I want to keep doing: building focused products for language learning, productivity, and practical workflows.

Try Vocheo

Vocheo is available as an iOS app for spoken English practice.