Fast is good. Thoughtful is better.

This project isn’t just about building features — it’s about sharpening my thinking as an engineer and designing systems that hold up when things get real.

In this post, I’m walking through the first desing of the architecture behind my app: what powers it, why I made certain calls, and how it all connects. If you’re a hiring manager curious about how I solve problems, a startup builder navigating similar decisions, or a developer knee-deep in your own stack — I think you’ll find something useful here.

🧱 1. The Big Picture: Small Services, Big Flexibility Instead of one giant codebase, I’m going modular with microservices. It’s clean, testable, and makes future scaling way less painful.

Here’s what will it consist of:

  • API Gateway – the traffic cop routing requests

  • User Service – login, signup, tokens (OAuth2 + JWT)

  • Prediction Service – stores and serves user-generated predictions

  • Match Data + AI Engine – collects live and upcoming game data and generates automated predictions

  • Analytics Service – logs events, tracks metrics, and gives me room to experiment

It’s intentionally lean but designed to expand as needed.

🌐 2. Frontend: Angular That Doesn’t Get in the Way I’m using Angular — partly because it’s in my toolbox, but also because its structure keeps things sane as the app grows.

I’ve broken the UI into feature and core modules, keeping shared logic in one place. API interactions are centralized, and I’m skipping heavy state management (like NgRx) for now — no need to overcomplicate until the app demands it.

Styling? TailwindCSS. Keeps things fast and clean.

⚙️ 3. Backend Stack: Practical and Proven For the backend, I’m going with tools that have stood the test:

  • Spring Boot – fast to spin up, easy to extend

  • Kafka – for async communication and event pipelines

  • PostgreSQL – solid, relational, dependable

  • Redis – great for caching and fast access when needed

This mix gives me reliability with enough flexibility to prototype and scale features without redoing the foundation.

☁️ 4. Infrastructure: Start Simple, Scale Later Right now, everything runs on CapRover — lightweight, efficient, and perfect for fast iteration. Cloudflare sits in front for HTTPS, routing, and security.

I am starting with GitHub Actions, and introducing Jenkins for more advanced pipelines where it makes sense.

Kubernetes is on the roadmap, but I’ll get there when the app (and users) demand it.

🔐 5. Built-In Security and Observability

  • I’m not leaving visibility or security for “later.”

  • Auth is handled with OAuth2 + JWT

  • API Gateway manages access and filters requests

  • Services enforce role-based logic

For observability:

  • Prometheus + Grafana for real-time metrics

  • Loki for logs

  • Alertmanager to stay ahead of issues

Next up on the roadmap:

  • A/B testing experiments

  • Tracking user journeys and conversion points

  • Adding versioning to the APIs

🧭 Wrapping Up This app is my lab — a way to learn by building and to build something that’s actually ready for the real world.

If you’re hiring someone who thinks deeply about system design, or you’re a founder wrestling with how to build without overbuilding — I’d love to trade notes.

In the meantime, I’ll keep building out the current vision and adapting as new challenges pop up — that’s half the fun.