The operating system for the team. Everything we know, everything we're building, and why.
Every decision we make — product, marketing, partnerships — traces back to this: something doesn't fit, something doesn't ship. talks. drives community at universities by integrating and mirroring their own culture. Everything we build serves one goal: the projection and growth of university life.
"University culture has a depth and breadth unlike anything else — inside jokes, shared moments, the pulse of what's actually happening on campus. No platform captures it. Not filtered through clout, not buried in promoter spam. talks. exists to create a space where that culture is reflected back authentically: built by students, shaped anonymously, and alive in real time."
University spirit shouldn't be confined to private circles. Students deserve a place where the inside joke includes everyone — where culture is shared across the whole school, one big click. Not just the urgent stuff. The real stuff. The funny, the controversial, the honest.
Anonymous by default — always. But it goes beyond that. We build features that can only exist because everyone in the app is at your university. The Frame, sub-communities, Talks Match — these experiences are impossible on global social media. They only work when the entire audience is exactly your campus. Anonymity removes clout and lets people say what they actually think. That's one pillar of the how, not the whole thing.
A real-time digital pulse for universities. The raw feed of collective campus thought — trending topics, student-to-student storytelling, the culture of your university reflected back at you in real time.
Every campaign we run follows this sequence:
Disruptive. Honest. Unfiltered. Student-built. Energetic. Confident. Says what people actually think. Not a template, not a formula — a feeling that runs through everything we make.
Raw and real. Confident without being arrogant. Say the thing people are thinking. Homegrown campus-first tone.
Clout-chasing. Influencer aesthetics. Overly polished. Corporate language. Promoter voice. Anything built for everyone.
| Feature | Status | Notes |
|---|---|---|
| Feed (Trending / Top / Latest / Controversial) | Live | Core loop |
| Posts — create, vote, bookmark, share, report | Live | |
| Comments — nested replies, GIFs, voting | Live | |
| Algolia search | Live | |
| Notifications (FCM push + in-app) | Live | |
| Gamification — culture score, streaks, ranks | Live | |
| Lore timeline | Live | |
| Moderation queue + report system | Live | |
| Admin panel (in-app) | Live | Firebase console still needed for some ops |
| Alias profiles + saved vault + drafts | Live | |
| Sub-communities v3 (degree/year/campus) | In Progress | Branch done, ship as-is; full redo in summer |
| Private post replies (anon DMs v1) | Not Started | Next after sub-communities |
| The Frame (BeReal-style) | Exploratory | Week-long event possible before end of year; full feature summer |
| Images in posts | Summer | Needs CV moderation pipeline + UI rework first |
| Admin backend panel (standalone) | Summer | Stop using Firebase console manually |
| Talks Match | Summer | Real profiles, ranked pool, ELO scoring |
| Full UI overhaul | Summer | Threads/X style, no cards, bottom add-post |
Production Firebase managed manually via console. In-app admin panel covers most ops but is limited. Summer fix.
Text filter only. Blocks image uploads until CV pipeline is built.
No plan for image/video storage costs yet. Required before enabling uploads at scale.
thetalksapp.com was built before v1. Redesign is a summer task alongside UI overhaul.
What: Collaboration with Jade, a matcha gallery opening in Madrid on April 23rd.
Campaign line: "Art galleries are usually quiet, but we talk." — written specifically for this collab, not a permanent brand pattern.
First content piece: Taste test video — go to Jade and try the menu for our audience.
Possible activation: Talks-flavored secret menu item. First visitors get it free.
Open: Does Jade have opening-day programming (DJ, giveaways)? Pitch around what they're missing.
What: Freshers Week rollout video when sub-communities ship. Starting a dedicated Instagram account as part of the campaign.
Video 1: Strong hook — grab attention, drive curiosity.
Video 2: Feature explainer — why this matters for your degree and year.
Messaging: "Talk about your degree. Ask people who actually understand your classes. Get advice from higher years."
Open question: Do we compete with intro Instagram accounts or lean into existing culture? Samer's position: we have enough culture — be the destination, not another intro account.
Strategy: Become the trusted, student-first layer of IE Freshers' Week. Not another promoter.
Positioning: "We don't support one promotion company. We support IE students."
Possible structure: IE Freshers 2030 onboarding account, potentially with student government. Freshers Bucket List in-app challenge.
Open: Does student government already have a freshers structure? Who are the first contact points for incoming students?
| Partner | Type | Status | Notes |
|---|---|---|---|
| Jade (matcha gallery) | Brand collab | Active | Opening Apr 23. Taste test video + possible secret menu item. |
| Puro Royo | The Frame reward | Exploratory | Potential reward incentive for top Frame posters. Not yet approached. |
| Promotion companies | Freshers collab | Summer | On talks.' terms only. talks. is the curator, not the promoter. |
| Universidad Europea | Expansion | Summer+ | Meetings in progress. Expand after IE freshers domination. |
Parking lot
Super app for university culture. Like WeChat — but for campus life. Community feed, matching, events, culture. All in one place. Once you're inside your university's talks., being in all of them is inevitable. The goal: so embedded in campus life that you can't imagine being a student without it.
Flutter · Riverpod 2.5 · iOS + Android
State: providers → services → Firebase
Strict separation: UI / State / Service
Firebase Firestore · Cloud Functions v7 (Node 22, TypeScript)Firebase Auth · FCM · Remote ConfigAnalytics · Crashlytics
Algolia — production index via dart-define ALGOLIA_INDEX
ie-talks-staging → dev environmentie-talks → production (App Store + Play Store)
Never develop against production.
Break complex UI into small, composable widgets. Codebase must stay readable as JM comes on board.
Any non-obvious logic (fan-out writes, scoring formulas, security rule reasoning) requires a comment explaining the why. Not the what.
Assess reads per page load before writing any query. Use limit(), cache in Riverpod state, never read inside loops. New composite indexes go in firestore.indexes.json.
Develop against ie-talks-staging always. Never test against production. Only deploy what's tested and backwards-compatible.
| Branch | Purpose |
|---|---|
main | Production. Only merge here on App Store / Play Store release. |
feature/[name] | All dev work. One branch per feature. JM opens PRs, Samer reviews. |
brain | This second brain site. Claude commits here. Never merges to main. |
Full DM inbox too complex and creates moderation burden before we have the tooling. Private post replies serve the primary use case ("I have extra car seats to the ski slopes") without a full inbox. Only the post creator sees the private reply.
Students can see all communities but can only fully interact (vote, post, reply) in their own. First version ships as-is from branch; full redo in summer UI pass. The community value outweighs the partial anonymity trade-off.
Text filter is not sufficient for images. Computer vision pipeline required. Images ship alongside the summer UI rework, not before. Do not bypass this.
Threads/X style, no-cards layout, bottom nav add-post. Partial redesign creates churn without payoff. Summer project with JM — not before.
Dating/matching requires trust. Real photos, real identity. Anonymous posting stays core to talks. but Talks Match is a separate mode. ELO-style hidden scoring only — never shown to users.
Build MVP first. Collect weekly match volume data. Then pitch a partner: "We match X people every week — we want to give them an easy default option with you, with a discount." Puro Royo is a candidate to explore when numbers exist. Going to a partner empty-handed is the wrong order.
Build a talks.-owned freshers presence. Never become just another promoter. Collaborate with event companies only on talks.' terms. talks. represents IE students, not a single event company.
"The Frame" is a placeholder. Needs a better name before the feature ships or goes public.
If not, talks. could co-create one with them. Affects H3 planning significantly.
We've created a freshers Instagram account called "Fresh Talks by Talks." After the first journalistic exposé-style video, what's the content strategy? Do we run student intro posts or lean into campus culture content? Needs a call before the account launches properly.