Project Winterberry: Software Development [2021-2024]
1. Project Overview
A 3-year solo project to build a smarter Twitch chat moderating system, discontinued in 2024 during final MVP preparation. Key achievements:
- Functional pipeline for scraping, parsing, and serving IRC messages via REST API.
- Kubernetes-native deployment system with GitLab CI/CD and ArgoCD.
- Customizable streamer portal for historical chat analysis.
Technologies: Rust, Kubernetes/ArgoCD, Redis, Elasticsearch, GitLab CI, Docker (multi-arch), Python, Bash, Next.js, Tyk.
Source: winterberry
2. Technical Architecture
Implemented System
- Data Pipeline
- WeeChat IRC Client Controller (Rust): Extended the open-source WeeChat IRC client to synchronize Twitch channels with Redis via Pub/Sub.
- Rust Microservices: API layer for structured message access, integrated with Tyk API Gateway.
- Generic DB Observer Library (Rust): Reusable component to trigger actions on Redis changes.
- Infrastructure
- Kubernetes/ArgoCD Manifests: Declarative deployment for Redis, Elasticsearch, and message processors.
- GitLab CI/CD: Multi-architecture Docker builds, Testkube integration tests, and staged rollouts.
- Frontend
- Next.js Customization: Adapted OSS template for Supabase auth, Stripe subscriptions, and Backend API integration.
Data Flow
Twitch Chat → IRC Client → Redis (raw) → Elasticsearch (parsed) → REST API (Tyk + Rust)
3. Software Engeneering Practices
- Test-Driven Development
- Integration tests covering Redis/Elasticsearch interactions and API endpoints.
- Kubernetes failure recovery simulations (pod restarts, network partitions).
- Prototyping & Iteration
- Python/Bash scripts for initial PoC, later replaced by optimized Rust services.
- Reused OSS components (WeeChat, Tyk) to accelerate development.
- Project Management
- UML diagrams for system design and user stories.
- Version-controlled Kubernetes manifests and CI/CD pipelines.
4. Skill Demonstration
Backend/DevOps
- Rust microservices • Redis/Elasticsearch • Kubernetes/ArgoCD
- Multi-arch Docker builds • GitLab CI/CD pipelines • Testkube integration
Frontend
- Next.js customization • Stripe/Supabase integration • API design
Process
- OSS component integration • Infrastructure-as-Code • Prototype-to-production iteration
5. Conclusion
This project demonstrates:
- System Integration: Combined OSS tools (WeeChat, Tyk) with custom Rust services.
- DevOps Rigor: Production-grade Kubernetes deployment with automated testing.
- Practical Full-Stack Skills: From IRC protocol handling to subscription UX design.