Case Studies
Deep dives into real projects showing the challenges faced, solutions implemented, and measurable business outcomes achieved.
ClassCharts EdTech Platform
Scaling from startup to millions of users
The Challenge
I joined as the first developer alongside the CTO, when ClassCharts served a few dozen schools and tens of thousands of users. Eight years later it served thousands of schools and millions of teachers, students and parents across the UK education system, and Edukey Education had been acquired by TES Global. I was the engineer who stayed through that, not a founder.
The team grew from two of us to more than a dozen engineers, and I was one of four code owners on the main repository by the end. School software also has no quiet window to deploy into: load spikes at morning registration, at the end of the day and through report season, and a school that cannot take a register has no fallback. Every rewrite below had to happen underneath a running platform.
Key Technical Challenges
- Database performance bottlenecks with growing user base
- Real-time notifications for millions of users
- Complex permission system for schools, teachers, students, and parents
- Mobile app synchronization and offline capabilities
- GDPR compliance and data protection
Solutions Implemented
Frontend Modernization
- Rebuilt the legacy jQuery application in React and Redux
- Split features into separate micro apps, one at a time
- Owned the webpack build pipeline, with both stacks running side by side
Mobile
- Rewrote all three apps - teacher, student and parent - from native Android to React Native
- Six store listings across iOS and Android from one codebase
- Push notifications, offline handling and the release and signing pipeline
Infrastructure
- Containerised development and production with Docker, then moved onto Kubernetes
- Rackspace to GCP to AWS, from three servers to roughly 100 instances
- Migrated 40+ TB of images and assets between clouds, writing the migration tooling
Quality Assurance
- Introduced Cypress and the GitHub Actions workflows that ran it
- Built out unit and integration coverage and the CI deployment pipelines
- One of four code owners, reviewing work across the codebase
Business Impact
Engineering Outcomes
- Legacy jQuery application replaced by React without a big-bang rewrite
- Three native apps replaced by one React Native codebase on both platforms
- Development and production containerised, then orchestrated on Kubernetes
- End-to-end suite running against every pull request
Business Growth
- Grew from a few dozen schools to thousands across the UK education system
- Platform scaled to serve millions of teachers, students and parents
- Homework file submission with virus scanning shipped in under two weeks when schools closed for the pandemic
- Company acquired by TES Global
Technologies Used
Smart City IoT Platform
Backend architecture for a five-domain smart-city programme
Project Overview
Backend engineer on a smart-city programme. Five city domains were being built by several vendor teams at once, so the architecture had to give every team a bounded context with a clean API contract and a reference model they could build against, without waiting on each other.
Architecture
- 20+ microservices on Kubernetes, each with its own database and API
- APISIX as the API gateway, Keycloak for identity, GitLab CI for delivery
- Kafka event streaming from the IoT gateways, Cassandra for time-series sensor data, PostgreSQL and Grafana alongside
- Domain-driven design with clean contracts so several vendor teams could build in parallel
What I Built
- The platform services the city domains ran on: user, onboarding, notification, certification and mail, in NestJS and TypeScript
- Domain services such as smart parking, smart lighting, dashboard, marketplace and support
- C4 architecture models translated from an external consultancy's specifications, which became the reference the vendor teams built against
- Delivered in six months
Technical Stack
Philips, RWE & Innogy
Enterprise web products delivered through Cuibono Media Network
The Work
I was the engineer on a run of white-label builds for German enterprise clients, contracted through the agency Cuibono Media Network GmbH. The agency held the client relationship; I owned each build from planning through delivery.
Philips Metronomis Configurator
- B2B configurator where customers design their own Metronomis LED lighting poles
- PHP, MySQL, JavaScript, jQuery, Bootstrap
MyENMS Energy Management Platform
- Real-time monitoring across connected energy sources, built for Axxerion
- Virtual and physical energy meters, alerting and notifications, reporting
- PHP, Symfony, Silex, MySQL, jQuery
RWE Mint Music Awards
- Interactive voting and showcase web app for the awards campaign
- Visitors browsed the nominees and cast their votes for the duration of the campaign
Innogy Room Planner
- Interactive 2D planner: create rooms, place doors, windows and furniture
- Shipped in three months
Technologies Used
MarketAlerts
AI-powered market intelligence and trade ideas
Status: Defunct. The product was wound down; the marketing site at marketalerts.com is no longer active.
The product
MarketAlerts watched more than 20 global markets around the clock and turned SEC filings, earnings transcripts, official company releases, institutional research, market feeds, and news into signals investors could follow. The product joined those signals with watchlists, company analysis, trade discovery, screeners, alerts, and an AI analyst in one account across web and mobile.
A configurable daily workspace
- Dashboard modules could be enabled, disabled, dragged, and reordered
- Each module had filters for country, industry, market cap, and signal type
- Market indices, market commentary, watchlist movers, and watchlist updates
- AI earnings summaries, research analysis, and recent transcript coverage
- Insider, technical, financial, fund, politician, analyst, M&A, and auditor cards
- Trade ideas, earnings surprises, product launches, and guidance changes
Watchlists and broker portfolios
- Create multiple watchlists and add stocks through search
- Import holdings through SnapTrade and resync them later
- Interactive Brokers, Robinhood, E*TRADE, and Webull connection flows
- Live price, daily change, latest signal, and a 28-day chart for each holding
- Recent narrative and the previous three insights for every watched company
- Watchlist-wide alert rules instead of repeating setup for every stock
What I built behind it
Application platform
- Legacy React application and its Next.js replacement
- Expo and React Native apps for iOS and Android
- Express API with authentication, subscriptions, permissions, and admin tools
- Payload CMS and the MarketAlerts public website
- MyQuant public website as the product's continuation
- Product Hunt launch work and mobile-store delivery
Data and AI
- Python classifiers using hierarchical GPT models for financial events
- More than 100 financial-data API endpoints in a separate data monorepo
- Airflow on Kubernetes for ingestion, crawling, transformation and scheduled analysis
- ETL over FMP data, SEC filings, transcripts, research, and news
- OpenAI and Perplexity services for summaries, classification, research, and chat
- PostgreSQL and MongoDB for product data, with Redis handling jobs and caching
External systems
- SnapTrade for broker onboarding, holding import, preview, and resync
- Firebase Cloud Messaging for mobile alerts
- Telegram bot polling, account verification, and message delivery
- Stripe billing and plan-based feature access
Cloud and operations
- Docker and Docker Swarm for the application and worker services
- Redis-backed queues for alert processing and background work
- Monitoring and admin views for users, alerts, queues, and broker connections
- AWS-to-GCP migration across product and data workloads
Company research and trade discovery
Company analysis
- Search any supported stock and open its analysis page
- Rearrange the page once and reuse that layout across every company
- Price chart with explanations for the movements shown on the timeline
- Valuation, stock summary, business breakdown, and financial highlights
- Competitors, catalysts, news narrative, and earnings transcript summary
- Products, investment case, analyst views, and social sentiment
- Create a ticker alert or add the company to a watchlist from the same page
TradeSearch and screeners
- Long and short ideas filtered by country, market cap, and asset market
- Trend following, turnaround, growth, value, risk/reward, and technical strategies
- Insider, product, dividend, momentum, contrarian, event, and M&A strategies
- Save individual trade ideas and return to them in a dedicated tab
- Create reusable searches inside any signal category
- Combine signal families with either/or rules in the Smart Screener
- Keep a screener active so new matches appeared automatically
Alerts and the AI analyst
Alert builder
- Ticker alerts for one company
- Watchlist alerts for every company in a saved list
- Screener alerts when a new company matched the rules
- Research alerts for new work from selected providers
- Choose one or more signal triggers and a delivery frequency
- Email and Telegram delivery, plus iOS and Android push notifications
- Contact verification, delivery preferences, active-alert editing, and history
AI stock analyst
- Available from the persistent chat control across the application
- Questions about stocks, markets, catalysts, valuation, earnings, and risk
- Streaming answers backed by live web search
- Conversation context and history persisted across devices
- Voice recording with server-side transcription for paid accounts
- Markdown responses and clear-history control with visible plan-based limits
Signals the platform tracked
Company and earnings events
- Earnings-call summaries and official company press releases
- New product announcements and financial guidance changes
- Revenue, EPS, combined positive, and combined negative surprises
- Mergers and acquisitions
Ownership and institutions
- Insider transactions, repeat buys, clusters, PowerBuys, and large purchases
- Politician repeat buys and politician trading clusters
- Fund transactions, high-conviction positions, and whale buying or selling
- Analyst upgrades and downgrades
Technical and financial patterns
- Double and multiple tops or bottoms
- Head-and-shoulders and triangle break patterns
- Price breakouts, golden crosses, death crosses, price changes, and volume changes
- GROWTH, TANGIBLE, CASHCOW, and COMPOUND financial classifications
Risk, research, and market context
- Critical Audit Matters and Going Concern warnings
- Institutional research summaries and source links
- Market commentary assembled from market feeds and news
- Social sentiment and company-specific news narratives
Technology stack
Metis: AI Market Intelligence
Real-time News Aggregation & Trading Signals Platform
The Evolution
My own project, built and run solo, and a spin-off from Plutus, a personal trading platform. The goal was simple but ambitious: ingest news from thousands of sources in real time, understand it using AI, and correlate it with market data to find trading signals before the market reacts. Nobody was paying for it, so every architectural choice had to survive one person maintaining it.
Advanced Data Pipeline
- Ingestion: 5000+ RSS feeds, newsletters, and archives monitored 24/7
- Storage: Polyglot persistence using PostgreSQL (relational), ClickHouse (analytics), and Meilisearch (search)
- Queueing: Robust event-driven architecture powered by RabbitMQ and BullMQ
AI & Intelligence
- Classification: Auto-tagging topics and detecting relations between entities
- Summarization: LLM-powered summaries (OpenAI, Anthropic, Ollama)
- Market Data: Integration with Alpaca and Binance for real-time price feeds
The Tech Stack
Want this on your team?
Most of this was shipped from inside long engagements. If you are hiring for a senior seat, or need the same hands on a contract, the next step is a conversation.