skip to content
DR
▸ /projects · full catalog
22 projects

The full catalog, grouped by year.

Every meaningful repo or tool I wanted to keep around: products, internal systems, OSS, experiments, automation utilities, and game mods. Projects are grouped by start year, and each entry keeps its actual year range when work spanned multiple years.

products oss web apps ml systems automation mobile game mods utilities products oss web apps ml systems automation mobile game mods utilities
start year

2026

8 projects
  • Mobile app 2026

    DarkSpark

    A private Expo / React Native pass-and-play game for couples, with escalating phases, content libraries, haptics, audio cues, timers, anatomy-aware templating, and a Zustand-powered game engine.

    why it matters

    It shows product sensibility on a completely different surface area: mobile interaction design, game-state modeling, content systems, and emotionally specific UX.

    React Native Expo TypeScript Zustand Moti Haptics Speech
    repos / related code
    DarkSpark
    ui snapshot
    DarkSpark
  • Web app 2026

    DNADuck

    A local face identity extraction, clustering, and LoRA dataset-prep system. It scans image libraries, embeds faces with InsightFace, groups identities with SQLite-backed persistence, and supports review, merge, export, and training workflows via CLI, API, and WebbDuck plugin UI.

    why it matters

    It ties ML pipeline work, persistent data modeling, and operator UX together in a way that makes dataset curation feel like a usable product instead of a pile of scripts.

    Python FastAPI InsightFace SQLite scikit-learn OpenCV
    repos / related code
    DNADuck
    challenge

    Preparing image datasets for LoRA training is usually a messy manual process: identify subjects, de-duplicate, cluster, label, export, and keep track of what changed. DNADuck turns that into a repeatable workflow.

    approach

    I combined recursive scanning, face embedding, DBSCAN clustering, SQLite-backed persistence, moderation actions, export tooling, and training hooks into one local system with CLI, API, and WebbDuck plugin interfaces.

    system slice
    dataset pipeline
    ingest
    Image ScanInsightFace Embeddings
    grouping
    DBSCAN+Assignment LogicSQLite State
    ops
    CLI / Plugin UIReview / Merge / SearchLoRA Export
    train
    FastAPI ServiceKohya Training Handoff
    architecture
    • InsightFace embeddings and clustering pipeline for identity grouping
    • SQLite persistence for scans, images, identities, and training state
    • FastAPI service for review/search/export/training endpoints
    • WebbDuck plugin UI for character review and operator workflows
    • Kohya-oriented export and training handoff
    constraints
    • Everything needed to stay local and offline-friendly
    • Image libraries are messy, incremental, and constantly changing
    • The tool had to support both technical CLI usage and less technical review workflows
    outcomes
    • A local identity pipeline that goes beyond clustering into dataset operations
    • Search, merge, moderation, and export workflows that reduce manual curation friction
    • A stronger bridge between CV/ML infrastructure and usable app design
    what I would do next

    I would push further into richer review ergonomics, better active-learning style prioritization, and cleaner training experiment tracking.

    ui snapshot
    DNADuck
    StudioCharacters
    characters · 12 identities
  • Web app 2026

    DuckMotion

    A WebbDuck plugin for local Wan 2.2 image-to-video generation. It handles staging, model discovery, runtime compatibility, queue management, cancellation, and a plugin-local gallery in a multi-tab browser UI.

    why it matters

    It solves the messy part of local video generation: real GPU constraints, model-path ambiguity, runtime coordination, and a workflow people can actually use.

    Python FastAPI Diffusers Transformers ImageIO Vanilla JS
    repos / related code
    DuckMotion
    ui snapshot
    DuckMotion · Wan 2.2
    SetupCreateJobsGallery
    jobs
  • ML system 2026

    IntelliClean

    A GPU-backed image-cleaning pipeline composed of WD14 tagging, SAM2 masking, CLIP mask ranking, LaMa inpainting, and Stable Diffusion inpainting, orchestrated through Docker Compose services.

    why it matters

    This is systems-oriented ML engineering: multiple models, containerized services, image-processing handoffs, and practical cleanup workflows rather than just inference in isolation.

    Python Docker Compose SAM2 LaMa CLIP Stable Diffusion
    repos / related code
    IntelliClean
    project surface
    system view
    No dedicated browser UI.

    This project was primarily a pipeline, service, mod, infrastructure layer, or research workspace rather than a standalone web app. The value is in the workflow, orchestration, and implementation details.

  • Infra 2026

    llm-stack

    A local LLM/dev-assistant stack using Nix Flakes, process-compose, Ollama, and Open WebUI. One command brings up a usable model environment with auto-detected hardware mode and curated model pulls.

    why it matters

    It reflects the reproducibility thread across a lot of my work: get a useful local AI environment running quickly, consistently, and without snowflake setup steps.

    Nix Shell Docker Ollama Open WebUI
    repos / related code
    llm-stack
    project surface
    system view
    No dedicated browser UI.

    This project was primarily a pipeline, service, mod, infrastructure layer, or research workspace rather than a standalone web app. The value is in the workflow, orchestration, and implementation details.

  • AI platform 2026

    OpenDuck

    A secure cloud-hosted agentic outbound platform: FastAPI control plane, LangGraph orchestration, PostgreSQL + pgvector, Redis-backed workers, scheduler, and a React operations UI deployed on a DigitalOcean droplet with private Tailscale access to local Ollama.

    why it matters

    This is the clearest expression of my current thinking about agentic systems: human approvals where they matter, autonomy where learning loops need it, and infrastructure that is auditable instead of magical.

    Python FastAPI LangGraph PostgreSQL pgvector Redis React Vite Docker Tailscale
    challenge

    Most agent demos stop at “the model can do the task.” OpenDuck tackles the harder problem: how do you safely run autonomous outbound workflows in a production environment with approvals, auditability, queueing, and private model access?

    approach

    I split the system into a control plane, orchestration services, worker processes, scheduler, and a dedicated operator UI. The cloud-hosted stack runs on a locked-down DigitalOcean droplet, while local Ollama stays on a private machine reachable only over Tailscale.

    system slice
    control flow
    operator
    React Ops UIApprovals / Campaigns / Replies
    control
    FastAPI Control PlaneLangGraph Orchestrator
    execution
    SchedulerWorkersRedis
    state
    Postgres+pgvectorPrivate Tailscale path to Ollama
    architecture
    • FastAPI API for control, health, and operator workflows
    • LangGraph-based orchestration layer for agent behavior
    • PostgreSQL + pgvector for state and retrieval-ready storage
    • Redis-backed workers and scheduler for background execution
    • React/Vite glassmorphism UI for campaigns, approvals, replies, monitoring, and integrations
    constraints
    • Keep model inference private without co-locating everything on one machine
    • Allow autonomous action inside approved bounds without losing human oversight
    • Make the whole system auditable and reproducible instead of opaque
    outcomes
    • A real agent operations stack instead of a single-script automation demo
    • Explicit approval and review surfaces for high-risk actions
    • A foundation for experimentation with campaign learning loops, reply handling, and governed autonomy
    what I would do next

    I would keep deepening evaluation, campaign learning, and observability so the system can prove its behavior over time rather than just appear smart in the moment.

    ui snapshot
    OpenDuck
    Morning, operator.
  • Web app 2026

    PhoenixDraw

    A FastAPI + Alpine.js after-dark sandbox card-draw game that builds prompts for WebbDuck. Thirteen themed decks combine into prompts, send generations to WebbDuck, and let players frame, burn, or reroll results while tracking unlocks and collection progress in SQLite.

    why it matters

    It combines product design, content systems, prompt composition, live generation state, and gallery mechanics into a coherent game loop rather than a one-off image generator.

    Python FastAPI Alpine.js SQLite WebSockets
    repos / related code
    PhoenixDraw
    challenge

    Prompting can be powerful but tedious. PhoenixDraw reframes that workflow as a game: use constraints, randomness, and unlocks to make image generation feel playful and generative instead of blank-page-driven.

    approach

    I built a thin game layer over WebbDuck with deck-based prompt composition, mode-aware card pools, stateful collection tracking, gallery decisions, and live progress relay. The system treats the underlying model stack as a creative engine and the frontend as the game surface.

    system slice
    game loop
    front-end
    Alpine Game UIRound / Gallery / Collection
    game layer
    FastAPI Game LayerDeck LibraryGame Session Logic
    generation
    WebbDuck ClientWS Progress RelaySQLite Unlocks / Gallery
    architecture
    • FastAPI server for game state, collection, gallery, and proxy/model APIs
    • Alpine.js frontend for the round loop and card interactions
    • SQLite for unlocks, framed images, and progression state
    • WebSocket relay to WebbDuck progress events
    • Mode-aware content system for realistic, anime, hentai, cartoon, and furry sessions
    constraints
    • The experience needed to stay lightweight while talking to a heavier generation backend
    • Prompt randomness had to feel curated rather than chaotic
    • The game needed to support multiple visual styles without becoming a UI mess
    outcomes
    • A genuinely differentiated interface for image generation
    • A reusable content/deck model that can expand without code changes
    • A project that shows product design, content systems, and AI tooling can live in the same build
    what I would do next

    I would deepen the collection/progression loop and add stronger model-aware recommendations so the game gets smarter as the media stack expands.

    ui snapshot
    PhoenixDraw
    RoundGalleryCollection
  • Web app 2026

    WebbDuck

    A local-first SDXL studio built on FastAPI and Hugging Face Diffusers, with text-to-image, img2img, inpainting, smart extend, second-pass refinement, upscaling, LoRA and embedding management, and a searchable gallery backed by local files.

    why it matters

    It moves beyond “AI demo UI” territory into a real creative workstation: queue-based GPU orchestration, persistent asset history, plugin hooks, and workflows built for actual iteration.

    Python FastAPI Diffusers PyTorch WebSockets Vanilla JS
    repos / related code
    WebbDuck
    challenge

    Most local image-generation tools are either heavy, inflexible, or oriented around raw inference instead of iterative creative work. I wanted a local-first studio that felt practical to use every day.

    approach

    I built WebbDuck around a queue-first GPU worker, a lightweight FastAPI backend, and a zero-build browser UI. Instead of treating generation as a one-shot request, the system centers on repeatable workflows: generate, edit, extend, upscale, compare, and search outputs later.

    system slice
    generation flow
    studio
    Browser StudioFastAPI AppWebSocket Progress
    runtime
    QueueGPU WorkerPipeline Manager
    assets
    Models / LoRAsOutputs + MetadataPlugins
    architecture
    • FastAPI app with generation, queue, gallery, thumbnail, and health endpoints
    • Central GPU worker and pipeline lifecycle management for predictable VRAM usage
    • Filesystem-backed outputs with metadata sidecars and manifest-backed search
    • WebSocket updates for queue/progress state
    • Plugin hooks for captioners and companion web apps like DuckMotion and DNADuck
    constraints
    • Local GPU memory is finite and unpredictable across workflows
    • Creative iteration needs history, not just a latest image
    • The UI had to stay lightweight and hackable without a heavy frontend toolchain
    outcomes
    • A practical SDXL workstation with text-to-image, img2img, inpaint, smart extend, second pass, and upscaling
    • A foundation for multiple follow-on tools and plugins
    • A stronger local-first alternative to “just run a script” experimentation
    what I would do next

    I would continue investing in evaluation loops for generation settings, richer metadata exploration, and tighter multi-app coordination across the plugin ecosystem.

    ui snapshot
    WebbDuck · Local SDXL Studio
    StudioGallery
    queue · 2 pending
