Creative Technologist

Building software that solves real problems

I design and build applications — from enterprise platforms to personal productivity tools to community infrastructure. Each project combines technical implementation with an understanding of how people actually work, learn, and connect.

These aren't side projects. They're production systems serving real users.

Productivity & Business Applications

Tools that help organizations and individuals work smarter

Task LMS — Enterprise Learning Management System

Built in 5 days.

A full-featured LMS for corporate training, supporting both internal employees and external partners.

The Challenge: CFO balked at the LMS vendor renewal. Instead of negotiating, I built a replacement.

Key Features:

  • SCORM 1.2 & 2004 compliance
  • Microsoft 365 and Google SSO
  • Role-based access (Admin, Instructor, Employee, Partner)
  • Quiz system with 8 question types
  • Automated certificate generation with public verification
  • Learning tracks for structured skill development
  • Bulk CSV import for users and enrollments
Next.js 14 Express.js PostgreSQL Prisma TypeScript

Scale: Designed for up to 10,000 users

TaskQueue — Cross-Platform Task Management

Philosophy: One task at a time. No exceptions.

A productivity app built around constraints. Most task managers let you accumulate hundreds of tasks you'll never complete. TaskQueue forces focus by limiting you to a single active task.

Platforms:

iOS (Production v1.5.0) Android (Dev v1.0.0) Web (Production v0.1.0)

Key Features:

  • Timer with countdown/count-up modes
  • Playlists (task queues) with completion rewards
  • Repeating tasks (daily, weekly, monthly, custom)
  • Projects with color coding
  • Team collaboration with shared projects
  • Cloud sync with conflict resolution

Tech Stack:

Swift / SwiftUI / SwiftData Kotlin / Jetpack Compose / Room Next.js 14 / PostgreSQL / Prisma

Budget Tracker — Personal Finance Application

A personal finance tool for tracking transactions, managing budgets, and setting financial goals.

Key Features:

  • Transaction management (income, expenses, transfers)
  • Hierarchical categories with parent/child relationships
  • Multiple account types (checking, savings, credit, investment, retirement)
  • Financial goals (savings targets, debt payoff, trip funds)
  • Dashboard with spending charts and budget progress
  • Receipt OCR capture for quick entry
  • CSV import for bulk transactions
Next.js 16 PostgreSQL Prisma Zustand Recharts Tesseract.js

JSJ Dashboard System — Customs Brokerage Analytics

Real-time visibility into customs operations by processing data from three CBP (Customs and Border Protection) systems.

Data Sources:

  • ABI (Automated Broker Interface) — Import entries
  • AES (Automated Export System) — Export declarations
  • DIS (Document Image System) — Document submissions

Key Features:

  • Transaction counts, values, port distribution
  • Cross-system entry lookup
  • HOLD/RELEASE tracking with clearance time analysis
  • Schedule B commodity breakdown
  • Automated daily sync from Windows server
  • Fixed-width EDI and XML parsing
Python 3.9 HTML/JavaScript JSON Bitnami LAMP

CRM System — Enterprise Customer Relationship Management

Modernization of a custom CRM for a 150-person customs brokerage firm.

Background: Originally built to replace a legacy IBM AS400 system. The company later evaluated Salesforce and HubSpot replacements — but couldn't find anything that fit as well. That decision has saved over $1 million in licensing costs.

Refactoring Work (with Claude):

  • Multi-environment detection (Production, Staging, Internal, Development)
  • Microsoft 365 OAuth integration
  • SSL certificates for internal domains
  • Deployment scripts for Bitnami server
  • OAuth diagnostic tooling
PHP MySQL/MariaDB Microsoft OAuth Bitnami LAMP

Community & Events Platforms

Technology that brings people together

OnStage Savannah — Live Entertainment Platform

A community events calendar and artist directory for Savannah, Georgia, powered by the Savannah Performance Alliance.

The Vision: Savannah's performing arts scene was fragmented — no central place to find what's happening. OnStage Savannah aggregates events from theaters, venues, and independent artists into one searchable platform.

Key Features:

  • Public events calendar with category filtering
  • Venue directory with maps and social links
  • Artist directory with bios and upcoming performances
  • Artist portal for event submission
  • Admin panel with full CRUD operations
  • Block-based page builder (18+ modular components)
  • Event scrapers for automated imports
Next.js 16 React 19 Sanity CMS NextAuth.js Tailwind CSS Leaflet

TEDxSavannah Speaker Review System

Built in approximately 24 hours.

A full-stack application for TEDxSavannah committee members to review, vote on, and discuss speaker applications.

The Problem: The committee was using spreadsheets and email chains. Applications got lost. Votes were inconsistent. The process was chaos.

Key Features:

  • Voting system (0-3 scale: Definitely, Intrigued, Meh, Not Interested)
  • Threaded comments on applications
  • Reviewer progress tracking with leaderboard
  • CSV import/export
  • Email notifications (welcome, reminders)
  • Application status workflow
Next.js 15 TypeScript Sanity CMS NextAuth.js SendGrid

Creative Tools

Software for performers and artists

CabaretPlayer — macOS Audio Player for Live Performance

A native macOS audio player designed specifically for cabaret performances, musical theatre, and live shows.

The Problem: Standard music players aren't built for live performance. You need rock-solid reliability, easy navigation under stage lights, and features like pause markers and lyrics sync that iTunes will never have.

Key Features:

  • Playlist management with drag-and-drop reordering
  • Pause/intermission track markers
  • Lock mode to prevent accidental changes during shows
  • Waveform display with scrubbing
  • Volume normalization across tracks
  • Gapless playback
  • Synchronized karaoke/lyrics system
  • Character parts with color coding (EMCEE, SALLY, etc.)
  • Full-screen lyrics display
  • LRC file import for timestamped lyrics
Swift SwiftUI AVFoundation

Supported Formats: MP3, M4A, WAV, AIFF, AAC, FLAC

Summary Statistics

8
Production Apps
5
Platforms
5
Languages
4
Databases

Web, iOS, Android, macOS, Windows  |  TypeScript, Swift, Kotlin, Python, PHP  |  PostgreSQL, SQLite, MySQL, Sanity CMS

Technology Expertise

Frontend

Next.js (14, 15, 16), React 19, SwiftUI, Jetpack Compose, Tailwind CSS

Backend

Express.js, Node.js, Python, PHP

Databases

PostgreSQL, SQLite (Room, SwiftData), MySQL/MariaDB, Sanity CMS

Authentication

NextAuth.js, Microsoft 365 OAuth, Google OAuth, JWT

Mobile

iOS (Swift, SwiftUI, SwiftData), Android (Kotlin, Jetpack Compose, Room)

DevOps

Vercel, Bitnami LAMP, SCP/SSH deployment, Cron scheduling

Philosophy

Build, Don't Buy (When It Makes Sense)

Off-the-shelf software works for generic problems. But when your workflow is specific, when you understand the domain deeply, when the existing tools don't quite fit — sometimes building is faster, cheaper, and better.

Task LMS took 5 days. The TEDxSavannah app took 24 hours. The CRM has saved over $1 million.

Constraints Drive Quality

TaskQueue's one-task-at-a-time rule isn't a limitation — it's the entire point. CabaretPlayer's lock mode exists because performers need it. Good software often comes from saying no to features, not adding them.

Creative + Technical = Better Solutions

Creativity without technical understanding produces ideas that can't be built. Technical skill without creative thinking produces solutions nobody wants to use.

The combination creates technology that's both buildable and valuable.

Let's Build Something

Whether you need a custom application, a platform for your community, or a creative approach to a technical challenge — let's talk.