Karaoke Buddy
What is Karaoke Buddy?
It's an app to bring folks together to sing some songs.
Imagine you are a karaoke fan and you land in a new city, looking for a place to sing on a Tuesday. Or you have that friend who always wants to sing after a couple margaritas. Or your work gathering is winding down and you need a new fun place to go. What do you do?
You could ask around or try to find the events page of some local spots on social media and you might get lucky.
Or you could use Karaoke Buddy. Open it up, find a Karaoke spot nearby, and you are on the way to a great night.
Here's what's ready so far:
Karaoke hosts can create their parties via the app. Premium users can create public parties. Anyone can create private ones.
Favorite your songs to easily find them next time.
Lyrics are stored on the device for quick reference.
Submit your song and the host can approve it.
Hosts maintain the song list. They can reorder songs, deny a requested song, or add a song for someone who didn't use the app. The hosts play their music with their existing setup, we don't want to change what's working.
Hosts have a “Find in YouTube” button to be able to quickly find the songs and build a play list.
Built in sharing to every party: there's a button on the top right for easy access to notify your friends where you are singing.
Push notifications for singers to let them know they are next.
Push notifications for hosts to be alerted when a song has been requested.
Tip your host dialog is optional, but available if you would like to encourage singers to tip your host.
Have ideas for improvement? Feel free to let me know!
Key Feature Implementations
A Flutter app supporting Android and iOS showcasing expertise in implementing the complex features that modern mobile users expect.
Real-Time Geolocation & Mapping:
Integrates the Google Maps Flutter plugin to display an interactive map of karaoke parties.
Utilizes the Geolocator package to access the device's GPS for features like the "My Location" button and the "Nearby Parties" filter, which performs client-side distance calculations.
Map markers and info windows are custom-styled to match the app's branding and theme (light/dark mode).
Real-Time Data Synchronization:
The song queue is powered by a Firestore stream. When a host reorders the list, approves a song, or removes a singer, the changes are reflected instantly on every participant's device without needing a manual refresh. This creates a seamless, interactive experience.
Firebase Cloud Messaging:
Push notifications on Android and iOS.
Monetization with In-App Purchases:
A premium subscription model is implemented, allowing users to unlock the ability to host public parties.
The implementation securely validates purchase receipts (e.g., from Apple's App Store or Google Play) using a Cloud Function, which then sets a custom user claim in Firebase Auth. This ensures that a user's "premium" status is a secure, server-authoritative property.
Robust User Authentication:
Provides a seamless sign-in/sign-up flow with multiple providers, including native integrations for Sign in with Apple (iOS) and Google Sign-In (iOS/Android), handling all necessary token exchanges.