start year

2025

5 projects
  • ML system 2025

    ATS Simulator

    A lightweight Flask API that compares resumes against job text, extracts keywords, and returns relevance scores plus missing terms using spaCy, scikit-learn, and KeyBERT-style keyword overlap.

    why it matters

    Small but useful: it turns the black-box feeling of ATS screening into an inspectable system and sits naturally next to the broader resume tooling work.

    Python Flask spaCy scikit-learn pdfminer python-docx
    repos / related code
    ats-simulator
    project surface
    system view
    No dedicated browser UI.

    This project was primarily a pipeline, service, mod, infrastructure layer, or research workspace rather than a standalone web app. The value is in the workflow, orchestration, and implementation details.

  • ML system 2025

    Concrete

    A media-processing pipeline for construction-themed photo/video analysis and AI-generated summaries, using OpenCV, Whisper, Ultralytics, ffmpeg, and OpenAI-backed summarization flows.

    why it matters

    It shows applied multimodal work: take unstructured media, process it, summarize it, and turn it into something usable for a business workflow.

    Python OpenCV Whisper Ultralytics ffmpeg OpenAI API
    repos / related code
    concrete
    project surface
    system view
    No dedicated browser UI.

    This project was primarily a pipeline, service, mod, infrastructure layer, or research workspace rather than a standalone web app. The value is in the workflow, orchestration, and implementation details.

  • Automation 2025

    Lead Generation Toolkit

    A Python lead-generation utility that uses Google Places and Knowledge Graph APIs to gather businesses, enrich details, and filter leads by lightweight heuristics such as employee-count signals.

    why it matters

    This is practical automation work: aggregating messy external data into something a person can actually sell from.

    Python Requests Google Places API Knowledge Graph API
    repos / related code
    lead_generation
    project surface
    system view
    No dedicated browser UI.

    This project was primarily a pipeline, service, mod, infrastructure layer, or research workspace rather than a standalone web app. The value is in the workflow, orchestration, and implementation details.

  • Game mod 2025

    TCG CustomTextureReplacer

    A Unity/BepInEx mod for TCG Card Shop Simulator that live-replaces textures, sprites, meshes, materials, and card metadata with folder watchers, JSON overrides, hot reload, and debug dump tools.

    why it matters

    It shows low-level runtime engineering in a completely different context: patching a live game, preserving state, and building a modder-friendly authoring workflow.

    C# Unity BepInEx Harmony
    repos / related code
    TCG_CustomTextureReplacer
    project surface
    system view
    No dedicated browser UI.

    This project was primarily a pipeline, service, mod, infrastructure layer, or research workspace rather than a standalone web app. The value is in the workflow, orchestration, and implementation details.

  • Game mod 2025

    TCG GameSpeedController

    A Unity/BepInEx mod that changes game pace while keeping physics, player controls, and NavMesh-driven NPCs stable through careful timescale compensation.

    why it matters

    It is a compact example of systems thinking: global speed changes are easy, preserving believable behavior across the whole simulation is the hard part.

    C# Unity BepInEx
    repos / related code
    TCG_GameSpeedController
    project surface
    system view
    No dedicated browser UI.

    This project was primarily a pipeline, service, mod, infrastructure layer, or research workspace rather than a standalone web app. The value is in the workflow, orchestration, and implementation details.

