// 01The Setup
Two weeks ago, I had an idea: What if I could build an AI system that predicts 15-minute price movements of Solana on Kalshi — a prediction market platform?
Not a full trading algorithm. Not a crypto hedge fund. Just: can an automated system, using real technical signals + real-time sentiment analysis, consistently predict whether SOL goes up or down in 15 minutes?
By April 12, 2026, the answer was yes. The system is live. It's trading real money.
Kalshi runs binary markets. You bet "yes" or "no" on whether something happens. For crypto, they offer KXSOL15M — a market that resolves to YES if SOL is higher in 15 minutes, NO if it's lower.
Most retail traders hate binary markets because you're forced to pick a direction. No hedging. No sizing down. You're right or you're wrong. But for an AI system, that's perfect. It's a classification problem: given all available data right now, will the next 15-minute candle close higher?
I sketched out 8 signals: RSI, EMA crossovers, volume spikes, momentum, Bollinger Bands, higher timeframe alignment, order book imbalance, and sentiment analysis via Perplexity + Gemini LLM. Combine them, score directionally, place a bet when confidence is high.
// 02Week 1: Everything Seemed Smart
I built pre-check.js (the signal scorer), analyze-sentiment.js (the LLM layer), and paper-trade.js to simulate trades without real money.
The first few trades were winners. I was gassed. The signals were working. Everything looked intelligent. Then I added a hard RSI filter. The logic was airtight: "If RSI is in a danger zone, skip the trade."
I paper-traded for a week with that filter active. The result?
Your best defense sometimes is your worst offense. That decision alone taught me more about real trading than a year of reading about it.
// 03The Data Starts Talking
I ran 69 paper trades. The stats engine broke down performance by session, direction, score bracket, and signal combination. The patterns were obvious.
Session Breakdown
| Session | Win Rate | Note |
|---|---|---|
| NY Afterhours | 68% | Golden window |
| NY Market | 59% | Solid |
| NY Evening | 38% | Disabled |
| NY Overnight | 38% | Disabled |
Direction Breakdown
| Direction | Win Rate | Decision |
|---|---|---|
| UP signals | 69% | Keep |
| DOWN signals | 45% | Disabled |
DOWN was a coin flip. UP was actually profitable. I could've spent months trying to make DOWN work. Instead, the data said: disable it.
Score Bracket
| Confidence Score | Win Rate |
|---|---|
| 60–64 | 50% |
| 65–69 | 50% |
| 70–74 | 54% |
| 75–79 | 75% |
| 80+ | 80% |
Higher scores = higher win rates. The system was working. The data was telling me exactly where to focus.
// 04The Risk Management Layer
By April 10, the engine was winning, but compounding was risky. After a 3-trade winning streak, the balance had compounded from $500 → $781. Then a single loss at full size brought it back to $585. Each rule below was added because the data showed a near-disaster that happened without it.
// 05Going Live
By April 12, I was confident. The system had been tested on 69 paper trades, risk management was solid, and the data was clear about what worked — UP in NY Afterhours at high confidence.
# live-trade.js — running on Lenovo ThinkCentre M75n (Ubuntu)
# Every 5 minutes:
1. Fetch SOL price data from Binance
2. Calculate all 8 signals
3. If confidence high → fetch news sentiment via Perplexity
4. If LLM agrees → place real order on Kalshi
5. After 15 min → resolve trade, update balance
# Total API cost: <$1/day
# Gemini Flash: effectively free at this volume
The system is now running 24/7. LIVE_TRADING_ENABLED=true. Starting balance: $500.
// 06What This Actually Teaches
Most posts about "building an AI system" skip the ugly parts. The filters that don't work. The directional asymmetry that contradicts your intuition. The moment you realize your best idea was your worst idea.
This isn't specific to trading. This is how you build any autonomous system — whether it's a trading bot, a customer service AI, or a content generation engine.
The framework:
- Build something that has a theory behind it. Don't ship random signals. Know why each one should work.
- Test it on simulated data. Paper trading is imperfect but it's not nothing. 69 trades told me what I needed to know.
- Look at the breakdowns. Session, direction, confidence level, signal combinations. The pattern is in the cuts.
- Delete everything the data says isn't working. The RSI filter was logically sound. It had a 9% accuracy rate. Delete it.
- Add risk management in response to real near-disasters. Not hypotheticals. Let reality inform your architecture.
- Go live small. $500 on Kalshi teaches me more than 1000 paper trades ever could.
// 07What's Next
The engine is live. I'm monitoring it daily. Once we have 30+ live trades with strong performance in NY Afterhours, we'll know if this actually works with real money — psychology, slippage, all the things that change between paper and live.
If it does, the next questions are: Can we apply this to other markets on Kalshi — BTC, ETH, macro events? Can we build prediction market bots for Polymarket, Metaculus? What happens when we expand the signal set?
But that's future work. Right now, the bot is live. The code is running. The results will tell us if we were right.