Tempestas AI was born from the challenge of making sense of the "noise" in environmental IoT data. While standard sensors provide a snapshot of the present, they rarely offer a glimpse into the near future without complex, hard-coded statistical models.
This project was inspired by the need for a unified ecosystem where data flows seamlessly from hardware to cloud, and eventually to the user's pocket. My goal was to see if Large Language Models (LLMs) could act as zero-shot predictors for time-series data, treating sensor trends like a narrative that the AI can "complete."
How We Built It
We architected this project as a full-stack distributed system:
The Core: A FastAPI microservice handles the heavy lifting of AI inference, using Gemini 2.0 to process 60-minute windows of telemetry.
The Backbone: A C# .NET Web API manages the business logic, device authentication, and coordinates data flow between the sensors and the AI.
The Storage: PostgreSQL (via Supabase) serves as our "source of truth," storing historical records and device metadata.
The Interface: A React dashboard provides real-time visualization, while a React Native (Expo) app ensures users can monitor their environment on the go.
Challenges Faced
One of the primary hurdles was maintaining type safety across three different languages (C#, Python, and TypeScript). Ensuring that a sensor record sent from C# was correctly validated by Pydantic in Python and then rendered accurately in React required a strict shared interface.
Additionally, ensuring the AI understood the "physics" of the data was critical. To help the model, we implemented a windowing logic where the prompt includes the current time t and asks for a prediction at t+60 min.
What We Learned
We mastered the art of Structured AI Outputs. We also learned that instead of asking an AI to "return JSON," it is far more effective to provide a rigid JSON Schema. This ensures that the output y always maps to the expected interface I, such that: y∈{x∣valid_schema(x,I)}
Tech Stack
Backend & Services
C# .NET 8: The primary backend handling business logic, API orchestration, and database interaction.
FastAPI (Python): Dedicated AI microservice for Gemini 2.0 and Ollama integration.
PostgreSQL: Relational database for persistent storage of telemetry and device logs.
Frontend & Mobile
React: Web dashboard featuring interactive charts and real-time data streaming.
React Native & Expo: Cross-platform mobile application for iOS and Android, providing push notifications for environmental alerts.
Artificial Intelligence
Google Gemini 2.5 Flash: High-speed cloud-based time-series forecasting.
Ollama (Phi-4-Mini): Privacy-focused local inference for offline or edge scenarios.
Deployment
Render: Cloud hosting for the FastAPI and .NET services.
Supabase: Managed PostgreSQL and Realtime engine.

Log in or sign up for Devpost to join the conversation.