Quicksand started as a weekend project to automate meme coin scanning and ended up becoming one of our most complex deployments. Here's the full story.
Why meme coins
They move fast, they're pattern-driven, and the data is public. For a trading bot project, that's a good sandbox. We weren't trying to get rich — we were trying to build something that could respond to signals faster than a human, log what it did, and be explainable enough to improve over time.
Picking Freqtrade
We evaluated three frameworks. Freqtrade won because it had a backtesting engine built in, a clean strategy API, and active community support. The learning curve is real — the configuration system alone took a few days — but once it clicks, it's the right tool.
The strategy
Our base strategy combines RSI, volume spikes, and social signal proxies. Nothing revolutionary. The insight wasn't the indicators — it was the entry/exit logic and the position sizing. Most retail traders blow up on sizing, not on finding signals.
We paper traded for three weeks before touching real funds. The paper trading results were not what we expected. Our win rate was fine. Our losses were too large. We tightened stop losses, reran, better.
Deploying on Railway
Railway is our default host for Python services. Freqtrade Docker image, environment variables for API keys, and a persistent volume for the SQLite database. The whole deployment was maybe two hours once the strategy was stable.
The catch: Railway's free tier sleeps containers. For a trading bot that needs to react in seconds, that's fatal. We're on the paid tier.
What we'd do differently
- 1.Start with backtesting before writing a single line of live strategy code
- 2.Build the logging first — you need a paper trail to improve
- 3.Don't tune on the same data you tested on
The bot is live, in paper trading mode, at 1/60th real capital. We'll write a follow-up when we go live.