M4 Master BundesEcho Bringing visibility to the political echo.

Team

  • Zaynab
  • Merveille
  • Konstantin
  • Zidanie
  • Sonja

Supervision

Bruno Schilling
BundesEcho Tech Stack

Concept, Design & Version Control

Miro
Used during early project phases for collaborative brainstorming, idea mapping, and documenting conceptual decisions.

Figma
Served as the central design tool for UI concepts, component libraries, style guides, and the final high-fidelity interface.

Diagrams.net
Used to model the database structure through entity-relationship diagrams.

Postman
Primary tool for testing, validating, and debugging API endpoints during backend development.

Hugging Face
Used for researching and evaluating NLP and embedding models for data augmentation and RAG experiments.

GitLab
Central platform for version control and project coordination. Repositories for frontend and backend were managed alongside a Kanban board for task tracking and sprint planning.

Frontend Development

Angular
Used as the core SPA framework, combining JavaScript-based application logic with TypeScript’s static typing to improve code safety. Its component-driven architecture, routing, and state management enabled a structured and scalable frontend.

Apache ECharts
Used to implement interactive visualizations such as Sankey diagrams, gauges, pie charts, network graphs, and pictorial bar charts.

SCSS
Extended CSS with variables, nesting, and mixins to support a consistent and modular design system.

Backend Development

Python
Used for backend logic, data processing pipelines, and AI integration.

Django
Forms the core backend framework, providing REST APIs, database integration, and coordination between data processing and frontend requests.

drf-yasg
Automatically generates OpenAPI 3 documentation for the backend APIs.

PostgreSQL + pgvector
Stores structured data alongside vector embeddings, enabling efficient semantic similarity queries.

Ollama
Hosts locally deployed language models on the HTW ML server, handling inference for augmentation and summarization tasks.

Llama 3.1 (70B)
Used for contextual analysis and RAG-based summarization, selected for its strong performance on nuanced political language.

nomic-embed-text-v1.5
Embedding model that converts Q&A content into 768-dimensional vectors, supporting fast and accurate semantic search.

Apache HTTP Server
Acts as the web server hosting both the frontend and the backend application.

Gunicorn
WSGI server responsible for managing Django worker processes and handling incoming requests forwarded by Apache.