Matt Graba

Software Developer — Backend & Mobile

I'm a software developer building a full-stack fantasy basketball platform — a 16-domain API, dual-sport data pipeline, and custom scoring intelligence behind web and mobile clients — with experience across backend systems, APIs, data pipelines, and application architecture. I enjoy engineering reliable systems, solving real-world technical problems, and turning ideas into working products.

Fantasy Basketball Platform

Full-stack fantasy sports platform — 16-domain API, dual-sport data pipeline, proprietary impact-scoring engine, web + mobile clients

True Impact engine: multi-signal player scoring (box, efficiency, on/off, matchup) materialized nightly from play-by-play data

43 registered background jobs — idempotent, provider-scoped ingestion with singleton locking, retry/backoff, and self-healing gap detection

One complete playable gamemode shipped end-to-end: draft → generated slates → lineup lock → auto-allocation → idempotent settlement

TypeScriptPostgreSQLNext.jsReact Native
Dev Toolkit

AI-assisted debugging CLI published to npm (devtk) — BYOK-first, hardened through a documented security review and versioned v2 re-release

Owned the full engineering lifecycle: designed, shipped, security-reviewed, and re-released — findings published, every one remediated

Self-hostable Express/MongoDB backend with JWT auth, per-user rate limiting, and token-budget guards on every AI request

32-test suite across CLI and server (Jest, Supertest, in-memory MongoDB) introduced in the v2 hardening pass

Node.jsExpressMongoDBOpenAI
Drone Delivery Simulation

C++ logistics simulation with modular design patterns

Observer and Decorator patterns for extensible module composition

Battery management system for flight path optimization

Containerized builds with Docker, validated by unit tests

C++DockerUMLDesign Patterns
Background

Education

University of Minnesota — Twin Cities

Computer Science — December 2024

Systems & Architecture

Operating Systems

Computer Architecture

Machine Architecture

Algorithms & Data Structures

Software & Design

Software Engineering

Program Design & Development

Advanced Programming Concepts

Artificial Intelligence

Currently Seeking

Backend EngineerPlatform EngineerFull-Stack Engineer
Expertise

Technical Stack

Core Stack

Primary stack — fantasy basketball app

TypeScriptNode.jsExpressPostgreSQLPrismaRedis
Frontend

UI & component systems

ReactNext.jsTailwind CSSshadcn/ui
Architecture & Design

Design patterns & system thinking

Domain-Driven DesignBounded ContextsREST API DesignJWT / RBAC
Data & Pipelines

Storage, processing, and scoring

SQL Schema DesignIngestion PipelinesDeterministic ScoringData Normalization
Languages

TypeScript primary; others from coursework & systems work

TypeScriptPythonSQLC / C++Java
Infrastructure & Tooling

Build, deploy, and test

DockerGit / GitHubLinuxJestPostman
Project 01

Dev Toolkit

AI-Assisted Developer CLI

A BYOK-first CLI published to npm (devtk) that brings AI debugging to the terminal — analyze, explain, fix, generate, scaffold, and suggest commands, with project-aware context scanning that respects .gitignore and skips credential-shaped files. Ships with a self-hostable Express/MongoDB backend: JWT auth, per-user rate limiting, token-budget guards on every AI request.

Taken through the full engineering lifecycle: shipped to npm, then put through a systematic security review — every finding documented in a public retrospective and remediated in a versioned v2 release. The hardening pass introduced fail-fast secret handling, a 32-test suite spanning CLI and server, and a deliberate architectural decision to retire the hosted service in favor of BYOK and self-hosting.

Architecture

CLI (npm package)

cli/

commands/ — analyze, explain, fix, generate, scaffold, terminal

utils/ — config (0600 perms), local history, context scanner

BYOK — your key, direct to OpenAI; no account, no server

Server (Express)

server/ (self-hostable)

middleware/ — JWT auth → per-user rate limit → validation

services/ — prompt templates, token-budget guard

models/ — MongoDB schemas for users, history

terminal
~/projects$

CLI Commands

analyze

Boxed, line-referenced issue report

explain

Function-level explanation

fix

Bug detection + suggested patch

generate

Boilerplate code generation

scaffold

Project structure scaffolding

terminal

Suggests commands — never executes

JavaScriptReactExpressMongoDBNode.jsJest
Project 02 · In Active Development

Fantasy Basketball Platform

Full-Stack · Web + Mobile

A full-stack fantasy basketball platform built as a three-layer monorepo — core platform (auth, leagues, shared contracts), basketball core (ingestion, stats, scoring intelligence), and gamemode experiences composed on top. The API spans 16 domain modules and 59 database models, fed by a 43-job background system doing idempotent, provider-scoped ingestion across two associations (NBA + WNBA) — nightly box scores, injuries, season averages, advanced metrics, and 30-second live game polling driven by per-game sync scheduling. Daily ingestion self-heals: missed dates are detected and re-ingested automatically, and every write is idempotent by design.

At its center is True Impact, a custom player-evaluation engine that scores every player-game from four weighted signals — box production, efficiency, on/off impact, and matchup difficulty — materialized nightly from play-by-play data. One complete gamemode has shipped end-to-end (bracket-driven slates, minute-allocation lineups, lock-time auto-allocation, idempotent settlement and eliminations), and its window machinery is now being generalized into the flagship season-long head-to-head mode rather than rebuilt.

The repo runs on written governance: twelve engineering laws, ADRs for ingestion idempotency and provider scoping, dated scope-locked specs, and a maintained technical-debt register — audited against the codebase on a recurring basis. Clients: a Next.js web app (league management dashboard) and an Expo / React Native mobile app.

System Architecture16 Domain Modules · 3-Layer Platform
CORE PLATFORM

Auth, league/roster/matchup management, commissioner tooling, typed contracts at every boundary

BASKETBALL CORE

Dual-sport ingestion (NBA + NCAAB), 59-model normalized schema, canonical-vs-provider ID mapping

TRUE IMPACT

Multi-signal scoring intelligence — box production, efficiency, on/off, matchup — materialized from play-by-play

DRAFT

Real-time draft engine, pick validation, autopick, Redis + Postgres two-layer locking

EXPERIENCES

Gamemodes as format strategies over shared window machinery: generated slates → lock → hydrate → settle

Infrastructure Layer

Job Runner

43 registered jobs: singleton locking, retry/backoff with jitter, timeouts, Sentry capture

Self-Healing Ingestion

Daily gap detection re-ingests missed dates; every write idempotent by natural key (ADR-governed)

Live Sync

30s game polling driven by per-game due-sync timestamps, plus provider webhook ingestion

Redis + PG Locks

Two-layer pick safety: distributed mutex + Postgres FOR UPDATE with Lua token comparison

Zod Boundaries

API entry + ingest validation, domain-typed errors, z.infer<> type sync

TypeScriptNode.jsPostgreSQLPrismaRedisNext.jsExpoReact Native