start year

2024

2 projects
  • Automation 2024

    Animal of the Day

    An Azure Functions app that picks a random animal from Fandom, fetches supporting context from Wikipedia, cleans the text, and avoids repeats via SQLite tracking.

    why it matters

    A small but complete automation loop: scrape, enrich, normalize, persist state, and publish a reusable output.

    Python Azure Functions SQLite Requests BeautifulSoup
    repos / related code
    animal-of-the-day
    project surface
    system view
    No dedicated browser UI.

    This project was primarily a pipeline, service, mod, infrastructure layer, or research workspace rather than a standalone web app. The value is in the workflow, orchestration, and implementation details.

  • Web app 2024-2025

    IntellePrep

    An AI-assisted job-search product spanning a WordPress application, FastAPI generation services, PDF rendering, infrastructure, Chrome auto-fill extension, and job-search aggregation. It handled resumes, cover letters, interview prep, profile management, application tracking, and billing flows.

    why it matters

    It is one of the broadest product builds in the set: full-stack app work, AI generation, workflow automation, extensions, infra, and user-facing SaaS concerns all in one system.

    PHP WordPress Python FastAPI Playwright Docker Kubernetes JavaScript
    repos / related code
    intelleprep-site intelleprep-generator intelleprep-pdf intelleprep-infra intelleprep-chrome neuroprepai
    challenge

    Job search is full of repeated, demoralizing work: profile entry, resume tailoring, cover letters, tracking, and application form filling. IntellePrep was built to compress that loop into a usable product.

    approach

    I treated it as a real platform, not just a generator endpoint: a WordPress application for user experience and billing, Python services for content generation and PDF rendering, a Chrome extension for form fill, infra for deployment, and supporting job-search automation behind the scenes.

    system slice
    product stack
    product
    WordPress AppProfile / Billing / Dashboard
    services
    Generator ServicesResume / Cover LetterInterview Prep
    automation
    Chrome ExtensionApplication AutofillTracking Loop
    delivery
    Playwright PDFInfra / DeployJob Search Data
    architecture
    • WordPress/PHP app for accounts, dashboards, profile management, and billing surfaces
    • FastAPI-style generation services for resumes, cover letters, interview prep, and async task status
    • Playwright PDF service for document rendering and scraping support
    • Chrome extension for one-click application auto-fill
    • Supporting infra and job-search aggregation services across multiple repos
    constraints
    • Needed to feel like a product, not a pile of disconnected AI endpoints
    • Document generation had to be fast, personalized, and exportable
    • The workflow crossed multiple surfaces: web app, backend services, browser extension, and infrastructure
    outcomes
    • A broad AI-assisted job-search platform with profile, document, and application workflows
    • A concrete example of combining SaaS product design with AI generation services
    • A foundation that later informed later automation and agentic product ideas
    what I would do next

    Given more time, I would further unify the service boundaries, reduce WordPress-specific complexity, and push more of the experience into a purpose-built app shell.

    ui snapshot
    IntellePrep
    ProfileDocumentsApplicationsUpgrade
