Skip to content
← Back
Product · TypeScript, iOS

Melange

A photographer needs a model. A model needs a stylist. Right now that happens in Instagram DMs. I built an app for it, and shipped it on both iPhone and the web.

How it works

Post what you're working on. Swipe through other people's projects. When you both say yes, a chat opens and you plan the shoot.

Yuki
Model
Malik
Stylist
Ana
Photographer
Try it
What to look at: the core loop of the app, working. Swipe through people, and when two people both say yes, a chat opens.

The interesting engineering

Most apps have a server in the middle that decides what each user is allowed to see. This one doesn't. The iPhone app and the website both talk to the database directly.

That's only safe if the database itself knows the rules — so that's where I put them. Every table checks who is asking before it returns anything.

Blocked

No. The app can ask, but the database checks who you are and returns nothing at all.

What to look at: every one of these rules lives in the database, not the app. A bug in the iPhone app or the website cannot leak someone else's data.

The payoff: a bug in either app can't leak private messages, and a third app added later inherits the same guarantees for free.

What's built

Sign-up, profiles and portfolios
Swipe feed with search
Matching and live chat
Unread counts synced across devices
Events with RSVPs
Reviews after a collaboration
Blocking and reporting
Push notifications on iPhone

Everything above works on both the phone and the web, on one shared account. Thirty automated tests run on every change.

Where it stands: the app builds and the submission pipeline works, but it isn't in the App Store yet — screenshots are the main thing missing.