2026-03-16 20:14:19 +00:00
# Dynavera: An Agentic Approach to Role-Specific Trainers
[](https://vuejs.org/)
[](https://vite.dev/)
[](https://www.djangoproject.com/)
[](https://www.django-rest-framework.org/)
[](https://channels.readthedocs.io/)
[](https://www.postgresql.org/)
[](https://github.com/pgvector/pgvector)
[](https://redis.io/)
[](https://docs.celeryq.dev/en/stable/)
[](https://fastapi.tiangolo.com/)
[](https://www.docker.com/)
Dynavera is a distributed agentic onboarding platform designed to solve the productivity gap in organizational training. The motivation was to create a system that delivers tailored, retrieval-grounded guidance for new roles, leveraging modern AI and orchestration techniques. This project was built to address the challenge of scalable, role-specific onboarding—where generic training fails to meet the needs of specialized positions. By combining curriculum generation, document-grounded retrieval, and live progress tracking, Dynavera enables organizations to onboard users efficiently and transparently. Through this project, I learned how to architect distributed systems, integrate retrieval-augmented generation, and design agent workflows for real-world impact.
2026-02-26 01:32:04 +00:00
2026-02-27 02:09:54 +00:00
## Table of Contents
2026-03-16 20:14:19 +00:00
- [Overview ](#overview )
- [Core Features ](#core-features )
- [Architecture ](#architecture )
- [Quick Start ](#quick-start )
- [Usage & Smoke Test ](#usage--smoke-test )
- [Project Structure ](#project-structure )
- [Demo Access ](#demo-access )
- [Operational Commands ](#operational-commands )
2026-02-27 02:09:54 +00:00
- [Screenshots ](#screenshots )
2026-03-16 20:14:19 +00:00
- [Documentation ](#documentation )
2026-02-26 01:32:04 +00:00
2026-02-27 02:09:54 +00:00
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
## Overview & Core Features
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
Dynavera addresses the onboarding productivity gap by combining:
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
- Role-aware curriculum generation
- Retrieval-augmented responses grounded in uploaded organizational documents
- Tool-aware orchestration over WebSockets
- Local-first inference support for privacy-sensitive deployments
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
The runtime is intentionally distributed: Django manages state and governance, while a dedicated inference service handles model-intensive workloads.
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
Key features:
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
- Distributed architecture separating application control plane and inference plane
- Multi-agent style orchestration for curriculum, knowledge, assessment, and monitoring behaviors
- RAG pipeline with semantic chunking, embeddings, and pgvector retrieval
- Live onboarding session updates via Django Channels WebSockets
- Persistent session/progress storage for auditability and recovery
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
## Architecture
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
High-level architecture diagram:
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00

2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
Key backend runtime entry points:
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
- `apps/onboarding/consumers.py` for orchestration loop and WebSocket flow
- `apps/onboarding/mcp.py` for tool routing and backend tool execution
- `apps/knowledge/tasks.py` for ingestion/chunking/embedding workflow
- `gpu_server.py` for inference and embedding endpoints
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
## Quick Start
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
Prerequisites:
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
- Docker Engine or Docker Desktop
- NVIDIA drivers and NVIDIA Container Toolkit (for GPU inference)
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
1. Clone repository
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
```bash
git clone https://git.cs.bham.ac.uk/projects-2025-26/vxn217
cd vxn217
```
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
2. Create environment file
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
PowerShell:
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
```powershell
Copy-Item .env.template .env
```
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
CMD:
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
```cmd
copy .env.template .env
```
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
macOS/Linux:
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
```bash
cp .env.template .env
```
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
3. Start development stack
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
```bash
docker compose -f compose/dev/docker-compose.yml --env-file .env up -d --build
```
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
4. Open application
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
- http://localhost:8000
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
## Usage/Smoke Test
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
Follow this end-to-end workflow to use the project and to run the smoke test:
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
1. Create or select an organization and role
2. Upload role-specific training files
3. Wait for ingestion and embedding to complete (monitor the ingestion UI or logs)
4. Invite a user to the configured role
5. Log in as that user and start onboarding
6. Complete at least one guided interaction and one assessment action
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
Expected behaviour:
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
- Workflow completes without manual page refresh
- UI state transitions update live
- No dropped WebSocket session during onboarding
2026-03-07 18:05:49 +00:00
2026-03-16 20:14:19 +00:00
## Project Structure
2026-03-07 18:05:49 +00:00
2026-03-16 20:14:19 +00:00
- `apps/accounts` user, organization, and role membership logic
- `apps/knowledge` training file ingestion and vector document persistence
- `apps/onboarding` sessions, orchestration runtime, and tool integration
- `config` Django settings, routing, ASGI/WSGI wiring
- `compose` development and production container configuration
- `site` frontend application
- `docs` architecture and deployment documentation
2026-03-07 18:05:49 +00:00
2026-03-16 20:14:19 +00:00
## Demo Access
2026-03-07 18:05:49 +00:00
2026-03-16 20:14:19 +00:00
Hosted URL:
2026-03-07 18:05:49 +00:00
2026-03-16 20:14:19 +00:00
- https://fyp.viswamedha.com
2026-03-07 18:05:49 +00:00
2026-03-16 20:14:19 +00:00
Evaluation credentials:
2026-02-26 01:32:04 +00:00
| Role | Email | Password |
| :--- | :--- | :--- |
2026-03-16 20:14:19 +00:00
| Admin | admin@example.com | admin |
| Manager | haleisaac@example.com | password |
| User | j.thompson@example.com | password |
2026-02-26 01:32:04 +00:00
2026-02-27 02:09:54 +00:00
Manager registration code: `MANAGER2026`
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
## Operational Commands
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
Stop services:
2026-02-27 02:09:54 +00:00
```bash
2026-03-16 20:14:19 +00:00
docker compose -f compose/dev/docker-compose.yml --env-file .env down
2026-02-27 02:09:54 +00:00
```
2026-02-26 01:32:04 +00:00
2026-03-16 20:14:19 +00:00
Tail logs:
2026-02-27 02:09:54 +00:00
```bash
2026-03-16 20:14:19 +00:00
docker compose -f compose/dev/docker-compose.yml --env-file .env logs -f
2026-02-27 02:09:54 +00:00
```
2026-03-16 20:14:19 +00:00
Run migrations:
2026-02-27 02:09:54 +00:00
```bash
2026-03-16 20:14:19 +00:00
docker exec -it fyp-django-dev python manage.py migrate
2026-02-27 02:09:54 +00:00
```
2026-03-16 20:14:19 +00:00
Reset seeded passwords:
2026-02-26 01:32:04 +00:00
```bash
docker exec -it fyp-django-dev python manage.py reset_passwords
```
2026-03-16 20:14:19 +00:00
## Screenshots
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
Home:
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00

2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
Organization:
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00

2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
Onboarding generation state:
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00

2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
Onboarding content flow:
2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00

2026-02-27 02:09:54 +00:00
2026-03-16 20:14:19 +00:00
## Documentation
2026-02-26 01:32:04 +00:00
2026-02-27 02:09:54 +00:00
- [Distributed Runtime Flow ](docs/distributed-runtime-flow.md )
2026-03-16 20:14:19 +00:00
- [Application Structure ](docs/application-structure.md )
2026-02-27 02:09:54 +00:00
- [Deployment Topologies ](docs/deployment-topologies.md )