Software Engineer

David
Gary

Machine learning, systems, and research-driven software.

United States

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.

PythonDeep LearningOCRPytorchmacOS

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.

React NativeTypeScriptiOSARKitLiDARRoomPlanEASVision Camera
Available on request

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.

PythonSystemsForensicsSecurity

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.

GoWebSocketsReal-time StreamingJavaScriptSystem Monitoring

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.

ReactTypeScriptNode.jsExpressSQLiteRetail OpsAnalytics

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.

ReactTypeScriptExpressSQLiteRechartsData Visualization

cyoutube

A lightweight C++ desktop application with GUI for downloading YouTube videos. Features playlist support, real-time log output, and integration with yt-dlp.

C++wxWidgetsGUIDesktop

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.

PythonJavaScriptFlaskSQLite

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.

Next.jsTypeScriptPostgreSQLPrisma
Available on request

Experience

Where I've worked

Freelance

Apr 2024 – Present

Remote

Software EngineeringMachine LearningRecommender Systems

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

Software Engineering

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

PythonOptimizationReinforcement LearningResearch

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

TeachingSoftware EngineeringAutomation

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 LearningSecurityData AnalysisPython

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

Machine LearningSecuritySystems DesignData Analysis

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

TeachingCybersecurityMachine LearningCurriculum Design

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

8
CC++GoHTML/CSSJavaScriptPythonSQLTypeScript
🤖

ML & Deep Learning

6
Computer VisionDeep LearningNLPOCRPyTorchSentiment Analysis
📐

Scientific Computing

7
JupyterMatplotlibNumPyPandasScikit-learnSciPySeaborn
🔍

Research

6
Computer Science EducationDistributed OptimizationExperimental ReproductionLow-rank Matrix OptimizationReinforcement LearningSignal Processing
🌐

Web, Mobile & APIs

12
ARKitDjangoExpoFirebaseFlaskNext.jsNode.jsReact/React NativeREST APIsSwiftUIWebRTCwxWidgets
⚙️

Systems & Security

9
CryptographyDigital ForensicsDistributed SystemsDockerEmbedded SystemsHardware InterfacesHPCReal-time StreamingRTOS
📊

Data & Databases

6
Data AnalysisData ModelingDatabase DesignMySQLPostgreSQLSQLite
🔬

Tools & Practices

8
DashGitMarkdownMLOpsPlotlySEOTailwind CSSVite
📝

Communication

6
App PackagingDocumentationLaTeXMarkdownResearch WritingTechnical Writing
DG

About

Software Engineer. Builder.

I build applied machine learning systems, real-time software, and research-heavy tools.

Location
United States
Email
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.