Selected Work
Proof over volume
Projects that best represent how I build machine learning systems, research tools, and production-minded software.
Handwriting Recognition System
A production-grade deep learning application for reading cursive handwritten documents and transcribing them to plaintext. Features GUI, CLI, and Python API with custom training capability and GPU acceleration.
Problem
Most handwriting tools stop at toy OCR examples. The real problem is turning messy cursive documents into something usable without forcing users into a notebook-only workflow.
Approach
Built the system as three surfaces around the same core pipeline: a macOS GUI app, a CLI for automation, and a Python API. Added model packaging, offline-friendly distribution, batch processing, and optional GPU acceleration instead of treating inference as a one-off script.
Outcome
Produced a usable transcription tool rather than just a model checkpoint. The project now supports end-user installation, custom training, and multiple interaction modes for real document workflows.
Packomation — Room-Aware Move Planning App
A bare React Native iOS app for move planning with LiDAR room scanning, ARKit measurement, camera-backed item intake, and arrangement generation. Includes non-LiDAR fallback flows for room setup and dimension estimates.
Problem
Move-day planning is usually guesswork: room constraints, doorway clearance, and item dimensions are handled separately (if at all), which causes bad load plans and repeated rework.
Approach
Implemented a bare RN app with a local Expo native module for RoomPlan room capture and ARKit tap-to-measure, then layered an arrangement heuristic over the captured room geometry. Added camera media intake per item, automatic sensor matching, and a fallback chain for non-LiDAR runtimes.
Outcome
Delivered an iOS-first planning workflow that can run on real hardware with LiDAR and still remain usable on fallback paths in simulator/non-LiDAR environments, with EAS profiles in place for release builds.
Macforensic — Forensic Imaging Tool for macOS
A macOS forensic acquisition tool for raw disk imaging with manifest generation, hash verification, policy-gated live acquisition modes, and optional signing/timestamping workflows.
Problem
Forensic imaging on macOS is often ad hoc, error-prone, and missing chain-of-custody metadata. The challenge is acquiring evidence safely while preserving auditability.
Approach
Built a Python CLI that enumerates and validates sources, performs guarded imaging, computes and verifies SHA-256 digests, records acquisition context in a structured manifest, and supports optional Ed25519 signatures, RFC3161 timestamps, and APFS mapping documentation.
Outcome
Produced a repeatable acquisition workflow with integrity verification, preflight safety checks, mode-based risk controls, and portable release artifacts for field use and intake validation.
Anomalens — System and Network Anomaly Detection
A Go-first real-time system intelligence dashboard streaming host metrics at 1 Hz over WebSocket, with built-in anomaly scoring, local BoltDB persistence, and switchable live vs historical views in the web UI.
Problem
System dashboards are often either overbuilt enterprise products or shallow toy demos. The gap is a lightweight monitoring tool that still feels production-minded and reacts in real time.
Approach
Built a single-binary Go service with gopsutil collection, websocket broadcast, REST endpoints, and embedded frontend assets served via go:embed. Added local BoltDB persistence, a VIEW selector in the dashboard, source=db API reads for historical inspection, and a Python analysis workflow (make analyze / make analyze-up) for deeper offline runs.
Outcome
Shipped a practical observability tool with production-minded web ergonomics: real-time telemetry, persisted history replay, analyzable anomaly registry data, and self-contained deployment without external infrastructure dependencies.
The New Leaf Operations Stack
An operations-focused software stack for small retail/plant workflows, centered on a configurable React + TypeScript admin portal with Express + SQLite services and related operational tooling.
Problem
Small vendors need practical software for day-to-day inventory, sales history, orders, expenses, and reporting without adopting heavyweight enterprise tooling.
Approach
Built a reusable admin toolkit (tabbed inventory/sales/orders/expenses/events/reports) backed by an Express + SQLite API and configurable store metadata, plus adjacent planning tools for sourcing and operational decisions.
Outcome
Created a maintainable operations foundation that can be adapted per-store, run locally with minimal infrastructure, and extended incrementally as business requirements evolve.
Board Logs — Board Climbing Analytics Platform
A full-stack TypeScript climbing tracker with a rich analytics dashboard. Imports session logs from Excel, stores them in SQLite, and visualizes cumulative progress timelines, grade distributions, flash rates, attempt histograms, style mixes, and weekday training volume across multiple walls.
Problem
Climbers tracking board sessions in spreadsheets have no fast way to see trends across grades, walls, styles, or time — the signal is in the data but buried in rows.
Approach
Built a monorepo with a Vite + React frontend and an Express + SQLite backend. The seed pipeline imports an Excel climbing log on first run; the analytics endpoint aggregates across various chart types. Recharts handles rendering; interactive filters let users slice by date range, wall, grade, and style.
Outcome
Turned a flat spreadsheet into an interactive training dashboard that surfaces trends — grade plateaus, flash-rate improvements, overtraining by day — that would be invisible in a raw log.
cyoutube
A lightweight C++ desktop application with GUI for downloading YouTube videos. Features playlist support, real-time log output, and integration with yt-dlp.
Software Engineering Curriculum
A full semester Software Engineering course used at UNC Charlotte. Covers fundamental CS and software development concepts with practical projects and assignments.
Spirit Learning Platform
A Next.js App Router foundation for a spiritual learning platform, with core route scaffolding and a Prisma-backed data model for courses, modules, lessons, enrollments, and orders.
Experience
Where I've worked
Freelance
Apr 2024 – Present
Remote
Software Engineer
Contract work on software engineering and machine learning projects for various clients.
- Built multiple e-commerce platforms for small businesses, including custom product management systems and payment integrations
- Designed a recommender system for course learning pathways used by 10,000+ users
- Created a production-grade handwriting recognition system with GPU acceleration and custom training capabilities
Narrative.ai
Jan 2024 – Apr 2024
Remote
Contract Software Engineer
Contract work on software engineering projects.
- Built back-end services for real-time shipment tracking, including status ingestion, state management, and carrier data integration.
- Managed and maintained production databases, including schema design and query optimization for logistics data.
- Contributed front-end components for a logistics dashboard, improving shipment visibility for end users.
University of North Carolina at Charlotte
May 2022 – Aug 2023
Charlotte, NC
Graduate Research Assistant
Conducted research on optimization algorithms and reinforcement learning in a university setting.
- Built a research framework to evaluate second-order optimization algorithms
- Implemented and experimentally tested various replay buffer designs for continual reinforcement learning
- Converted multiple legacy MATLAB codebases to Python, enhancing maintainability and extensibility
University of North Carolina at Charlotte
Aug 2022 – Aug 2023
Charlotte, NC
Graduate Instructional Assistant
Assisted in teaching graduate software engineering courses and course management.
- Created adaptable software tools to automate plagiarism detection and course management
- Developed interactive exercises to simulate a complete software development life cycle
- Graded assignments and assisted students with course material
Hexagon Solutions
Jan 2022 – May 2022
Remote
Machine Learning Engineering Intern
Developed machine learning solutions for cybersecurity and network analysis.
- Scripted network log analysis tools to provide feedback for reinforcement learning agents
- Performed data analysis and visualization to identify and mitigate security vulnerabilities
- Added new features to a web application providing unified view of client security posture
Utah Tech University
Aug 2021 – May 2022
Saint George, UT
Undergraduate Research Assistant
Contributed to university-wide systems and led security research projects.
- Contributed to implementation of university-wide course scheduling & classroom placement system
- Spearheaded data analysis project to find optimal course enrollment sequences for students
- Led multiple security projects utilizing machine learning for advanced side-channel attacks
Utah Tech University
Jan 2021 – Jan 2022
Saint George, UT
STEM Outreach Program Instructor
Developed and instructed educational programs in cybersecurity, cryptography, and machine learning.
- Fully developed and instructed multi-tiered afterschool program on cybersecurity and cryptography
- Created curriculum for machine learning summer camp and chess camp
- Performed 3D printer maintenance and assisted in design process for hundreds of models
Graduate Education
Coursework
Graduate-level courses at UNC Charlotte — machine learning, systems, databases, algorithms, and more.
Skills
Core stack & specialties
Technologies I actively use across ML, systems, research, and production software.
Languages
8ML & Deep Learning
6Scientific Computing
7Research
6Web, Mobile & APIs
12Systems & Security
9Data & Databases
6Tools & Practices
8Communication
6About
Software Engineer. Builder.
I build applied machine learning systems, real-time software, and research-heavy tools.
- Location
- United States
- dgary416@gmail.com
- Phone
- (205) 515-7170
- Website
- david-gary.com
Contact
Get in touch
Interested in collaborating, hiring, or just want to talk AI? I'd love to hear from you.