
Hi, I'm Nate!
Book a Coffee ChatAbout
Full-Stack Software Engineer
Tech Stack
Projects
AI/ML Platform
ShotTracker
A basketball shooting analytics app that lets users upload or record training videos. A custom-trained YOLO model analyzes footage to detect makes and misses, then computes shooting statistics including percentage, total attempts, and trends over time.
DECISION LOG
THE CHALLENGE
Detect basketball makes and misses from user-uploaded video with varying angles and lighting.
THE TRADE-OFF
OpenCV, a pre-trained model, or a custom-trained YOLO model on basketball-specific data.
THE DECISION
Trained a custom YOLO model via Ultralytics on a basketball shooting dataset.
WHY?
Custom training delivers far better accuracy for this niche task, and YOLO's speed makes video processing practical on-device.
Productivity Tool
Deep Work Blocker
Inspired by Cal Newport's Deep Work, this productivity app helps users schedule focused work blocks, track deep work sessions, and measure productivity over time. Built with Supabase for persistent data storage and real-time session tracking, giving users a personal dashboard to optimize their focus habits.
DECISION LOG
THE CHALLENGE
Needed a tool to schedule focus sessions, log deep work blocks, and track productivity trends over time.
THE TRADE-OFF
localStorage for simplicity, Firebase for quick setup, or Supabase for a Postgres-backed relational store.
THE DECISION
Built on Supabase with SQL schemas for session logs and productivity metrics, deployed on Vercel.
WHY?
Supabase's relational model makes it easy to query trends like weekly averages and streaks — something a document store would struggle with.
Business Tool
Sales Dashboard and Inventory Management System
A full-stack inventory and sales management system that tracks product stock, manages customer–sales rep relationships, and monitors active orders. Features a Node.js backend connected to Supabase with custom database schemas, and Firebase Authentication for secure role-based login.
DECISION LOG
THE CHALLENGE
Track inventory, customer-rep relationships, and orders in one place with role-based access control.
THE TRADE-OFF
Custom SQL + auth, Firebase for everything, or Supabase for data with Firebase for auth.
THE DECISION
Supabase for the database with custom schemas, Firebase Auth for login and role management.
WHY?
Supabase gives relational data integrity with row-level security. Firebase Auth handles multi-provider login out of the box. Best of both worlds.
Sports Platform
DraftScouterHQ
An NBA draft intelligence platform built for in-house decision makers within an NBA organization. Aggregates player analytics, scouting reports, and statistical profiles from top-ranking draft sources to build a consensus view — giving front office staff a data-driven edge come draft day.
DECISION LOG
THE CHALLENGE
Draft decisions rely on scattered scouting data. Needed one tool to scrape, rank, and compare prospects across trusted sources.
THE TRADE-OFF
Manual curation, a single paid data provider, or an automated multi-source scraping pipeline.
THE DECISION
Built a Firecrawl-powered pipeline that scrapes top draft sites, normalizes the data, and generates consensus rankings.
WHY?
Automated aggregation removes bias and scales to new draft classes without rework. Multiple sources beat relying on any single outlet.
Sports Platform
College Basketball Player Development Dashboard
A data-driven tool built for college basketball coaches and trainers to evaluate player performance, track development over time, and build targeted training plans. Scrapes statistical data from the web, normalizes it, and presents it through an intuitive dashboard designed to turn raw numbers into coaching decisions.
DECISION LOG
THE CHALLENGE
College basketball stats are spread across sites with no unified API. Coaches needed one dashboard to track players and plan training.
THE TRADE-OFF
Manual data entry, a paid sports API, or a custom web scraper.
THE DECISION
Built a custom scraper to pull college stats from public sources, then displayed them in a React dashboard for coaching workflows.
WHY?
Scraping gives full control over which metrics to collect and how to present them. Paid APIs didn't cover the college-level data coaches actually need.
Sports Platform
DailyGolazo
A soccer data platform that integrates with a third-party sports API to pull live standings, match schedules, and video highlights across top European leagues and major tournaments. Handles paginated API responses, embedded video content, and dynamic data rendering for a seamless fan experience.
DECISION LOG
THE CHALLENGE
Fetch and display live soccer standings, fixtures, and video highlights from a rate-limited third-party API.
THE TRADE-OFF
Call the API from the client, build a proxy server, or add a caching layer with background fetches.
THE DECISION
Built a Node/Express backend to proxy requests, normalize responses, and serve clean endpoints to the React frontend.
WHY?
A backend proxy keeps API keys secure, handles rate limits, and shapes data before the client sees it — keeping the frontend simple.




