PortableMama is an AI-powered safety and advisory platform built with Spring Boot. It aggregates real-time open data (ski, weather, traffic) and enhances it using LLM-based analysis to provide smart, contextual recommendations for users.
- 🌨️ Ski Advisory: Snow conditions, slope data, safety warnings, and AI-generated recommendations
- 🌦️ Weather Risk Analysis: Real-time weather data with alerts and outfit/travel advice
- 🚦 Traffic Monitoring: Critical road events detection and categorization
- 🧠 AI Integration: Uses OpenAI (via LangChain4j) for intelligent analysis
- 🧩 Modular Architecture: Easily extensible AI components
PortableMama follows a component-based AI architecture:
- Each domain (ski, weather, traffic) is implemented as an independent AI Component
- A generic AI controller dynamically routes requests
- A shared LLM service layer handles all AI interactions
Client
│
▼
Controller (/api/ai)
│
├── SkiService
├── WeatherService
├── TrafficService
│
▼
OpenAIService (LLM)
- SkiService / SkiController – Ski area data + AI ski advice
- WeatherService / WeatherController – Weather risks and recommendations
- TrafficService – Critical traffic event analysis
- AdviceService – Combines multiple components into one AI response
- Controller – Generic AI dispatcher
-
OpenDataHub Tourism API
- Ski Areas
- Weather Realtime
- Weather Measuring Points
- Traffic Announcements
-
OpenAI API
- Java 17+
- Maven
- Internet connection (for APIs)
mvn spring-boot:runGET /api/ai?component=weather&latitude=46.5&longitude=11.3GET /api/ski/ai?latitude=46.5&longitude=11.3GET /api/weather/ai?latitude=46.5&longitude=11.3This project was developed as part of an academic software engineering / AI systems course, focusing on:
- Requirements engineering
- AI-assisted decision systems
- Modular backend architecture
- Responsible use of LLMs
- Meriem Bchini
This project is for educational purposes.
✨ PortableMama – Smart guidance for safer journeys ✨