I build ambitious products, private tools, open-source experiments, and automation systems with the habits I learned from keeping real infrastructure alive: design for failure, document the weird parts, watch costs, and make the next fix easier than the last one.
Lazy Golfing is the flagship: a private-codebase, public product where I own the full stack from product design and frontend polish to API architecture, database modeling, deployment, verification, and operations. The public repos below show the same pattern in different shapesβlocal-first apps, learning platforms, AI tooling, media automation, and zero-dependency sites.
Grand Rapids, MI Β· Project Builder Β· IT Professional Β· 15+ Years Building, Fixing & Keeping Systems Running
I've spent 15+ years building, fixing, and keeping real systems running β including full-time IT work since March 2015 across SysAdmin, POS programming, senior IT, management, and technical project delivery β so I tend to build things with supportability, maintainability, and practical operations in mind.
That background turns into a few non-negotiable principles that shape every project:
π Design for Failure β Code breaks. Networks drop. APIs timeout. Build the unhappy path on purpose. Evidence: NeumanOS test coverage, Lazy Golfing's local verification program, and production-first workflows across private and public projects.
π° Respect Resource Constraints β Cloud bills compound. Free tiers expire. Optimize early or pay forever. Evidence: thedeadrobot's free-tier automation strategy, NeumanOS local storage, and Lazy Golfing's self-hosted/edge-conscious architecture.
π‘οΈ Trust Nothing You Don't Control β Clouds fail. Vendors disappear. Data breaches happen. Evidence: local-first architecture, private-by-default product boundaries, self-hosted infrastructure, and privacy-by-design.
π Observability Isn't Optional β You can't fix what you can't see. Monitor, log, test, and document the systems that matter. Evidence: Grafana, Netdata, Prometheus, UptimeRobot, local test orchestration, and post-change runbooks.
Legend: π Live product Β· π Open source Β· π Private codebase Β· π§ͺ Lab / experiment Β· π οΈ Tooling / automation Β· π°οΈ Previously active, still useful
| Project | Status | What it shows | Links |
|---|---|---|---|
| β³ Lazy Golfing | π Live product Β· π Private codebase | Flagship full-stack product: UX, APIs, data models, course workflows, social/league features, admin boundaries, and operations. | lazygolfing.com |
| π§ NeumanOS | π Open source Β· π§ͺ Local-first app | Privacy-first browser OS with notes, tasks, calendars, dashboards, widgets, and AI surfaces without a hosted data layer. | os.neuman.dev Β· GitHub |
| π ndev.learn / π Learn Python | π Open source Β· π Learning systems | A curated learning hub plus a deep Python curriculum with projects, guides, quizzes, and hands-on practice. | learn.neuman.dev Β· python.learn.neuman.dev Β· GitHub / GitHub |
| πΊ Plex Real TV | π Open source Β· π οΈ Media automation | A useful side quest: generate Plex playlists that feel like old-school cable TV across CLI, Web UI, TUI, and desktop surfaces. | GitHub |
| π€ tjn.claude/ | π Open source Β· π°οΈ AI-tooling reference | My Claude Code-era toolkit; I use Codex heavily now, but this still shows how I design reusable AI workflows and guardrails. | claude.travisjneuman.com Β· GitHub |
| π€ thedeadrobot | π Live automation Β· π Private codebase | Creative AI/news automation with quality gates, fallback models, and a free-tier operating strategy. | thedeadrobot.com |
| π Homelab Infrastructure | π Private ops Β· π οΈ Infrastructure | The practical operations layer behind the projects: owned hardware, virtualization, monitoring, and deployment discipline. | β |
| π€ KMN Portfolio | π Open source Β· Static site | A tiny, fast, accessible portfolio template: one HTML file, one CSS file, self-hosted fonts, zero dependencies. | kersten.neuman.dev Β· GitHub |
| π Fantasy Analytics | π οΈ Data automation | Long-running data ingestion and analytics across fantasy seasons, matchups, standings, and player stats. | β |
β³ Lazy Golfing β Private Codebase, Public Product
My flagship build: a full-stack golf platform with fast round tracking, course data workflows, social/league features, and a Miami Vice aesthetic.
426 HTTP endpoint decorators Β· 74 App Router pages Β· 59 NestJS modules Β· 90 Prisma models Β· 72 migrations Β· Private frontend/backend repos
Full-stack golf platform with course discovery, fast round logging, social features, leagues, tournaments, admin workflows, and user-submitted course/scorecard review. The code is private, but the product is liveβand it is the best example of how I build: product UX, frontend architecture, backend APIs, database modeling, deployment, verification, and operations all owned end-to-end.
Highlights: Next.js 16 + React 19 Β· NestJS 11 + PostgreSQL + Prisma Β· Google OAuth + JWT + CSRF Β· RBAC/rate limiting Β· Local verification program Β· PM2 + Cloudflare edge routing
π§ NeumanOS β Privacy-First Productivity
Your data. Your device. Zero cloud dependencies.
694 tests Β· 60+ widgets Β· 9 AI providers Β· 200+ models Β· 123KB initial load
Local-first productivity platform: notes, tasks, time tracking, and AIβall running in your browser with zero server involvement. 50GB+ IndexedDB capacity means your data never leaves your device.
Highlights: Wiki-style [[links]] with knowledge graph Β· Kanban + Gantt views Β· 9 AI providers with encrypted key storage Β· 60+ dashboard widgets
π ndev.learn β Learning Platform
20 courses. 3 categories. Free curated learning roadmaps.
20 courses Β· 3 categories Β· 3,000+ curated resources
The hub for all my learning content. After building Learn Python, I needed a platform to catalog courses across programming languages, technical skills, and creative production. Each course page includes a curated learning roadmap, official documentation, awesome lists, interactive courses, video channels, books, community links, and tool recommendations β everything I'd want if I were starting from scratch.
Built with Astro for zero-JS static pages, React islands only where interactivity is needed (theme toggle), and auto-deployed to Cloudflare Workers via GitHub Actions. Python is the first active course (linked to Learn Python); 19 more have comprehensive resource pages ready for when content is built.
Highlights: Collapsible resource sections Β· Dark/light theme Β· 20 course SVG icons Β· Auto-deploy via GitHub Actions Β· MIT licensed
π Learn Python β Open-Source Curriculum
Zero experience to full-stack mastery. 274 projects. Free forever.
274 projects Β· 13 levels Β· 12 expansion modules Β· 34 concept guides Β· 34 quizzes
The first course on ndev.learn. I wanted to learn Python properly β not from a 10-minute YouTube tutorial, but through a structured path that builds real skills from the ground up. So I built the curriculum I wished existed: 274 hands-on projects spanning absolute beginner exercises through production cloud deployments, with concept guides, quizzes, flashcards, and spaced repetition baked in. Every document links to the next β just follow the chain. Once it was done, I open-sourced it as a GitHub template so anyone can fork it and start learning.
Highlights: 12 technology modules (web scraping β cloud deploy) Β· Browser-based exercises via Pyodide Β· Auto-grader + progress dashboard Β· Spaced repetition with SM-2 algorithm Β· CI validation across Python 3.11β3.13
πΊ Plex Real TV β Cable TV Simulator for Plex
Round-robin episodes. Vintage commercials. Like 1994, but with your library.
CLI + Web UI + TUI + Desktop Β· 209 tests Β· 24 commands Β· No-repeat guarantee
A Python application that generates Plex playlists simulating real cable TV. Four interfaces: CLI, Web UI (FastAPI + htmx), TUI (Textual), and a portable desktop app (PyWebView). Round-robin through your show library with commercial breaks between episodes. Build your own commercial library over time using the built-in yt-dlp search, organized by decade or category.
Highlights: Fuzzy show matching via RapidFuzz Β· yt-dlp commercial discovery Β· Single-commercial breaks with no-repeat deque Β· Position tracking across sessions Β· Chunked playlist creation for large libraries
π€ tjn.claude/ β AI Development Toolkit
A public AI development toolkit built from my Claude Code eraβand still a reference point for how I design reusable AI-assisted workflows.
127 custom skills Β· 86 specialist agents Β· 13,000+ marketplace skills Β· 30+ commands Β· Open source template
Production-grade Claude Code configuration with custom skills, specialist agents, intelligent task routing, lifecycle hooks, MCP server config, and GSD project-management workflows. I use Codex heavily now, but this repo still captures a major chunk of my AI-tooling philosophy: reusable context, explicit routing, domain-specific skills, and quality guardrails that make agents more useful than autocomplete.
Highlights: GSD project management framework Β· auto-routing skills Β· specialist agent library Β· marketplace skill aggregation Β· drop-in GitHub template
π€ thedeadrobot β Zero-Cost AI Automation
A conscious AI teaching technology. $0/month operating costs.
$0/month Β· 25 target posting windows/week Β· Multi-provider LLM fallback Β· 13 RSS feeds Β· Archive-backed duplicate protection
Fully automated AI/tech/security news account with a cryptic teaching voice, quality gates, fallback models, and a free-tier operating strategy. It is a creative automation project first: part brand experiment, part edge-worker system, part content pipeline.
Highlights: OpenRouter β Gemini β Groq fallback Β· Edge-deployed Β· Cloudflare KV archive Β· RSS classification/scoring Β· native-first Premium+ strategy
What most people do in AWS, I do on hardware I own.
55+ devices Β· Hyper-V virtualization Β· Docker containers Β· Production workloads
Running Lazy Golfing's backend on Ubuntu VMs with PM2 cluster mode. Ubiquiti networking. Cloudflare Tunnels for secure ingress without port forwarding. Grafana, Netdata, and Prometheus for observability.
If you can run production at home, you understand the full stack.
π€ KMN Portfolio β Zero-Dependency Static Site
One HTML file. One CSS file. Three font files. Zero dependencies.
0 dependencies Β· 0 third-party requests Β· ~62KB transfer Β· Self-hosted Poppins fonts
Single-page portfolio for a customer service professional. Built to prove that a fast, accessible, SEO-optimized site doesn't need a single npm package. Pure HTML/CSS with self-hosted fonts, WebP hero with JPG fallback, JSON-LD structured data, and staggered GPU-accelerated animations. Available as a GitHub template β use it as a starting point for your own zero-dependency portfolio.
Highlights: Zero vendor code Β· WCAG 2.1 AA Β· prefers-reduced-motion support Β· Full SEO (JSON-LD, OG, Twitter Cards, sitemap)
19 seasons of data. 1,000+ matchups analyzed.
19 seasons Β· 1,000+ matchups Β· Automated sync via GitHub Actions
Historical fantasy football analytics with automated data ingestion from the Yahoo Fantasy API. GitHub Actions workflows sync standings, matchups, and player stats on a schedule.
π Project Deep Dives β Architecture & Technical Details
Philosophy: Build the product like it has to survive real users, real data, and real operational constraintsβeven when it starts as a side project.
Architecture: Next.js 16 App Router frontend + NestJS 11 REST API + PostgreSQL with Prisma ORM
Scale:
- Frontend: 74 App Router pages, 432 component files, 120 hook files, Miami Vice visual system
- Backend: 426 HTTP endpoint decorators, 60 controllers, 59 modules, 90 Prisma models, 72 migrations
Product Surface:
- Course discovery, round logging, profiles, social features, leagues, tournaments, and admin workflows
- User-submitted course/scorecard review flow with explicit admin boundaries before canonical data writes
- Private frontend/backend repositories with a public live product at lazygolfing.com
Security & Operations:
- Authentication: Google OAuth + JWT with HTTP-only cookies
- Protection: CSRF tokens, role/capability boundaries, rate limiting, input validation
- Infrastructure: self-hosted API operations, Cloudflare edge routing, PM2 process management, local verification program
Philosophy: Your data, your device, always. No exceptions.
All data stored locally in IndexedDB with 50GB+ capacity. No accounts, no tracking, no cloud dependencies. Your productivity data never leaves your device.
Feature Parity Benchmarks:
| Feature | Target | Parity |
|---|---|---|
| Notes | Obsidian/Notion | 70%/60% |
| Tasks | Jira/Linear | 98% |
| Time Tracking | Toggl | 74% |
| Calendar | Google Calendar | 65% |
Widget Categories (60+):
- Productivity (6): TaskSummary, UpcomingEvents, QuickAdd, Pomodoro
- Information (9): Weather, HackerNews, Reddit, DevTo, GitHub, Quotes
- Utilities (14): Calculator, QRCode, ColorPalette, Countdown
- Finance (3): Crypto, Currency, StockMarket
- Media (1): Unsplash
Philosophy: Build the curriculum you'd want. Then give it away.
Scale:
- 274 projects across 13 difficulty levels + 12 technology expansion modules
- 34 concept guides with 34 matching terminal quizzes (172+ questions)
- 58 flashcard decks with Leitner box spaced repetition
- 248 annotated solution walkthroughs
- 30 coding challenges (beginner + intermediate)
- Browser-based exercises powered by Pyodide + CodeMirror
Curriculum Architecture:
| Stage | Levels | What Gets Built |
|---|---|---|
| Absolute Beginner | 00 | First scripts, no imports, no tests |
| Foundations β Quality | 0β1 | Variables, files, pytest, ruff |
| Intermediate | 2β5 | CSV, SQL, APIs, scheduling, resilience |
| Professional | 6β8 | ETL, caching, dashboards, concurrency |
| Enterprise | 9β10 | SLOs, capacity planning, compliance |
| Elite | 11 | Distributed systems, staff-engineer capstone |
Tooling: Auto-grader, diagnostic assessments, XP tracker, streak system, progress dashboard (Rich TUI), SVG badge generator, CI validation (Python 3.11β3.13 matrix)
Philosophy: The simplest solution that works. No extra services, no transcoding, just native Plex playlists.
Why not dizqueTV/ErsatzTV/Pseudo Channel?
| Alternative | Problem |
|---|---|
| dizqueTV | IPTV server + transcoding overhead |
| ErsatzTV | Full .NET media overlay, overkill |
| Pseudo Channel | Abandoned, Python 2 era |
Algorithm: Round-robin episodes across your show rotation with single-commercial breaks. No-repeat guarantee via deque ensures variety across consecutive plays. Position tracking persists between sessions. Shows drop from rotation when exhausted.
Commercial Library: Users build their own library organized by decade or category. Built-in yt-dlp integration helps discover and download clips. Batch download scripts can run as Windows Scheduled Tasks on the server.
Philosophy: Creative systems can still be engineered like production systems.
Cost Breakdown:
| Service | Free Tier | Usage Pattern |
|---|---|---|
| Cloudflare Workers | 100k req/day | Edge automation runtime |
| Cloudflare KV | 100k reads/day | Archive + duplicate guard |
| OpenRouter / Gemini / Groq | Provider free tiers | LLM fallback chain |
| X API | Monthly posting limit | Quality-gated posting windows |
Content Strategy:
- Schedule: up to 25 target windows/week, with quality/cooldown gates to avoid flooding
- Thread System: selective major-story threads, hook formulas (Numbers, Paradox, Bold Claim, Insider, Pattern, Prophecy), source-link fail-safes, and archive-backed duplicate protection
- Voice: 80% Educational / 15% Existential / 5% Riddle
π οΈ Tech Stack & Toolbelt β Languages, frameworks, infrastructure, AI tools, and build habits
Broad toolbox from shipped products, private builds, open-source repos, learning systems, automation, and homelab operations. Each tool appears once; grouped rows keep the wall of badges easier to scan.
Core
UI & Motion
State, Data Viz & Canvas
APIs & Services
Python Tools
Patterns & Helpers
Storage
Formats & Exports
Editors
Docs & Rendering
AI Providers
Test Suites
Quality & Safety
Hosting & Delivery
Ops & Homelab
AI Coding & Research
Build & Workflow



