Project Overview
What is Yappa Knowledge Hub?
Yappa Knowledge Hub is an AI-powered internal knowledge management tool designed for the team at Yappa. It solves the problem of scattered information across Slack messages, emails, notes, and deal updates by providing a centralised system for capturing, processing, and distributing knowledge.
Internship Context
| Detail | Value |
|---|---|
| Institution | UCLL University of Applied Sciences |
| Programme | Professional Bachelor |
| Duration | 56 working days (~12 weeks, 3 months) |
| Company | Yappa |
| Project | Internal Knowledge Hub (Kennisverzameltool) |
Problem Statement
Internal knowledge at Yappa is currently scattered across Slack messages, forwarded emails, notes, deal updates, announcements, and external content. Information shared "in the moment" becomes hard to:
- Find later — no central search across knowledge sources
- Contextualise — different teams need different perspectives on the same information
- Convert into updates — weekly overviews and digests require manual effort
- Keep curated — no moderation or quality control mechanism
Vision
Build a central system that makes internal knowledge:
- Easy to capture — low-friction submission directly from Slack
- Smartly processed — AI summaries tailored per audience role (developer, CEO, marketer)
- Actively distributed — periodic digests by thematic list and target group
Core Concepts
Thematic List
A curated stream of resources designed for a specific purpose and audience. Each list has a name, description, target audience roles, default tags, and a digest schedule.
Resource
A single knowledge item submitted by a user — text, URL, PDF, or audio transcript. Each resource carries metadata, tags, and can be assigned to multiple lists.
Target Group
A role-based audience (e.g., Developers, Marketers, CEO) that determines how AI summaries are styled through per-group prompt templates.
Digest
A periodic bundled report per list, generated on schedule (weekly/biweekly/monthly), containing all new resources with their summaries, delivered via Slack.
Scope — 13 Epics, 100 User Stories
The project is structured across 13 epics totalling 100 user stories and 302 story points:
| # | Epic | Stories | SP |
|---|---|---|---|
| 01 | Content Ingestion | 12 | 39 |
| 02 | Thematic Lists & Organisation | 9 | 22 |
| 03 | AI-Powered Summaries | 10 | 29 |
| 04 | Periodic Digests / Reports | 6 | 23 |
| 05 | Bot / Service Interaction | 8 | 24 |
| 06 | Configuration & Administration | 8 | 19 |
| 07 | Search & Discovery | 7 | 23 |
| 08 | User / Role Management | 7 | 18 |
| 09 | Analytics & Insights | 7 | 18 |
| 10 | Content Quality & Moderation | 6 | 12 |
| 11 | Integrations & Extensibility | 6 | 24 |
| 12 | Onboarding & Help | 5 | 11 |
| 13 | AI Agent & Orchestration | 9 | 40 |
| Total | 100 | 302 |
Priority Breakdown
- 🔴 Must-have (MVP) — 32 stories (core Slack ingestion, AI summaries, digests, config)
- 🟡 Should-have — 47 stories (search, analytics, moderation, extensibility)
- 🟢 Nice-to-have — 21 stories (advanced agents, exports, bulk import)
Tech Stack
| Layer | Technology | Purpose |
|---|---|---|
| Backend | PHP 8.x + Symfony 7 | API, workers, command bus |
| Database | PostgreSQL / MySQL | Relational data (Doctrine ORM) |
| Queue | Redis + Symfony Messenger | Async processing |
| AI | OpenRouter / OpenAI / local | Provider-agnostic summarisation |
| Platform | Slack (Google Workspace) | Primary user interface |
| Docs | VitePress + Mermaid | This documentation site |
Stakeholders
| Role | Responsibility |
|---|---|
| Intern | Design, develop, test, and document the system |
| Company Mentor | Product guidance, Slack workspace access, feedback |
| UCLL Mentor | Academic supervision, weekly report review |
| Yappa Team | End users, pilot testers, feedback providers |
Key Decisions
| Decision | Choice | Rationale |
|---|---|---|
| Primary channel | Slack | Where the team already works |
| AI strategy | Provider-agnostic | Flexibility to switch models |
| Ingestion UX | Message Shortcut + Modal | Lowest friction, no commands to memorise |
| Processing | Async (Messenger) | Non-blocking Slack interactions |
| MVP scope | Pasted text + AI summaries + Digests | Highest value, lowest complexity |