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 | π Live product Β· π Open source Β· Local-first | Privacy-first browser OS with notes, tasks, calendars, dashboards, widgets, and optional AI integrations without a hosted app-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 |
| πΈ macOS Screenshot Pipeline | π Open source Β· π οΈ macOS utility | Stock capture β Photos original β clipboard PNG, with Preview markup and an idle-free WatchPaths processor. | 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 | π°οΈ Historical archive Β· π οΈ Data system | Long-running normalized league history and analytics across seasons, matchups, standings, and player stats. | β |
β³ Lazy Golfing β Private Codebase, Public Product
My flagship build: a full-stack golf platform for trustworthy round tracking, easier repeat-group coordination, course data workflows, social/league features, and a Miami Vice aesthetic.
600+ HTTP endpoint decorators Β· 100+ App Router pages Β· 60+ NestJS modules Β· 150+ Prisma models Β· 120+ migrations Β· Private frontend/backend repos
Full-stack golf platform with course discovery, fast round logging, recoverable scoring workflows, group history, 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 Β· Release and operations discipline
π§ NeumanOS β Privacy-First Productivity
Your data. Your device. Local-first by default.
694 tests Β· 60+ widgets Β· 9 optional AI providers Β· 200+ models through OpenRouter Β· Local-first core
Local-first productivity platform for notes, tasks, time tracking, dashboards, and AI. Core productivity data is stored in browser-managed IndexedDB without a hosted application-data layer. Optional AI providers, live-data widgets, and user-configured backup/sync features can contact external services, while public-site analytics operate separately.
Highlights: Wiki-style [[links]] with knowledge graph Β· Kanban + Gantt views Β· 9 optional AI providers with locally encrypted key storage Β· 60+ dashboard widgets
π ndev.learn β Learning Platform
20 courses. 3 categories. Free curated learning roadmaps.
20 courses Β· 3 categories Β· 1,500+ curated resource links
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
πΈ macOS Screenshot Pipeline β Native Screenshot Handoff
Stock macOS capture, finished: original into Photos, true PNG onto the clipboard, fast markup in Preview.
Stock Cmd+Shift+3/4/5 Β· Photos original/HDR path Β· PNG clipboard path Β· Cmd+Shift+E markup
A native-first utility that reacts after macOS writes a screenshot to staging: import the original bytes into Photos, create a true PNG for the clipboard, then clean up staging when the configured success rules allow. The capture processor uses launchd WatchPaths instead of a polling loop, and a small Swift/Carbon accessory app opens the current clipboard image in Preview for markup.
Highlights: Honest HDR-vs-PNG dual path Β· Photos import optional Β· Configurable staging and retention Β· No telemetry/network calls Β· Behavior contract, troubleshooting docs, roadmap, and feature-request templates
π€ 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.
Owned hardware Β· Virtualization Β· Containerized services Β· Production-minded operations
A hands-on infrastructure lab for practicing virtualization, service hosting, observability, secure ingress, backups, and disciplined deployment and recovery across self-managed systems.
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 Β· No build step Β· 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 normalized league history and long-running matchup analysis.
19 seasons Β· 1,000+ matchups Β· Historical archive Β· Yahoo refresh currently blocked
Historical fantasy football analytics that preserve league history across changing season and platform identifiers. A scheduled GitHub Actions refresh path exists, but Yahoo Fantasy API access is currently blocked pending application approval, so the archive remains on its latest known-good dataset.
π 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: 100+ App Router pages, 700+ component TSX files, 80+ non-test hooks, Miami Vice visual system
- Backend: 600+ HTTP endpoint decorators, 70+ controllers, 60+ modules, 150+ Prisma models, 120+ 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
- Operations: self-managed deployment, monitoring, rollback-conscious releases, and a local verification program
Philosophy: Core productivity data should remain under the user's control by default.
Notes, tasks, calendar events, time entries, settings, and widget configuration are stored locally in browser-managed IndexedDB without a hosted application-data backend. Optional AI providers, live-data widgets, and user-configured backup/sync features can connect to external services; public-site analytics operate separately.
Local-First Boundary:
- Core notes, tasks, calendar, time-tracking, and settings data remain on-device by default
- External integrations are optional or separately scoped, and the project documents which features contact third-party services
Widget Examples (60+ across nine categories):
- Core and productivity: Task Summary, Upcoming Events, Quick Add, Pomodoro
- Information and developer: Weather, Hacker News, Reddit, Dev.to, GitHub, Quotes
- Utilities, finance, and media: Calculator, QR Code, Color Palette, Countdown, Crypto, Currency, Stock Market, 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)
- 24 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



