Inspiration
I've been an amateur singer since my youth, and I've also played in an amateur band where I'm the vocalist (and secondary guitarist). I've always been interested in improving my singing. One of the things I've read multiple times from different singers/coaches about it is, the best way to improve on your singing is simply to practice daily, record yourself daily, and listen for things you can improve on.
What it does
SingTrace is an app where the main function is to build your daily practice habit, and that a bonus/premium functionality is providing some analysis of your vocal recording as feedback. How it relates to the RevenueCat hackathon is that the premium functionality will be a subscription payment/paywall that uses RevenueCat. The recording archive is fully local on device, you can use it without the internet, and you get to have the privacy of your singing audio archive.
This isn't really the "singing lesson app" for kids like where, you start to take lessons, and want to sing more on-pitch, etc. This is more for people who already have a bit of a handle on singing, maybe they did karaoke in their youth, they can sing on pitch, but generally aren't quite professional level yet, and want to get better.
How we built it
I started exploring what AI nowadays can do with analyzing singing voices, but my exploration actually led me elsewhere. I found that it is possible to write algorithms that runs a lot of the analysis, without actually going into any sort of ML models or LLM at all. Going down this path, I did a lot of iterations (with AI help) in analysis algorithms and actually built a pretty solid backend for singing vocals analysis. With this as the core functionality, I started build a mobile app around this. So it's a bit funny and backwards, I started from what I consider was an ancillary feature of what the app should be (since the daily habit building is the main thing, the analysis is a side thing), since that was the harder tech problem to figure out, and built from there.
As far as tech stacks: I built the mobile app in react native and expo, so I can build for both iOS and Android. The backend is written in the rust langauge. I started the research of vocal audio analysis in Python, already knowing that its performance won't be enough for running a production version of the analysis backend. The rust version is built by iterating on the algorithm and comparing results with the python analysis backend on a set of singing vocal audio files.
As far as the "how", I've used some combination of Codex/GPT-5.5 and Cursor (Composer and Grok models) for a lot of the code, and in some rare cases manual hand coding.
Challenges we ran into
I played around a lot with (a) what we can analyze at all, (b) what is helpful information to a singer, (c) how to present that analysis both visually-pleasing and in an actually helpful way.
Along the way, I also played around with what can be done on device on a client, what can be done on the server, and what the performances are like on each.
The challenge is several fold since the space is so wide open as to what we can do:
- What can we provide is truly of value to singers, in terms of analysis or feedback?
- What can we do that doesn't break our bank in terms of analysis algorithms or AI?
- How do we present very technical data that is actually useful in a way that is easily understood and aesthetically well-designed?
Accomplishments that we're proud of
I believe that I've reached a fairly useful set of analysis features, that is also not trivial to reproduce with AI coding (something another developer can't just tell Codex/Cursor/Claude Code like "I want to build a singing analysis API, do it" and recreate), since it is something that went through many rounds of iterations, both on the AI/machine side (tweaking the algorithms) as well as human feedback from me (tuning it and determining what is useful, etc.). Even though this is presented as an ancillary/premium feature, that lives on the side of the daily habit building core feature, I believe this is still a meaningful substance of the app because anyone can vibe code a recording app with daily reminder notifications, but not anyone will be able to vibe code the analysis.
What we learned
Outside of the technical learnings I've already outlined above, I've learned that there are a lot of singers out there! I sent out a message in some groups/communities I'm in to see who'd be interested to testflight/internal-release my app, mostly in tech communities, and to my surprise many people in tech are interested. One, I think it is relatively novel, not many in tech are actively building for singing (music in general might be more common, but singing less so), so it is really interesting to folks. Two, more people are into casual/amateur singing than we'd know just from the surface. I think there could be a good market for an app like this.
What's next for SingTrace: Singing Practice
Fully build out the features of the app, including the RevenueCat subscription payments, and ship the app to iOS and Play stores.
Run growth marketing on Tiktok, Instagram and Youtube to grow a user base and subscription base.
Then I have some future feature ideas for after launch, such as singing notes or verses challenges.
Awards I'm going for
Conflict-of-interest award only, since I am a full time employee in a sponsor company.
Built With
- codex
- cursor
- expo.io
- react-native
- rust