← Back to Projects

NFL Predictor - AI-Powered Game Predictions

Role: Full-Stack Developer • Year: 2025 • Status: Production
React Native Python/FastAPI Machine Learning Node.js PostgreSQL MongoDB Redis

Project Overview

NFL Predictor is a sophisticated sports analytics platform that combines advanced machine learning models with gematria numerology to generate NFL game predictions. The application features an ensemble of ML models (Random Forest, XGBoost, Neural Networks) trained on historical NFL data, complemented by gematria analysis using multiple cipher systems.

The platform is built as a monorepo with three distinct services: a React Native mobile application, a Node.js backend API for orchestration and business logic, and a Python-based ML service for predictions and data science operations.

3
Services (Mobile, API, ML)
4
ML Models (Ensemble)
3
Subscription Tiers
15+
Engineered Features

Key Features

Multi-Model Machine Learning System

Gematria Analysis Engine

Subscription System

User Features

Technical Implementation

Mobile Application (React Native + Expo)

Backend API (Node.js + Express)

ML Service (Python + FastAPI)

Database Architecture

Complete Tech Stack

Frontend (Mobile)

React Native, Expo SDK, Redux Toolkit, React Navigation, React Native Paper, Axios, AsyncStorage

Backend API

Node.js, Express.js, PostgreSQL (pg), MongoDB (mongoose), Redis (ioredis), JWT (jsonwebtoken), Stripe SDK

ML Service

Python 3.10+, FastAPI, scikit-learn, XGBoost, TensorFlow/Keras, Pandas, NumPy, SQLAlchemy, Redis (redis-py)

External Services

Stripe (Payments), ESPN API (Game Data), The Odds API (Betting Lines), OpenWeather API (Weather Data)

Deployment

Netlify (Mobile PWA), Railway (Backend + ML Service), Docker, PostgreSQL (Managed), MongoDB Atlas, Redis Cloud

Development Tools

Docker Compose, npm workspaces, Git, Nodemon, Python venv, Jupyter Notebooks (Model Development)

Machine Learning Pipeline

Feature Engineering

The prediction system leverages 15+ engineered features extracted from historical NFL data:

Model Training Process

Challenges & Solutions

Challenge: Coordinating three distinct services (mobile, backend, ML) with different tech stacks and ensuring reliable communication.

Solution: Implemented a clear service boundary architecture with the Node.js backend acting as an orchestration layer. Used Redis for shared caching and implemented comprehensive error handling with retries for ML service calls.

Challenge: Managing subscription tiers and enforcing feature access across all endpoints.

Solution: Created reusable middleware functions that check subscription status and tier-specific limits. Implemented a centralized subscription service that handles all Stripe interactions and maintains consistent state across databases.

Challenge: Handling expensive ML predictions while maintaining responsive API performance.

Solution: Implemented multi-layer caching strategy using Redis with different TTLs for different prediction types. Pre-computed predictions for upcoming games and cached individual game predictions for 30 minutes.

Challenge: Training ML models with limited historical data while avoiding overfitting.

Solution: Used ensemble learning to combine multiple model types, implemented cross-validation, and engineered robust features based on domain knowledge. Weighted recent games more heavily to adapt to changing team dynamics.

Results & Impact

Successfully launched a production-ready NFL prediction platform with:

The project showcases advanced skills in machine learning, backend architecture, mobile development, payment processing, and system design - demonstrating the ability to build complex, production-ready applications from concept to deployment.

Future Enhancements