Ricky Johnson Ganta

ML / AI Engineer | Data Scientist

Building production-grade machine learning systems and analytics solutions

About Me

I'm an ML / AI Engineer and Data Scientist with 3+ years of experience building production-grade machine learning systems and analytics solutions. I specialize in machine learning, deep learning, NLP, and time-series forecasting, with strong experience in model deployment and MLOps.

My core stack includes Python, SQL, PyTorch, TensorFlow, Scikit-learn, Airflow, MLflow, AWS, and Snowflake. I focus on building scalable systems that solve real business problems and deliver measurable impact.

I'm currently seeking ML Engineer, AI Engineer, or Data Scientist roles in the US.

Key Projects

Deep dives with architecture, load-test proof, and live demos are in Case Studies below.

Real-Time ML Recommendation API

FastAPI service on MovieLens with Postgres, Redis-backed precomputed lists, hybrid collaborative + content scoring, Prometheus metrics, Locust load tests, and an A/B testing harness with significance testing on CTR.

FastAPI Redis PostgreSQL Locust Python
Read case study → GitHub →

Multi-Agent Research Assistant

LangGraph orchestration: planner, parallel web researchers, critic loop, synthesizer, citation check, and editor—Streamlit UI with SQLite trace logging and strict cost caps.

LangGraph Streamlit SQLite OpenAI-compatible LLMs
Read case study → GitHub →

Retail Demand Forecasting (Time Series + MLOps)

End-to-end retail demand forecasting with SARIMAX and Prophet, walk-forward validation, MLflow tracking, and a FastAPI forecasting service.

Key insight: Strong baselines matter—seasonal naive beat several complex models; best model reached 17.34% sMAPE on rolling validation.

Python SARIMAX Prophet MLflow FastAPI
View on GitHub →

Case Studies

Recruiters cannot click a private “live demo” behind auth—these pages summarize the problem, architecture, proof, and where to read the code.

Production ML systems

Scaling a Recommendation API to ~1,000 Requests per Second

Real-Time ML Recommendation Engine · FastAPI, Redis, PostgreSQL, Locust, Python

The problem

Serving personalized recommendations by recomputing heavy collaborative and content scores on every request does not survive bursty traffic. The goal was a read path that stays fast and stable while training, ingestion, and retrain jobs run on their own schedule—closer to how product teams ship recommenders in practice.

Architecture

Ratings and catalog data live in PostgreSQL. Ingest and offline/nightly retrain jobs read that ground truth, fit models (hybrid collaborative + content scoring in the online stack), and materialize ranked lists into Redis. The FastAPI app serves GET /recommendations/{user_id} from precomputed lists and cache-friendly paths so the hot read path avoids redoing full model math per request.

Data flows from Postgres through batch/retrain into Redis; the API serves reads from in-memory materialized state.

What I shipped

  • Two-stage pattern: offline training / retrain decoupled from the always-on read API.
  • Redis-backed materialization so recommendation retrieval stays an in-memory lookup on the hot path.
  • Read-heavy Locust runs: ~1,000 RPS, p95 ~56 ms, 0 failures over more than a million requests (local benchmark; see repo docs).
  • A/B harness with deterministic hash bucketing and two-proportion z-test style significance for CTR (see app/services/statsig.py in the repo).

Proof (load test)

Drop your cropped Locust stats PNG next to the site as assets/img/case-studies/locust-stats.png to mirror the README benchmark figure. Until then, the table below reflects the same recorded run documented in the repository.

Locust statistics table showing ~1000 RPS, p95 near 56 ms, and zero failures

Agents & orchestration

Orchestrating AI: a multi-agent LangGraph architecture

Multi-Agent Research Assistant · LangGraph, OpenAI-compatible APIs, Streamlit, SQLite

The workflow

Given a research question, a planner decomposes it into sub-questions. Researchers fan out in parallel (web search + summarization), results aggregate, a critic judges coverage and evidence and can request more retrieval, then a synthesizer drafts cited prose, a citation check pass runs, and an editor ships the final Markdown report—with bounded loops so the graph cannot spin forever.

Fan-out/fan-in research, bounded critic ↔ follow-up retrieval loop, then synthesis and citation-aware editing.

Observability & guardrails

  • SQLite-backed activity trace per node for debugging and interviews.
  • Strict per-query token and cost caps with conservative fallbacks on parser or search failures.

Visual proof (Streamlit)

Add high-resolution captures as assets/img/case-studies/mara-ui.png and assets/img/case-studies/mara-trace.png (Agent Activity Trace tab). If images are missing, use the live app link below.

Streamlit UI showing report view
Main report experience
Streamlit Agent Activity Trace tab
Agent activity trace

Technical Skills

Programming & Languages

Python SQL R JavaScript C++

Machine Learning & AI

Supervised Learning Unsupervised Learning XGBoost LightGBM Random Forest Decision Trees Logistic Regression Linear Regression CNN LSTM Transformers NLP Computer Vision Time-Series Forecasting LangGraph Multi-Agent Systems LLM Applications

Data Science & Analytics

Feature Engineering Statistical Modeling A/B Testing Model Evaluation SHAP Explainability

ML & Data Libraries

Scikit-learn TensorFlow Keras PyTorch PySpark Pandas NumPy SciPy

MLOps & Deployment

MLflow CI/CD Pipelines Model Monitoring Flask APIs FastAPI Docker Docker Compose Prometheus Locust

Data Engineering & Databases

Snowflake PostgreSQL Redis SQLite SQL Server Apache Airflow DBT ETL / ELT Pipelines Incremental Models Data Modeling Spark Hadoop (HDFS)

Streaming & Big Data

Kafka PySpark Real-Time Pipelines

Cloud & Platforms

AWS EC2 AWS S3 AWS Lambda AWS IAM AWS CloudWatch GCP BigQuery GCP Dataflow

Visualization & BI

Tableau Power BI Matplotlib Seaborn Streamlit

Web Development

JavaScript Web App Development FastAPI Flask

Dev & Tools

Git / GitHub Linux / Bash Virtual Environments Jupyter Notebook SQLAlchemy

IoT & Hardware

Arduino ESP32 C++ Firmware Sensor Integration Wireless Data Logging

Resume

Download my resume to learn more about my experience, education, and achievements.

Download Resume (PDF)

Get in Touch

I'm open to discussing ML Engineer, AI Engineer, or Data Scientist opportunities in the US.