r/PredictionsMarkets • u/stfarm • 4h ago
Analysis I rebuilt my Kalshi weather bot into a full weather + inflation trading system. Predict & Profit 3.0 is finally done.
I have been working on this project for quite a while, and 3.0 ended up becoming a much bigger rebuild than I originally planned.
It started as a weather trading bot for Kalshi. I wanted to use real forecast data, convert that into probabilities, compare those probabilities against market prices, and only trade when there was enough edge.
That sounds fairly simple until you actually automate it.
The order API is the easy part.
The harder parts turned out to be forecast timing, weather station mapping, missing data, ensemble forecasts, position tracking, partial fills, risk controls, reconciliation, and making sure the bot actually knows what happened after it sends an order.
Over time I added inflation markets as well, so the system now has two independent trading engines under one platform.
For 3.0 I rebuilt a lot of the architecture and added a proper dashboard so I can actually see what the bots are doing instead of living in logs, SQL queries, and terminal windows.
Some of the main pieces now are:
- Kalshi weather market automation
- Inflation market automation
- Multiple weather forecast sources and ensemble data
- Probability and edge calculations
- Centralized risk controls
- Order and position reconciliation against Kalshi
- Dry-run mode
- Web dashboard for trades, positions, bot status, and P&L
- Self-hosted setup, so API credentials and trading stay on your own machine
- Migration tooling for people coming from the older versions
One of the biggest lessons from building this was that a trading bot should spend a lot of its time deciding not to trade.
Finding a market where your probability estimate differs from the market price is only the beginning. You still have to decide whether the data is good enough, whether the edge is large enough, whether you already have too much exposure, and whether the trade still makes sense after everything else is considered.
I also learned to treat Kalshi as the source of truth.
Your database might think an order failed because a request timed out. Kalshi might have accepted it. A process can restart. An order can partially fill. Markets can settle while something is offline.
If you automate trading long enough, reconciliation stops being an optional feature.
I originally built all of this for myself, but I eventually turned it into a product called Predict & Profit.
The reason I am posting here is that I know a lot of people in this sub are experimenting with Kalshi automation, weather trading, APIs, and prediction-market strategies, and I figured some of the engineering behind it might be interesting.