start year

2023

4 projects
  • Web app 2023

    Autogration Site

    A static Eleventy-based marketing site adapted from a Bootstrap landing-page theme and turned into a deployable branded company site.

    why it matters

    It reflects the product-marketing side of building: landing pages, positioning, and getting an idea legible to non-engineers.

    Eleventy Node.js Bootstrap
    repos / related code
    autogration-site
    ui snapshot
    Autogration
    Services · AI · Contact
  • Automation 2023-2024

    Codename Avenger - Precursor to IntellePrep

    An Azure Functions backend for job-application automation: scrapes job descriptions, prompts OpenAI for optimized resume and cover-letter JSON, generates interview prep, and formats outputs into documents. This was the earlier product direction that later evolved into IntellePrep.

    why it matters

    It is the clearest precursor to IntellePrep: an early attempt at turning repeated application work into structured AI-assisted workflows before the broader product matured.

    Python Azure Functions OpenAI API BeautifulSoup DOCX/PDF tooling
    repos / related code
    Avenger
    project surface
    system view
    No dedicated browser UI.

    This project was primarily a pipeline, service, mod, infrastructure layer, or research workspace rather than a standalone web app. The value is in the workflow, orchestration, and implementation details.

  • Utility 2023

    IMDb Lookup

    A Python/Azure Functions tool that scrapes IMDb actor data and uses lightweight NLP to infer whether the user is asking for age, height, death info, or known-for content.

    why it matters

    A good example of taking a narrow scraping problem and making the interface feel a little smarter than raw lookup-by-name.

    Python Azure Functions BeautifulSoup spaCy NLTK
    repos / related code
    imdb_lookup
    project surface
    system view
    No dedicated browser UI.

    This project was primarily a pipeline, service, mod, infrastructure layer, or research workspace rather than a standalone web app. The value is in the workflow, orchestration, and implementation details.

  • R&D 2023

    Spaceship Titanic

    A Kaggle competition environment with a containerized notebook stack and the usual EDA/modeling toolkit around pandas, scikit-learn, and visualization libraries.

    why it matters

    It captures the data-science side of the journey and the discipline of packaging exploratory work into a reproducible environment.

    Python Jupyter pandas scikit-learn Docker
    repos / related code
    spaceship-titanic
    project surface
    system view
    No dedicated browser UI.

    This project was primarily a pipeline, service, mod, infrastructure layer, or research workspace rather than a standalone web app. The value is in the workflow, orchestration, and implementation details.

