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.
Share this project:

Updates