
Why matching an entire network at once is one of the hardest problems in recommendation systems — and how we solve it every month.

TL;DR: Most platforms can recommend the same thing to everyone. Flynt can't, we match our entire network simultaneously each month. Every pairing removes someone from the pool, turning thousands of independent recommendations into one fully coupled puzzle.
Every member is matched each month, simultaneously. It's part of what makes the product feel like magic. As a data scientist, it's also what keeps me up at night (in a good way, mind). It sounds straightforward ("you're a matching platform, of course you match everyone once a month, duh"). But in the landscape of recommendation systems it's genuinely unusual, and the reason comes down to an economics concept called rivalry: how readily one person's use of a thing depletes it for someone else.
Netflix sits at one end. Its content is non-rival: recommending Bridget Jones's Diary to me doesn't prevent it being recommended to Sarah. The same ten titles go out to millions of people, so every user's recommendations are an independent problem that can be optimised separately. Next you have your Tinders and Deliveroos. Tinder can show the same profile to many people, but that person's time is finite. Deliveroo can recommend the same restaurant to a whole postcode, but eventually the Chipotle burritos (personal sin) run out. These are partially rival systems — many-to-one, but only up to a point — and managing the resulting congestion is where a lot of their brainpower goes. Then there's Flynt. We match the entire network at once, and every member gets exactly one match. This is rivalry at its highest strain: me being matched with Sarah means Sarah can't be matched with John. Every pairing removes someone from the pool. The problem stops being thousands of independent recommendations and becomes one fully coupled assignment, where every decision constrains every other.
Scale cuts both ways here: it makes the search harder and the answer better. You might picture something brittle — a house of cards where each pairing knocks into the next. The reality is the opposite: the bigger the round, the more shapes the network can take. For example, with 1,000 members, there are ~500,000 candidate pairs, and around 10^1283 complete ways to pair everyone (way more than there are atoms in the observable universe, ahem). Some of those configurations are dramatically better than others, and the best one keeps improving as members join. So our challenge isn't creating matches. It's searching an astronomically large space for the configurations that make sense. A few options that don't work: doing it by hand (of course); sending every candidate pair to an LLM for judgement (500k pairs per round, re-scored across thousands of engine iterations, would wipe out our finances); and simple pairing based on heuristic rules (we tried a version early on, and quickly realised we needed to do better).
Each member is translated into a set of preference weights, which adjust as people update their preferences or send signals strong enough to infer from. Those weights feed a graph optimisation engine that pairs the whole network simultaneously, producing candidate configurations (entire rounds of matches, not individual pairs). On top sits FRED, our LLM judge. Scoring every configuration with FRED would be again be ruinous for our finances, so we did as any thrifty new kid would – built a surrogate judge trained to predict FRED's responses. The surrogate searches across hundreds of thousands of configurations cheaply; only the few most promising rounds go to FRED for a proper read. Finally, one of the team checks every match by hand. Our guideline: could we defend this match in the pub? If I, a data scientist, am matched with a staff content writer, the answer is likely no (unless I've said so). So AI really works as a quality layer over whole rounds for us. It's not, as we're often asked, a judge of each anonymous pair. Something's working: 97% of matches are rated worth the time.
As the network grows, needle-in-a-haystack matches get easier to find, because the sheer array of options builds flexibility in. When Juliet joins a 1,000-person network, she adds a 1,000 new potential pairings and multiplies the number of possible rounds roughly a thousandfold. In an independent-recommendations product, more users mostly means more compute. In a fully coupled one like Flynt, every new member raises the search cost and raises the quality ceiling with it. Which is why we're obsessed with finding great additions to the community: Flynt is literally just the combinations of its members, and finding more awesome people is how we build something generational. If you'd like your best-ever match: flynt.uk. One matched 1:1 a month. FRED will take care of the rest.

Ivan Franco – Co-founder & COO
Through my career, I've used data to solve complex problems. With Flynt, I'm applying that same analytical thinking to something more personal: helping you find the right people to connect with at exactly the right time in your career.

Scaling Flynt to connect millions across diverse set of disciplines without any loss in quality that makes every match count.
2 min read
One great meeting shouldn't be the last. Flynt's latest updates help you follow up faster, book time easily and build trust that lasts.
2 min read
Ten members told me what makes Flynt work: honest conversations, five minutes of effort a month and events where you walk in knowing who to speak to.
4 min read