Inspiration

As students, we're all part of clubs, and we've experienced this problem firsthand. Every club we've been involved with runs on the same fragile foundation: a handful of people who happen to remember why things are the way they are. That knowledge is rarely written down. It lives in someone's head, in the reasoning behind a decision nobody documented, in the context behind a half finished plan, or in the answer to a question that only one person knows to ask. As long as those people stay, everything works, and nobody notices how much depends on them. But when a president graduates, an officer steps down, or a committee turns over at the end of the year, the club quietly develops amnesia. The next leaders do not inherit knowledge. They inherit archaeology: a graveyard of Slack messages, half updated documents, and forgotten slide decks that record what happened but never explain why it mattered. We watched new committees spend their first months digging for answers that once lived one desk over, repeating decisions that had already been made, and relearning lessons the club had already paid for. We experienced that frustration ourselves with every handover, and it became clear that the real problem was not a lack of effort but the loss of institutional knowledge.

What struck us most is how invisible this is. Nobody schedules time to lose institutional memory, and nobody sees it happening. It just erodes, quietly, every time someone comes or goes. The same thing happens to sports teams, startups, and companies, just on a slower clock. Every organization is slowly forgetting what it once knew, and most have no idea it's happening.

That's the problem we set out to fix. We built a shared brain for any organization, one that quietly reads the conversations, decisions, and documents a group already creates every day, and turns them into a memory that stays even when people leave. Instead of that knowledge walking out the door, it stays behind, and anyone can simply ask a question and get a straight answer, along with where it came from and how sure the answer is. And because a memory is only useful if you can trust it, our system keeps an eye on itself, noticing when something looks outdated or contradictory and checking with a real person before it counts as true. The result is that a group no longer depends on who happens to remember what. The knowledge belongs to the organization now, not just to the people who are about to leave it.

What it does

Feed it your knowledge. Getting started takes two commands: /login and /connect-folder plug in your documents and slides, and pull in your Slack messages too, so all the scattered knowledge across your group lives in one memory.

Lock in decisions. Not every message is a decision, so we made /decide for the ones that are. When your group agrees on something, you save it as a confirmed decision, and the brain treats it as the official source of truth from then on.

Ask it anything. This is the heart of it. /ask lets you ask a question in plain language and get a real answer back, with sources and an honest confidence score. It's also careful when things are ambiguous — ask about "the formal budget" and it might respond:

Based on the available evidence, the club approved budgets for two separate formal events:

  • Spring formal: $500 [#general, 2026-07-08]
  • Winter formal: $900 ($600 venue rental + $300 catering) [#Slack, unknown date]

However, I can't determine which formal you're asking about, or if you're asking about a combined total. Could you clarify?

Confidence: High, supported by a formal /decide statement.

Instead of guessing, it shows exactly what it found, cites where each number came from, and asks you to clarify rather than making something up.

Catch what doesn't add up. The brain checks itself. /reconcile-review hunts for contradictions and hands you a clear proposal to verify before anything counts as true:

Reconciliation Proposal — Budget Discrepancy Summary

A $270 variance exists between approved and actual budget figures [HRS_Handover › Budget status]:

  • Sponsorship: $800 approved vs. $650 actual — TechCorp pledge requires confirmation
  • Events spend: $420 approved vs. $540 actual — includes a $120 travel reimbursement (D-03) discussed in Slack but never logged

VP Finance Priya Nair handles reimbursements; receipts must be submitted within 14 days or are forfeited per club policy [Google Sheet].

Recommended actions: Request written TechCorp confirmation, require formal documentation or rejection of D-03, then recalculate.

Urgency: High. Confidence: High, supported by a /decide statement.

It didn't just spot the numbers were off. It connected a Slack conversation to a missing budget entry, flagged who's responsible, cited the relevant policy, and waited for a human to confirm before treating any of it as fact.

How we built it

We used Slack Bolt, FastAPI, Google Drive APIs, Supabase with pgvector, Voyage embeddings, and Claude. Google Docs are divided by section, Sheets are stored by row, and monitored Slack messages are updated when they are edited or deleted. Our Slack RTS tool can retrieve current public conversations, while reconciliation proposals can only be approved by configured committee leads.

Challenges we ran into

Our biggest challenge was deciding what the agent should trust. A Slack discussion might say one thing while a newer document says another. Simply returning the closest search result could produce a confident but outdated answer.

We addressed this by preserving timestamps and source metadata, checking whether multiple sources agree, and showing confidence levels to the user. Conflicting information is surfaced clearly instead of silently ignored.

Another challenge was privacy. Clubs need useful shared memory, but they should not have to expose an entire Slack workspace or Google Drive. We limited ingestion to explicitly monitored channels and connected folders. /ask responses are also private to the requester.

Finally, we had to make the system useful without asking volunteers to maintain another tool. That is why the main experience stays inside Slack and uses familiar actions such as slash commands and emoji approvals.

Accomplishments that we're proud of

Club Memory supports education and nonprofit operations by helping volunteer-led groups survive leadership turnover.

Student clubs often change committees every year. Losing institutional knowledge wastes volunteer time, delays events, causes budgeting mistakes, and makes leadership harder for new members. Smaller clubs are especially affected because they rarely have dedicated operations staff or formal knowledge-management systems.

Club Memory gives these groups access to practical operational support directly inside Slack. It helps incoming leaders understand past decisions sooner, reduces repeated work, and allows volunteers to spend more time serving their members.

The same problem affects charities, community groups, open-source teams, and small nonprofits. Club Memory could help any mission-driven organization keep its knowledge even when its people change.

What we learned

We learned that institutional memory is not just a storage problem. Most organizations already have the information somewhere. The real problem is finding the right piece of information, understanding why it mattered, and knowing whether it is still trustworthy.

We also learned that confidence is part of the user experience. An honest low-confidence answer is more useful than a polished guess. Showing sources and uncertainty helps members verify information and builds trust in the agent.

Most importantly, the best workflow is the one people will actually use. By meeting members inside Slack, Club Memory can preserve knowledge without requiring a major change in behaviour.

What's next for Memora

Next, we want to generate end-of-term handover documents automatically, track commitments and due dates, and post weekly team summaries that highlight unresolved work without naming individuals.

We also plan to add stronger role-based access controls, broader source integrations, and clearer tools for correcting outdated knowledge. Our long-term goal is to make organizational memory a shared resource that improves every time a team works.

Built With

Share this project:

Updates