Case Studies
How we actually build
Architecture decisions, real challenges, and the solutions behind every project we've shipped.
Full-stack CRM SaaS with AI email drafting
A commercial prospecting CRM built for sales teams — pipeline management, AI-powered email generation, no-code automation, and executive analytics. Built from scratch on a Clean Architecture foundation.
The challenge
The client needed a CRM that could replace three separate tools — a pipeline tracker, an email tool, and a reporting dashboard — into one coherent product. It had to support multiple users with role-based access, integrate with Brevo for transactional email and Airtable for data sync, and generate AI email drafts that actually sounded human.
What we built
Full-stack platform on ASP.NET Core 10 with C# 14 Clean Architecture — domain layer fully decoupled from infrastructure. React 19 frontend with TypeScript and TanStack Query for optimistic updates. Redis for session caching and rate limiting. PostgreSQL as the primary store with EF Core migrations. OpenAI integration for email drafting with custom prompt engineering tuned to the client's tone and industry.
Stack
Outcome: Full platform in production. AI email drafts reduced time-per-outreach by ~65%. Pipeline visibility replaced 2 manual spreadsheet workflows. The client expanded scope after first delivery.
AI marketing automation platform
A multi-tenant SaaS for AI-generated content and social media scheduling — LinkedIn, X, Instagram, TikTok — with team workspaces, billing, and an embeddable AI support agent.
The challenge
Build a platform that could handle multiple independent organizations (full tenant isolation), schedule posts across 4+ platforms with different APIs and rate limits, and offer AI content generation that fits each brand's voice. Billing had to support both Stripe and PayPal with annual/monthly switching.
What we built
Spring Boot 3 / Java 21 backend with a multi-tenant PostgreSQL schema (schema-per-tenant isolation). Next.js frontend with TypeScript for the dashboard. OpenAI and Anthropic models used in parallel — Anthropic for long-form content, OpenAI for short social copy. Redis queues for post scheduling with retry logic. Stripe + PayPal billing with webhook-driven subscription state. Embeddable AI support widget built as an isolated JS bundle.
Stack
Outcome: Platform live with paying tenants. Content generation pipeline handles 500+ scheduled posts per day. Embeddable support agent deployed on client's marketing site within 48h of delivery.
Multi-tenant SaaS backend with realtime sync
Production-grade Spring Boot backend powering the OreoEssentials plugin ecosystem — REST API, JWT + OTP auth, RabbitMQ event bus, WebSocket realtime layer, and PayPal payment integration.
The challenge
The plugin ecosystem had grown to the point where in-game actions needed to trigger web dashboard updates in real time. Multiple game servers needed to talk to the same backend without stepping on each other. Auth had to be secure enough for paying customers, not just a JWT with no refresh logic.
What we built
Spring Boot backend with a clean service layer. RabbitMQ as the event bus between game servers and the web layer — each server publishes events, the backend fans them out to connected dashboard clients via WebSockets. JWT + OTP two-factor auth with refresh token rotation. PayPal webhook integration for subscription management. Full OpenAPI spec generated at runtime.
Stack
Outcome: Dashboard updates reflect in-game actions in under 200ms. Zero auth incidents since deployment. PayPal integration handling live subscriptions with no manual reconciliation.
Modular Discord bot with Minecraft RCON bridge
Feature-rich Discord bot built in Go — moderation, support tickets, role automation, and a live Minecraft RCON bridge that lets staff manage game servers directly from Discord.
The challenge
Community servers need moderation that doesn't fall apart under load. Staff were jumping between Discord and in-game consoles to handle incidents. The bot had to be modular (enable features per server), persistent across restarts, and fast enough that slash command responses felt instant.
What we built
Go bot using DiscordGo with a module system — each feature (moderation, tickets, RCON, roles) registers itself as a command group. RCON client built in Go talking directly to Minecraft server processes. SQLite for single-server installs, MySQL for multi-server deployments. Commands respond in under 100ms cold.
Stack
Outcome: Deployed across 5+ live communities. Staff handle server restarts, bans, and player lookups without leaving Discord. Support ticket volume resolved 3× faster than the manual process.
Operator-first command suite for Minecraft servers
A production-grade Minecraft plugin replacing 4–6 separate dependencies — economy, homes, kits, chat formatting, scoreboards, cross-server sync — in one maintained, configurable system.
The challenge
Most server owners run 6+ plugins to cover basic commands. Every plugin update is a potential conflict. Config sprawl makes onboarding new staff painful. We wanted to ship one plugin that covered the whole operator surface with a single config file and a zero-conflict design.
What we built
Paper-ready Java plugin with a command framework built on top of Brigadier. Each feature is a module that can be toggled in config — operators who don't need economy can disable it without losing anything else. YAML config with hot-reload. Cross-server sync via Redis pub/sub for networks running BungeeCord or Velocity.
Stack
Outcome: Deployed on 10+ live servers. Reduced average plugin count per server from 6 to 1 for core commands. Active long-term support with no breaking changes across major Paper updates.
Animated NPC system with quest and dialogue engine
Interactive NPC framework integrating ModelEngine and MythicMobs — custom dialogues, quest logic, ray-trace interaction detection, and a full developer API for extending NPC behavior.
The challenge
Server owners wanted NPCs that felt alive — animated models, branching conversations, quest triggers — without writing Java themselves. Existing solutions either required heavy manual setup or didn't support custom 3D models. Integration with MythicMobs was critical for the mob health and AI layer.
What we built
Plugin that wraps ModelEngine for model rendering and MythicMobs for AI behavior, adding a dialogue system (branching conversations defined in YAML), quest trigger hooks, and ray-trace click detection for interaction. Developer API exposed for teams building on top of the system. Config-driven NPC creation with no coding required for standard use cases.
Stack
Outcome: Used in RPG and adventure servers with 100+ NPC instances running concurrently. No measurable TPS impact on standard hardware. Developer API extended by 3 third-party teams.
Match-3 game with custom Java game engine
An original match-3 puzzle game built entirely from scratch in Java with Swing — no game framework, no template. Custom engine, combo detection, scoring system, and visual feedback loop.
The challenge
Build a fully playable, polished match-3 game without using a framework — purely Java and Swing. The game loop, input handling, animation timing, combo logic, and scoring all had to be written from first principles. Performance had to hold up on low-spec hardware.
What we built
Custom game loop with fixed-timestep updates and variable rendering. Swing-based renderer with double-buffering to eliminate flicker. Grid-based match detection with BFS cascade for chain combos. Score multiplier system that rewards long chains. Animated tile swap and destruction with timed state transitions. All game state serializable for save/load.
Stack
Outcome: Fully playable with smooth animation at 60fps. Demonstrates ability to build from fundamentals — no dependency on engines or frameworks when the situation calls for it.
Multi-node Minecraft network topology
Proxy-aware multi-server architecture with health checks, automated deployment pipelines, and a routing posture built to grow without re-architecting.
The challenge
Growing networks outgrow single-server setups fast. Routing players to the right game mode, handling server crashes gracefully, deploying updates without taking the whole network down — none of this is solved by default Minecraft tooling.
What we built
Velocity proxy layer with custom plugin for routing rules and fallback logic. Pterodactyl for containerized server management with automated restart policies. Health check endpoints on each node polled by the proxy. Deployment pipeline that rolls new server jars across nodes one at a time with automatic fallback if the new jar crashes on startup.
Stack
Outcome: Network uptime improved from ~96% to 99.6%. Zero full-network outages since deployment. New game modes added without player-facing downtime.
Unified API layer across the OreoStudios product suite
Shared REST API serving the store, panel, plugin sync, and backend-side services — token auth, rate limiting, and cross-product contracts that keep the whole ecosystem coherent.
The challenge
Four separate products were each building their own auth and data sync logic, leading to duplicated code, inconsistent security, and painful maintenance. A unified API layer was the only way to scale the product suite without the overhead multiplying.
What we built
Spring Boot API with shared token auth (per-product API keys with scoped permissions). Rate limiter backed by Redis with per-key counters and sliding window. Versioned endpoints so products can migrate independently. Webhook delivery system for async event propagation between products. Full OpenAPI documentation generated from annotations.
Stack
Outcome: Eliminated 3 duplicate auth implementations. Cross-product data sync latency under 50ms. New products integrate in hours rather than days by reusing existing contracts.
Staff operations panel with live console streams
A real-time operations dashboard for Minecraft server staff — live console output, player management actions, server metrics, and incident-oriented controls in one surface.
The challenge
Staff were managing servers through the Pterodactyl console — not designed for player-facing ops work. They needed player lookups, kick/ban actions, and live server state without needing admin-level access to the full hosting panel.
What we built
Web dashboard consuming OreoAPI for player data and server state. WebSocket stream for live console output with filtering by severity. Role-based access — moderators see player controls, admins see console and config. Action audit log for every staff action with timestamp and actor. Mobile-responsive for on-call staff.
Stack
Outcome: Staff incident response time cut by 40%. Moderators no longer need hosting panel access — reduced attack surface. Audit log has caught 3 staff misconduct cases in the first 6 months.
Evidence-first async anti-cheat system
Performance-aware cheat detection built to stay inspectable under real player load — lower false positives, async checks, and evidence-first moderation flow so staff act on data, not suspicion.
The challenge
Most anti-cheat plugins fire on the main thread and flood staff with low-confidence alerts — leading to false bans and staff burnout. We needed detection that was fast enough to run async, confident enough to reduce noise, and transparent enough that staff could explain every action taken.
What we built
Async movement and combat analysis running on a dedicated thread pool — zero main thread impact. Confidence scoring per check type, with alerts only firing above a configurable threshold. Evidence packet: when an alert fires, staff see exactly what triggered it (movement delta, CPS, reach data). Flagging system with cool-down to avoid alert spam for the same player.
Stack
Outcome: False-positive rate under 4% on live servers. Staff act on evidence packets — ban appeals dropped 60%. TPS impact measured at under 0.3 on a 50-player server.
Have a project like this?
Tell us what you're building and we'll respond within 48 hours with a concrete proposal.
Start a project