Cosign

Cosign is a music-first social app: you post a song, album, or lyric, and the app matches you with people whose taste actually overlaps with yours. The iOS app is the product; a web admin panel and a marketing site sit alongside it.

VisitApp StoreGoogle PlayComing soon

Long story short

The idea behind Cosign is that what you listen to is a better place to start than a profile. Instead of filling in a bio, you post the song, album or lyric you can't stop playing, and the app uses that to find people whose taste genuinely overlaps with yours. The feed becomes a way to meet people through music, not just a list to scroll past.

It's a Flutter app on a serverless Firebase backend: Auth for accounts (Google and Apple sign-in), Firestore and Realtime Database for the feed and live state, Storage for media, and Cloud Messaging for push. The parts that can't be trusted to the client (matching, moderation, anything touching another service) run as TypeScript Cloud Functions behind Express, with Zod validating every payload at the boundary.

Music comes from Apple MusicKit rather than a home-grown catalog, so a track shared in a post is a track that plays. Search and discovery run on Algolia, with Hive caching locally so the feed opens instantly. Sentry covers crash and error reporting across both the app and the functions.

Behind the app sits an admin panel, a React + Vite dashboard for user and content management, so the team can look after accounts, posts and moderation without touching the database by hand.

I also made the landing website: a Next.js and Tailwind CSS site I rebuilt pixel-for-pixel from Figma. It takes a visitor through the product in order: the hero ("Your music taste, on the record"), a three-step explainer, a carousel of features, an album wall with the store links, and a closing call to action. The screenshots below walk through it section by section.

Landing site

Download & close

Other projects

Currently open to collaborations

Connect on socials

Water me?