AI‑assisted mood tracker with Pomodoro timer and Hygge‑inspired wellbeing tips, built with .NET MAUI and a .NET backend.
The mobile app is currently intended for Android.
Calmska lets you log how you feel in natural language; an AI model turns your text into a single mood and stores it in your history.
After at least five days of entries, the app can analyze your recent moods and suggest short, practical Hygge‑style tips tailored to your patterns.
A built‑in Pomodoro timer with background notifications helps you structure focused work and breaks alongside mood tracking.
- AI mood entry – type how you feel, get a single classified mood, and save it with one tap.
- Mood history & analysis – view past moods and trigger Hygge advice after enough recent entries.
- Pomodoro timer – configurable work/break sessions with a circular progress indicator and sound.
- Account & sync – email/password sign‑in backed by Firebase and a MongoDB‑based API.
- Settings – choose daily reminder time, toggle notifications, and manage basic preferences.
- Client: .NET MAUI (Android‑first), MVVM with CommunityToolkit.Mvvm, CommunityToolkit.Maui, Plugin.Maui.Audio.
- Backend API: ASP.NET Core minimal APIs, MongoDB via MongoDB.EntityFrameworkCore, API versioning, OpenAPI/Scalar UI for docs.
- Auth: Firebase email/password authentication.
- AI: HTTP chat‑completion API with a configurable host/model and an AI “firewall” that screens both prompts and responses.
- Clean Architecture, Dependency Injection, AutoMapper, MediatR, xUnit, Fluent Assertions, Moq
Requirements: .NET SDK with net10.0 support, MongoDB, Firebase project, AI (openai format) provider key, AutoMapper license key.
- Set configuration (environment variables):
mongoDbUri,mongoDbNamecalmska_firebaseApiKeyai_api_key,ai_api_host,ai_api_modelautomapper_key
-
Start the API:
cd Calmska.Api dotnet run
