DoorList
You needed the right crowd to get into college parties. I made one friend enough to knock.
A guest's whole product was a QR code
I joined DoorList as its first hire. The product ran the door for college parties. A host made the event, built the list, and scanned people in.
The company believed that closed door was the whole reason students trusted it. Hosts kept the door and brought the guests, so release after release gave them another tool. Guests got only a QR code. It appeared the night of the party, got them in, and went quiet.
Invited
Not invited
A guest got a QR code the night of the event.
A guest got an empty week.
No events for this week
Events you are invited to or host will appear here
Create Eventat our University, DoorList has infinitely heightened exclusivity
They knew about the parties and never got invited
I interviewed ten guests around UVA, from deep in Greek life to no group at all. Even when they knew a party was happening and who would be there, they had no way to ask that cost them nothing.
I'd see a story from a party and have no idea how to get in.
The app was keeping some of them from knowing, and all of them from asking.
I proposed a map, and only the map was wrong
I argued the premise was wrong, and wanted to prove it with a map, which opens the door by default.
A map of every party on campus, placed by the people going
DoorList team opposed
- Students only got invited to their own chapter’s events. There was no point seeing events you couldn’t get into.
- Flutter couldn’t handle maps in the app.
The chapter point was true for fraternities. I had no answer to Flutter, a constraint no better pitch could move. I let the map go and looked for another way to prove the idea.
that's just how it is, it'd be exclusive without an app
The fear was fair, so I shrank the bet to a tab and a button
I understood what the hosts stood to lose. Everyone on the app came in through a host. An open feed threatened the one thing hosts came for, a door they controlled.
To get it built, I made the public tab opt-in, showing only events a host chose to post. Next to it I put an Add Friends button that led nowhere on purpose. A press got you nothing, so each one was a student asking.
Host. Had to turn the switch on to show an event on the new public tab.
Guest. Added a friend. The profile opened, but there was nothing to do with a friend.
The empty tab drew twelve times the taps of any other
I watched the tab stay empty, and within two days people at the company were asking me to take it down. I opened PostHog to see how bad it was.
We should probably remove the tab now that we know no events are getting added
People were adding friends, even though it led nowhere.
The demand was real, so the tab was not the failure. My argument was. I had been trying to open the door wider, which still accepts that access is a question of how far it swings. Students were not asking for a feed of strangers. They were asking about the people they already knew.
The way in was the friends they already had
I had nothing in the event category to copy, so I took the model from Instagram. You open the door with your friends, and that is what keeps it safe.
I rebuilt discovery as your friends' events. Asking got a shape of its own. Both sides ended up with more control.
Request to join
Opens the door for people who weren’t invited, and brings them back to the app.
Request a +1
Guests bring their friends in, and those friends come back to the app too.
Request to add someone not yet on the app
Brings in people who aren’t on DoorList yet. This is how the app grows.
I ranked the feed by who you knew was going
The better you know who will be there, the more likely you are to go. I built the ranking for attendance, not for time in the app. Every feed is an opinion about whose events you see first, and I decided DoorList's.
Who’s going and what each one adds, beside one home feed. Jo is going, not added yet: plus 1, a friend in common, and Masquerade Ball, marked Suggested event, sits in the bottom slot of four. Maya is going: plus 2, a friend, one slot higher. Theo is going: plus 2, a friend, plus 1, you’ve been to the same events, second from the top. Maya and Theo are going: plus 2 for Maya and plus 3 for Theo, the top slot.
What the ranking was never allowed to do
Never from a private event unless both were confirmed guests
Never more than a suggestion or two a week
Always a way to say not this person
Before the ranking, more friends meant a longer list. After it, more friends meant more of the feed was about you. In our own analytics, students with three or more connections came back four times as often.
Students with 3 or more friends came back 4× as often.
It stopped being the app I was hired into
I stopped treating the friend graph as a feature and made it the main surface. By the end DoorList was where you found out what your friends were doing.
Downloads
45K to 800K
Monthly retention
4% to 68%
Feb 2024 – Sep 2025 · From Google Analytics
+13 other friends invited
You could see your friends' events, once you scrolled past Featured.
Who was going got the most views, so friends' events became Home.
Your friends decided which event you saw first.
A product's constraints are not what it is. They are one way of getting what it is for.
DoorList treated being closed as its definition, and everyone took closed and trusted for the same thing.
I rebuilt discovery on the friend graph instead of the gate, and it came out more open and more safe at once.
Every piece you play moves another. A piece that will hit a wall was never a move.
I argued for a map, the right idea on an interface the app could not build and hosts could not accept.
I stopped arguing the merits and argued the size of the bet: a tab a host could refuse, and a button with nothing behind it.
Events only matter because of the people you share them with.
I ranked the feed on relationships rather than on events.
















