Alpstein isn't just a dashboard—it's a distributed system built with microservices, real-time data pipelines, and AI analysis working in concert. Here's how information flows from news sources to actionable insights.
The journey starts with a NodeJS scraper running on a 2-minute cron cycle, monitoring crypto news sources around the clock. It pulls articles from four major publications:
These scrapers are coordinated by Prometheus and monitored with Grafana, OpenTelemetry, and Jaeger for performance tracking. Every scraped article gets timestamped, deduplicated, and pushed into a Redis queue for processing.
Raw articles flow from the Redis queue into the Golang LLM Service, which orchestrates the entire analysis pipeline. The LLM is equipped with tool-calling capabilities, meaning it can autonomously decide when it needs more context:
Articles are embedded using the all-mpnet-base-v2 model and stored in QdrantDB, building a growing semantic memory of the entire crypto news landscape.
The processed articles, combined with live market data from Binance (prices, RSI, EMA, SMA, volume), flow into the OpenAI LLM service. This is where the magic happens.
The AI doesn't just summarize—it analyzes. It considers:
The output is a structured opinion with transparent reasoning: position type (long/short/unclear), entry levels, take-profit zones, stop-loss points, and risk-reward ratios. Every recommendation explains why, not just what.
Everything gets stored for later analysis and audit trails:
When the AI generates a trading signal—with entry price, take-profit, and stop-loss levels—a Golang WebSocket client picks it up and starts tracking it against a live Binance price stream. Here's what happens:
Think of it as a paper-trading engine running on every AI signal. You can watch each recommendation play out live and judge the AI's accuracy before putting real money on the line.
The Golang HTTP Server acts as the central API gateway, serving processed analyses and market data to two frontends:
Both clients consume the same API and display the same data—pick whichever fits your workflow.
Running a distributed system means things can break in unexpected ways. Alpstein uses a full observability stack:
If something breaks, we see exactly where and why. If performance degrades, we know which service is the bottleneck.
Every piece serves a purpose. The polyglot design uses each language where it excels—NodeJS for async web scraping, Golang for high-concurrency backend orchestration, and Python-ecosystem tools (Langchain, Sentence Transformers) for ML and embeddings. Redis as a message queue decouples the scraper from the AI pipeline, so articles queue up naturally during traffic spikes instead of overwhelming the system.
The LLM tool-calling pattern means the AI decides when to fetch market data or search historical articles—no hard-coded heuristics, just an intelligent agent that pulls context when it needs it.
It's built to be reliable, observable, and fast—because in crypto markets, a few seconds can mean the difference between catching a move and missing it entirely.