start year

2022

2 projects
  • Utility 2022

    Advent of Code

    A small personal repo of Advent of Code solutions in Python, focused on parsing, transformation, and puzzle-solving loops.

    why it matters

    These are compact exercises, but they sharpen the parts of engineering that show up everywhere else: input handling, algorithmic thinking, and clean transformation steps.

    Python
    repos / related code
    Advent_of_Code
    project surface
    system view
    No dedicated browser UI.

    This project was primarily a pipeline, service, mod, infrastructure layer, or research workspace rather than a standalone web app. The value is in the workflow, orchestration, and implementation details.

  • Utility 2022

    Parse_Pom

    An experimental Python utility for parsing Maven `pom.xml` files and extracting dependency metadata such as `groupId`, `artifactId`, and `version`.

    why it matters

    It is a small repo, but it shows the habit of turning repeated parsing problems into code instead of manual inspection.

    Python XML
    repos / related code
    Parse_Pom
    project surface
    system view
    No dedicated browser UI.

    This project was primarily a pipeline, service, mod, infrastructure layer, or research workspace rather than a standalone web app. The value is in the workflow, orchestration, and implementation details.

start year

2014

1 project
  • Web app 2014-2026

    Wallaby Roasters

    A long-running coffee-roasting business system spanning e-commerce, roast logging, order-queue ingestion, and operations tracking. The current stack includes a roast log web app and a Supabase backend that turns Squarespace order payloads into roasting-queue entries.

    why it matters

    It shows the operational side of software: not just building an app, but creating tooling around a real product workflow with inventory, roast timing, fulfillment, and business process constraints.

    HTML JavaScript Supabase TypeScript Squarespace
    repos / related code
    roast.github.io supabase_roast
    ui snapshot
    Wallaby Roasters
    Active RoastRoast LogOrders