Inspiration
The production process is dynamic, storage tanks fill at variable rates, materials flow unexpectedly, and transport schedules do not align with real usage all the time. To complicate things more, a difference between recorded output and delivered volume may point to loss, waste, or diversion for other purposes. We wanted to create a system that converts this continuously changing process to a transparent and verifiable system, with full visibility into levels in the tanks, transfers of materials, and flow patterns to prevent overflows, keep operations efficient, and account for every loss.
What it does
Our system provides real-time visibility and verification across all storage tanks. It displays current tank levels, detects transfer and drain events as they happen, and automatically compares them against reported transport records. When discrepancies appear, the system flags them immediately for review. It also forecasts future tank fill trajectories to prevent overflows and supports optimized scheduling for pickup and transport operations.
How we built it
Python: Used primarily for data ingestion, transformation, and modeling. Python scripts simulate the cauldron data stream, calculate brewing time, and run the time-series forecasting model for overflow prediction.
Elasticsearch: Functions as the magical data repository. It stores vast quantities of cauldron telemetry and allows for lightning-fast querying and searching.
Kibana: The Master Brewer's Dashboard. Used to visualize the real-time cauldron status, display the overflow prediction timelines, and map the optimal Ogre Courier routes.
Challenges we ran into
- Cauldrons are filling even while draining, so simple measurements were wrong.
- Live updating dashboards in Kibana required indexing & refresh
- Min count witch overflow prevention optimization problem.
Accomplishments that we're proud of
- Built a real-time operational dashboard
- Successfully detected real inconsistencies in the dataset using inferred flow behaviors
- Designed potion level icons & map visuals that feel simple, readable, and alive
- Used Deep Q-Learning to identify minimum witches required to prevent overflow
What we learned
Integrity Detection: We learned to isolate true drain events from continuous filling using the SlopeAnalyzer and calculate the actual volume collected (tank drop + volume generated during drain time) to flag ticket discrepancies.
Capacity Forecasting: We determined each cauldron's fill rate from historical positive slope data and used it to forecast time-to-overflow, which served as the hard time constraint for scheduling.
Logistics Optimization (VRP): We successfully modeled the challenge as a Vehicle Routing Problem with Time Windows (VRP-TW) to find the minimum number of witches required and generate overflow-preventing routes
What's next for Alchem-AI
- Real-time discrepancy alerts delivered via Slack or SMS to operators when loss or mismatch is detected.
- Dynamic scheduling and routing module that automatically generates optimal pickup routes based on tank forecasts.
Built With
- elasticsearch
- kibana
- python

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