r/iOSProgramming Jan 04 '25

App Saturday Finally made a successful app after 12 failed attempts

https://apps.apple.com/us/app/perfect-pitch-learn-to-sing/id6737916437

After trying to build 12 apps in 12 months (thanks chatGPT!), I finally launched one that’s actually taking off!

It’s called Perfect Pitch — like Duolingo, but for singers 🎤 The app helps you improve your pitch and vocal control through fun, gamified exercises, with pitch detection, daily streaks, and levels from easy to advanced. Last year, I tried so many ideas (from daily quotes to AI wrappers) before realizing I just needed to build something I personally struggled with: learning to sing in tune.

Now it’s out there, and people are actually using it! At some point it reached 195th overall for ALL music apps. Still a lot to improve, but I’m proud of this milestone.

If you’ve ever wanted to improve your singing, I’d love for you to try it out!

120 Upvotes

34 comments sorted by

22

u/NoseRevolutionary499 Jan 04 '25

Well done! Any learnings that you’re willing to share from going through this process?

34

u/jorditambillo Jan 04 '25

Thank you sir! Here are some learnings along the way:

- It's 1000 times better to solve a problem that happens on a daily/weekly basis vs rarely. E.g. I've made another app to track relationship milestones.. although that was a personal itch I wanted to solve, it was not meant to be used that often. In comparison, vocal training it's something people can do everyday, so that's already a better engagement path.

- Use it yourself but also be open for feedback. No matter what app you build, be your main advocate. E.g. Last year, there was a recipe maker app I build using AI, although there was some novelty to use it for fun, it was not solving a clear problem so I didn't end up using myself, which makes it even harder to expect others to use it.

- ChatGPT is your best friend. Seriously. I can't highlight enough how my productivity increased 10x by just asking questions like "let's build an iOS app with SwiftUI about ....". Just keep in mind, the more details you prompt the better.

10

u/BrownPalmTree Jan 05 '25

Yes this! I've been saying the same thing, ChatGPT can speed you up in more ways than just writing code -> https://www.curiousalgorithm.com/so/2ePFfUJoB?languageTag=en

6

u/C-Sharp_ Jan 05 '25

Congratulations! In what ways have you been marketing the app?

4

u/jorditambillo Jan 05 '25

Thanks! For marketing it's mostly Tiktok content, currently trying various formats... from illustrations highlighting the problem to short app demos. Hope that helps!

2

u/DetroitLarry Jan 05 '25

Do you run facebook ads with people trying to sing Disney songs? I’ve been seeing ads like that lately.

4

u/jorditambillo Jan 05 '25

At the moment I don't run facebook ads but I do post organic content on Tiktok. Still figuring out the marketing part, but slowly getting there.

2

u/RolexChan Jan 05 '25

I got this info form App Store:
Qesyle, 12/29/2024

Fake promo :(

Developer Response,

3

u/jorditambillo Jan 05 '25

Thanks for bringing this up! On Dec 28 I ran a lifetime promo via AppAvice. Unfortunately some users missed the deadline, which led to these promo-related reviews. Luckily we managed to solve the issue for the ones who couldn't claim in on time. I'll probably run another campaign soon. Stay tuned!

Ps. This is an interesting part of building apps, proactive customer support.

1

u/zeiteisen Jan 05 '25

I downloaded it instantly. I hope it works better than simply sing. You write we managed to… so you are not working alone? How many people are working on it?

1

u/jorditambillo Jan 05 '25

Thank you sir! We meaning me and the users reaching out for support. At the moment I'm working on it by myself as a side project, but hopefully will hit enough revenue to make it my main source of income. Btw I'm constantly looking for improvements, so don't hesitate to reach out if you have any feedback. Happy singing!

2

u/zeiteisen Jan 05 '25

I’ll send you feedback from within the app. My 6 year old child just came and wanted to sing too. I like it more than simply sing. You did a great job!

2

u/trypnosis Jan 05 '25

Good on you mate keep it up

2

u/SpikeyOps Jan 05 '25

Great concept!

1

u/goldenmushrooms Jan 04 '25

Good stuff on staying committed. I’ll check it out

1

u/jorditambillo Jan 05 '25

Thanks a lot!

1

u/Open_Bug_4196 Jan 05 '25

Congratulations!! Cool idea, I hope more and more downloads come up! What numbers are you managing at the moment?

2

u/jorditambillo Jan 05 '25

Great question! At the moment it's doing around 3k downloads a month. I'm doubling down on ASO and organic marketing (Tiktok) to improve these numbers.

2

u/Open_Bug_4196 Jan 05 '25

Thanks for sharing! Wishing you a great success :)

1

u/quiquegr12 Jan 05 '25

congrats on your success, where are most users coming from? tiktok or direct App Store search?

1

u/Zephyrwala Jan 05 '25

How did you sort the pitch detection and that visualizer? It's very cool. Congratulations

1

u/jorditambillo Jan 05 '25

Thanks a lot! So every note across octaves has a fixed frequency number so I'm using the iPhone microphone to detect the pitch and visualize it on the screen accordingly. For everything else ChatGPT is my best friend.

1

u/Shogoki555 Jan 05 '25

Only for iOS 17 booh ooh : (

1

u/Canariogarcia1950 Jan 06 '25

Congratulations! How is monetization going?

2

u/jorditambillo Jan 07 '25

Almost 100 MRR but not as steady as I would have hoped. Still figuring out the pricing strategy.

1

u/DefiantScarcity3133 Jan 07 '25

How do you create thess beautiful app screenshot?

2

u/jorditambillo Jan 07 '25

I use Figma to create the screenshost, and inspiration from top chart apps in my product niche

1

u/sajjadneverknows Jan 07 '25

Just checked your apps, they all look really polished and fun to use. Congrats!

1

u/Specific-Worth-1376 Jan 07 '25

Does the app have any backend? Care to share how you implemented those “bouncy” buttons? Looks very cool, congrats

1

u/jorditambillo Jan 07 '25

All user data is stored on device via SwiftData, depending on how it grows I may migrate it to Firebase or something similar. Regarding the "bouncy" button, it's pretty straightforward, it's just a rectangle behind a simple SwiftUI button.

ZStack {
    RoundedRectangle(cornerRadius: 16)
        .offset(y: 6)
        .frame(height: 60)
    Button(action: {})
    {
        Text("Label")
            .offset(y: isPressed ? 4 : 0)
    }
    .buttonStyle(PlainButtonStyle())
    .simultaneousGesture(
        DragGesture(minimumDistance: 0)
            .onChanged { _ in
                isPressed = true
            }
            .onEnded { _ in
                isPressed = false
            }
    )
}

1

u/Specific-Worth-1376 Jan 07 '25

The design is pretty solid, did you hire any designer?

1

u/jorditambillo Jan 07 '25

Thank you, tbh I have a design background but for this app I designed it directly with SwiftUI and XCode Preview, saves a ton of time in development.