VxMusic

Back to Log
Journey13 min read

Lessons Learned Building My First App

April 5, 2026

Releasing a product to thousands of users is an educational experience. Vishesh Gangwar shares personal reflections and lessons from building and managing VxMusic.

1. Code Cleanliness is a Long-Term Investment

When I began building VxMusic in Class 9, I was focused on speed. If a snippet of code worked, I moved on. I didn't write comments, organize files, or follow consistent naming schemes.

This fast-and-loose approach caught up with me quickly. When I returned to the codebase six months later to add new features, I spent hours trying to understand my own logic. This taught me a valuable lesson: writing clean, modular, and documented code takes slightly longer initially, but saves hundreds of hours in the long run.

I now enforce a strict styling guideline in our workspace. Every helper function must have descriptive inline documentation, and complex sections like WebGL animation ticks must explain *why* calculations are performed in that manner. Spending a few extra minutes on code formatting keeps the project maintainable for both myself and future open-source contributors.

2. Listen to Your Community

When we first released the Android app, I was proud of the 3D particle visualizer. However, our initial bug reports on GitHub were filled with complaints from users whose devices were overheating or lagging.

This forced me to step outside my own developer bubble. I realized that a feature is only good if it works well for the user. We added configuration options, allowing users to toggle visualizers off or run them in low-detail mode.

Listening to user feedback transformed VxMusic from a personal project into a functional app for everyone. It taught me that empathy is just as important as technical capability when building products. If you ignore your community's concerns, they will leave, no matter how clever your engineering is.

3. Embrace Iterative Refactoring

You will never write the perfect version of your application on the first try. Technology moves, requirements evolve, and your own programming skills improve. Don't be afraid to rewrite parts of your codebase when they become bottlenecks. Refactoring is a normal, healthy part of a software lifecycle, keeping the application fast and clean.