The problem
Classmates can help each other a lot more than they do.
An MBA class is full of people who could help each other: an intro to a fund, a friend at a target company, someone who’s made the exact switch you’re attempting. Most of that help never happens.
Three things get in the way. Asks are too vague to act on: “anyone in climate?” is easy to scroll past. People don’t know who can help, because the right person is rarely the obvious one. And help gets offered but nobody follows up, so no one learns whether it worked.
The Aspiration Network is built around those three gaps. It pushes for specific asks, puts them in front of the whole class one at a time, and closes the loop by asking “did it go anywhere?”
Be specific about the outcome and the kind of person who could help. Vague asks are easy to scroll past.Guidance on the ask form
An ask names the outcome, who could help and which organisations are on the radar. Naming names is the fastest route to a warm intro.Who it’s for
Kellogg first, then other schools.
Primary
Kellogg MBA students
The first network. Sign-in was limited to Kellogg addresses, and the whole product was tuned around one class.
The askers
Career-switchers and founders
People trying to move into a new industry, raise money, hire or find a mentor. The ask categories are Careers, Fundraising, Product, Hiring and Personal.
InferredThe gatekeepers
Class presidents and community leads
They hand out each school’s access code. The code decides which school you join.
Next
Other business schools
59 programmes are already set up in the data. Adding a school is one command, with no new deploy. Each one is fully sealed off from the others.
Use cases
How an ask plays out.
Posting an askMaya, career-switcher
She wants to move from healthcare operations into early-stage climate-tech investing. She names who could help (operators who became investors) and three funds on her radar.
Offering helpSam, classmate
He works through the feed one card at a time and skips the asks he can’t help with. Skips are never recorded. On Maya’s, he taps “I can help” and writes a note.
Getting connectedMaya, next morning
An email and a Slack message say someone has offered help. On her Matches page she contacts Sam with one tap.
Closing the loopMaya, weeks later
“Did it go anywhere?” Yes: a coffee chat with a seed-stage partner. Sam gets credit, and shows up on the board.
A sensitive askAnyone
Asks can be anonymous until matched, shown as “Someone in your network” until a classmate offers help.
The product
Five loops: ask, match, browse, close, acknowledge.
Each loop has one job, and the rules that matter (who can see what, who gets credit) live in the database, not in the pages.
One button, “I can help”. An intro offer is just a note: help directly, or offer to connect them with someone you know.The feed on a phone. Where help is landing: offers grouped under each ask, with a clear next step.The one action that earns reputation: “Did it go anywhere?”Bragging Rights: ranked by closed loops, not offers made. Asks that need help most come first
Specific asks from complete profiles with few offers come first; asks that already have two or more offers go last.
Gentle nudges
A very short ask gets “Add a little more?” with a Post anyway option. Skip three in a row and it suggests slowing down.
Alerts in Slack
Match alerts, a welcome message and a monthly report go to each school’s own Slack workspace.
Sign-in by typed code
No passwords and no magic links. Passkeys for returning members.
How it works
Every school is its own sealed network.
One codebase serves every school, but members can only ever see their own school’s people and asks. That wall is enforced inside the database on every request.
1
Browser
Feed, directory, ask form, matches and board.
2
Database
Supabase Postgres. Row-level rules keep each school sealed; triggers create matches and award reputation.
3
Scheduled jobs
Daily match alerts, welcome messages, a monthly report.
4
Outbound
Email through Resend; each school’s own Slack workspace.
5
Measurement
Analytics per loop, with no IDs or free text.
Next.js 16React 19TypeScriptTailwindSupabase (Postgres, Auth, Storage)ResendSlackGitHub ActionsVercel
The same app on a second school’s domain: its own colours, its own sealed network. Shown for theming only.Product decisions
The main decisions, mostly about incentives.
Reputation only from help that landed
WhyIf offers earned points, people would spray offers. Only the asker saying “yes, it went somewhere” counts. A separate list recognises the most generous helpers without ranking them.
Trade-offReputation is sparse, especially early on.
Skipping is never recorded
WhyPassing on an ask must never count against anyone, or people would feel watched and stop browsing.
Trade-offNothing can be learned from what people skip.
One “I can help” button
WhyThere used to be separate buttons for helping and for “I know someone”. Merging them removed a hard choice: an intro offer is just a note that says so.
Trade-offBrokered intros are harder to count separately.
Asks stay open when help arrives
WhyOne offer often goes nowhere. Several classmates can offer on the same ask, and the asker closes it when they’re done.
Trade-offBusy asks can collect more offers than they need, so the feed pushes them down.
A typed code, never a magic link
WhyThe university’s email scanner opened sign-in links before students could, burning them. It could even create accounts for people who never signed in, so every job only contacts members who actually have.
Trade-offOne extra step at sign-in.
Each school gets its own Slack token, with no fallback
WhySilently using another school’s token is how you post into the wrong Slack. An early version of one job read every school’s asks; it became the cautionary tale in the project notes.
Trade-offMore setup per school.
A monthly report that shows running totals
WhyMonth-over-month numbers would eventually show a quiet month that reads as “activity is falling”. A person can cancel the post the day before; if nobody does, it goes out.
Trade-offTotals hide short-term trends.
Early results
In its first four weeks, 25 of 28 asks got an offer of help.
From the first help report, which counted every ask and offer at Kellogg from 9 July to 6 August 2026, pulled from the live database.
89%
of asks got at least one offer
25 of 28 asks; the other 3 were still open in the feed
50
offers of help
From 18 classmates, 1.8 offers for every ask
47h
median wait for a first offer
13 of the 25 answered asks heard back within 48 hours
27
members posted an ask
29% of 93 members; 24 of them got at least one offer
Most answered asks drew more than one offer: 15 of the 25 had two or more. That supports the decision to keep asks open after the first offer, since one offer often goes nowhere.
There was more help on offer than asking. 18 members offered help, and together they made 50 offers against 28 asks.
- No offers
- 3 asks
- 1 offer
- 10 asks
- 2 offers
- 8 asks
- 3 offers
- 4 asks
- 4 offers
- 3 asks
What these numbers don’t show yet: whether the help worked. The report counts offers, not outcomes. An outcome is recorded only when the asker closes the loop, and that’s the next number to track. The member count is an upper bound, because some profiles were created when someone requested a sign-in code and never finished signing in.
Where it stands
It’s live at Kellogg and ready for a second school.
Built
- Asks with specifics, categories and three visibility modes
- One-at-a-time feed and searchable directory
- Help offers with optional voice notes
- Matches, contact and close the loop
- Reputation and the Bragging Rights board
- Daily match email and Slack alerts
- Welcome messages and a monthly report
- Sealed multi-school setup, 59 programmes seeded
- Analytics across all five loops
In progress
- A weekly digest (built, not scheduled)
- Ask of the Day in Slack (paused)
Next
- Launching a second school
- Tracking closed loops: how many offers led somewhere
59
business schools ready to add
- 6 Jul 2026Project started
- 7 JulFirst version: asks, feed, matches
- 13–19 JulThree rounds of sign-in changes; passkeys; Kellogg-only access
- 15 JulOne “I can help” button; asks stay open
- 22–27 JulSlack alerts, welcome messages, analytics
- 2 AugFeed ranked by effort and unmet need
- 5 AugMulti-school: sealed networks and 59 programmes seeded
- 6–7 AugMonthly report, per-school branding
What I learned
What I took away.
- In a community product, what earns reputation shapes behaviour more than any screen does.
- Real users break assumptions you can’t test for. A university email scanner rewrote the whole sign-in flow.
- Keeping schools apart has to be built into the database. The one time a job could see across schools was the scariest bug in the project.
About the screenshots: they show the real components with fictional people and asks. No classmates’ names or data appear anywhere on this page.
Next in the lab
ActuarialAI
An Excel add-in that turns a raw claims file into a full reserve review inside the actuary’s own workbook. Every number it writes is a live formula they can check.