Seven Defects in Four Months: What We Found When We Audited the Weather Bot
We ran the Weather Bot for four months, audited 112 completed trades, and found seven distinct defects. Here's what each one looked like in code.
Market analysis, bot updates, and automated prediction market trading strategy for Kalshi weather and inflation contracts.
We ran the Weather Bot for four months, audited 112 completed trades, and found seven distinct defects. Here's what each one looked like in code.
We ran a weather trading bot for four months and discovered the market already knew exactly what we thought we knew.
After 112 trades and a Brier score worse than guessing, we audited our custom weather ensemble and discovered NOAA already publishes a better version of it for free.
Our bot predicted 98% confidence and won 60% of the time. Here's the calibration failure that caused it, why overconfidence in binary markets is worse than admitting you don't know, and what we did about it.
Kalshi settles Chicago temperature contracts on Midway, not O'Hare. Here's how I found that out the hard way, and how to verify settlement stations programmatically before you trade.
Four months of automated weather trading, a $23 loss, and a Brier score worse than guessing. Here's the full post-mortem.
Google's WeatherNext 2 beats ECMWF on 97% of benchmarks and costs nothing. We tested it and said no. Here's the measurement that killed it.
Every losing trade my weather bot made fell in the DST window. Here is how I found it, what the code looked like, and the fix.
An honest accounting of what starting a technical side project at 60 actually looks like, the real advantages, the real disadvantages, and why the math still works.
A technical breakdown of Polymarket vs Kalshi for automated traders: regulation, liquidity, API quality, fees, and which platform actually makes sense to build on.
Product requirements documents written by non-engineers, for engineers who weren't consulted, describing features nobody asked for: a post-mortem on corporate spec theater and what I do instead.
Binary prediction markets settle to 0 or 100, and that mathematical simplicity is exactly why a data engineer can build a profitable model for them but not for equities.
A factual breakdown of NVIDIA's Kronos financial time-series foundation model: what the benchmarks actually show, where it earns the hype, and why it is not a trading signal.
A single wrong dict key in kalshi_client.py caused the Econ Bot to think it had zero open positions every time it checked, leading to repeated entries and phantom risk it couldn't see.
A direct technical comparison of psycopg2 and SQLAlchemy for trading bots, including the creator= pattern for peer auth and what the Predict & Profit bots actually use.
The actual Nginx config serving predictandprofit.io, explained line by line, with Let's Encrypt SSL and why a $6 VPS beats $50 managed hosting for a Next.js site.
Nine months of watching a bot lose trades I could have manually avoided taught me that the real skill in automated trading is not the algorithm, it is the discipline to leave it alone.
A real debugging story: how git bisect helped me find a silent regression in the weather bot that had been hiding for two weeks inside a commit called 'misc fixes'.
The absurdity of hiding automation at work, and what happens when you stop asking for approval and just build.
A real crontab walkthrough: how I use cron to run DB exports, generate blog posts, update results JSON, and health-check the trading bots without a single line of framework overhead.
ECMWF's AI Integrated Forecasting System is matching or exceeding the deterministic IFS on most skill metrics, and understanding why it works changes how you think about ensemble weighting.
The econ bot had two bugs that only showed up in production: a regime detection false positive and a strike consistency failure. Here is what I built to make sure they never come back.
Cron breaks Python scripts in four specific ways, and each one has a fix that takes less than five minutes once you know what to look for.
A data-driven comparison of ECMWF IFS and NOAA GFS model skill scores, with published RMSE verification data, and why the Weather Bot uses both.
A technical walkthrough of the Econ Bot's 5-source signal stack: how Cleveland Fed, FRED, BLS, BEA, and a homemade weighted nowcast combine into a single probability estimate for Kalshi CPI and PCE markets.
Enterprise architecture review boards exist to prevent mistakes, but somewhere they became the mistake.
How I use PM2 to keep both trading bots alive on a RackNerd VPS without babysitting them at 3am.
How the Econ Bot's regime change detector works: the threshold math, what triggers a close, and why it's the most important risk feature in the whole system.
A real walkthrough of the GitHub Actions workflow running predictandprofit.io, including the actual YAML, and why it runs in under 90 seconds while enterprise CI/CD takes 45 minutes to lint a semicolon.
Real observations of Kalshi market liquidity across the trading day, what thin books do to automated execution, and how the Weather Bot handles it without blowing up a position.
The exact pipeline that writes, formats, and publishes these posts automatically: cron, Python, Anthropic API, git push, GitHub Actions, Next.js rebuild, live.
Every new SSH session defaulting to Node 16 is a fixable problem, and the fix is one command you should run before you do anything else.
The Kalshi /portfolio/settlements endpoint, why settled trades go missing in the local DB, and the Python backfill script I use to reconcile everything.
The real Gumroad fee structure in 2026, what you actually net on a $97 sale, and how to keep more of it by driving your own traffic.
A practical guide to managing API keys across dev, staging, and prod without leaking secrets into git history.
How I translated the Predict & Profit bots from PostgreSQL with JSONB and peer auth to SQLite for customer distribution, and why SQLite is actually the right call.
Which subreddits actually drive conversions for a technical trading product, how to post without getting banned, and the real numbers behind 12 sales and $810 with zero paid ads.
How to pull NOAA AIGEFS forecast data directly from S3 using GRIB2 index byte-range tricks, and why NOMADS will eventually get you rate-limited into the ground.
The real costs and practical reasons behind ItsMoreThanSoftware LLC: liability separation, tax treatment, buyer trust, and what changed after selling Predict & Profit source code.
How Python's or operator on an xarray DataArray raises a silent ValueError that took down my AIGEFS integration before it ever ran a real trade.
How the Econ Bot's regime-change auto-close works, why I almost didn't ship it, and the testing path that made me confident enough to turn it on.
How to know your bot is still running at 3am without buying a monitoring SaaS: a heartbeat file, a lightweight HTTP endpoint, and a cron job that emails you when things go quiet.
My full git push to production workflow for solo Python projects: no Docker, no Kubernetes, no Jenkins, just SSH and a shell script that actually works.
How Kalshi winnings get taxed, what the 1099 threshold actually means, why you need your own records, and what changes when you trade through an LLC.
Real pricing, real tradeoffs, and the exact setup I use to run two trading bots and a blog on a $6/month VPS.
The exact Postgres setup, schemas, and backup commands running the Weather Bot and Econ Bot on a $6 RackNerd VPS.
The psychological cost of knowing the right answer and watching the wrong one get implemented anyway, for three decades.
Real numbers from the first few months of predictandprofit.io: hosting costs, Gumroad fees, time invested, first sale, and what marketing actually moved the needle.
The moment a buyer emails you at 11pm with a setup question is the moment your side project becomes a product, whether you are ready or not.
NOAA's AI-enhanced forecast system went operational in December 2025, and the accuracy numbers are significant enough to change how an ensemble-based trading bot should weight its sources.