{"data":[{"slug":"ai-created-website","name":"This website","description":"This is essentially an experiment into the capabilities of AI. I used opencode and oh-my-opencode to create this website. I told it what I wanted, I told it when it had errors. I instructed it to double check code and to do security audits of it's live website. I did not code this. I orchestrated everything that was required to bring this to production. ","tech_stack":["Python","Next.js 16"],"summary":"My personal website, created by AI. Using opencode and tokens lol","status":"in-progress","screenshots":[{"url":"https://mikescave.us/api/media/admin-dashboard_3c54aa1d.png?v=1776888799"},{"url":"https://mikescave.us/api/media/posts-dashboard_4f0a5854.png?v=1776888802"},{"url":"https://mikescave.us/api/media/projects-dashboard_0268b662.png?v=1776888802"},{"url":"https://mikescave.us/api/media/notes-dashboard_410fe6d4.png?v=1776888801"},{"url":"https://mikescave.us/api/media/comments-dashboard_62f6b4ea.png?v=1776888800"},{"url":"https://mikescave.us/api/media/media-dashboard_1d97b1b4.png?v=1776888801"},{"url":"https://mikescave.us/api/media/profile-dashboard_14ad4975.png?v=1776888802"},{"url":"https://mikescave.us/api/media/site-settings_b3610d97.png?v=1776888803"},{"url":"https://mikescave.us/api/media/analytics-dashboard_826629d7.png?v=1776888800"}],"links":[],"repo_url":"https://fj.splaq.us/splaq/personal-website","live_url":"https://mikescave.us","featured_image":null,"featured":true,"id":1,"created_at":"2026-04-18T07:30:01.321474"},{"slug":"homelab-infrastructure","name":"Homelab Infrastructure","description":"# Homelab Infrastructure\n\nProduction-grade self-hosted infrastructure spanning bare metal, virtualization,\ncontainers, automation, and AI — built and maintained as a solo operator.\n\n## Core Infrastructure\n- **Bare Metal Docker Host**: Primary workload server running Docker Engine\n  (Community 29.1.3) directly on hardware for maximum performance\n- **Proxmox VE Host**: Secondary server running KVM virtualization and LXC\n  containers for isolated workloads\n- **Network**: 192.168.1.0/24 with managed switch, GL-MT6000 gateway, and\n  1 Gbps synchronous fiber uplink\n- **Cloud Gateway**: Remote VPS with WireGuard tunnels — zero direct port\n  exposure on the home network\n- **File Sharing**: NFS for Linux clients, Samba (LXC) for Windows clients\n\n## Services\n\n### Development & Automation\n- **Forgejo** — Self-hosted Git, fully independent of GitHub/GitLab\n- **n8n** — Workflow automation powering a self-maintaining AI content\n  pipeline and dev.to post syndication\n- **Arcane** — Container management and monitoring\n- **Nexterm** — Browser-based terminal access\n\n### AI & Local Intelligence\n- **Ollama** — Locally hosted LLMs, no cloud dependency\n- **Open WebUI** — Full-featured chat interface for local models\n- **opencode** — AI-assisted development with custom local model provider\n- **netbootxyz** — PXE boot server for OS deployment across the Linux fleet\n\n### Security & Identity\n- **Authentik** — SSO/identity provider securing all public-facing services\n- **HashiCorp Vault** — Secrets management\n- **Vaultwarden** — Self-hosted password manager (Bitwarden-compatible)\n\n### Infrastructure & Networking\n- **Traefik** — Reverse proxy with automatic Let's Encrypt certificates\n- **Pangolin/Gerbil** — Tunnel-based service exposure via VPS\n- **SearXNG** — Private, self-hosted meta search engine\n\n### Monitoring & Observability\n- **Uptime Kuma** — Service monitoring with alerting\n- **ntfy** — Push notification delivery for automation and alerts\n- **Dashy** — Unified infrastructure dashboard\n- **Backrest** — Backup management\n\n### Applications\n- **Home Assistant** — Full home automation platform\n- **PocketBase** — Lightweight backend for personal projects\n- **IT-Tools** — Self-hosted developer utilities\n- **Anchor** — Note taking app\n\n## Databases\n- PostgreSQL, MySQL (Forgejo), Redis (cache), CouchDB (Obsidian sync)\n\n## AI Content Pipeline\nAutomated \"This Day in Tech History\" blog post generation using n8n workflows\nand local LLMs via Ollama/opencode. Posts are AI-drafted but human-reviewed\nbefore publishing — maintaining quality and editorial integrity.\n\n## Security Model\n- Zero direct port exposure on residential network\n- All external traffic routed through encrypted WireGuard tunnels to VPS\n- Automatic TLS via Let's Encrypt\n- Centralized SSO through Authentik for all public services\n- Secrets managed via HashiCorp Vault\n- Protocol-segregated file sharing (NFS/Samba) per client OS","tech_stack":["Proxmox VE","Docker","Forgejo","n8n","HashiCorp Vault","Authentik","Traefik","Pangolin","SearxNG","Home Assistant","Vaultwarden","Uptime Kuma","Dashy"],"summary":"Self-hosted infrastructure with virtualization, container management, CI/CD, secrets management, SSO, monitoring, and home automation.","status":"in-progress","screenshots":[],"links":[],"repo_url":null,"live_url":null,"featured_image":null,"featured":true,"id":2,"created_at":"2026-04-24T22:54:58.599066"},{"slug":"dosbox-launcher","name":"DOSBox Launcher","description":"**DOSBox Launcher** is a lightweight GTK3 desktop application for Linux that makes managing and launching DOS games straightforward. Built with Python, it provides a clean UI for maintaining a local game library, launching titles through DOSBox, and managing per-game configurations — including common and advanced DOSBox settings, expandable sound sections (Mixer, MIDI, Speaker, GUS), and the ability to reset configs to defaults.\n\nThe project is a collaborative effort between myself and an AI assistant. I designed and built the core application, UI, and documentation (~68% of the codebase), while the AI contributed test coverage, UI refinements such as double-click launching and tooltips, and the README (~32%). Total codebase sits at approximately 6,700 lines.\n\nBuilt on Python 3.10+, PyGObject, and GTK 3, it's designed for easy local setup via a simple clone-and-run workflow on Ubuntu/Debian and Fedora systems.","tech_stack":["Python"],"summary":"This is a UI for configuring and launching dosbox games/apps and keeping an organized list of your games. ","status":"active","screenshots":[{"url":"https://mikescave.us/api/media/screenshot_4e202a94.png?v=1777225806"}],"links":[],"repo_url":"https://github.com/MikeCase/DOSBoxLauncher","live_url":null,"featured_image":null,"featured":true,"id":3,"created_at":"2026-04-26T17:49:41.615878"},{"slug":"opencode-config-builder","name":"OpenCode Config Builder","description":"# OpenCode Config Builder\n\nA visual configuration editor for [OpenCode](https://opencode.ai/) AI coding agent. Export `opencode.jsonc` for all OpenCode settings.\n\n## Features\n\n- **Visual Config Editor** - Point-and-click interface for all OpenCode settings\n- **10 Config Sections** - General, Server, Agents, Permissions, Tools, MCP Servers, Models, Formatters, Commands, Advanced\n- **Oh My OpenAgent Support** - Conditional UI for [oh-my-openagent](https://github.com/code-yeongyu/oh-my-openagent) plugin with separate config file\n- **Import/Export** - Load existing configs or export your configuration\n- **Live Preview** - Floating panel shows generated JSONC as you configure\n- **Dark Theme** - Blue/purple accent colors on dark background\n- **Persistent Storage** - Config saved to browser localStorage\n\n## Tech Stack\n\n- Next.js 16 (App Router)\n- React 19\n- Zustand (state management with persist middleware)\n- TypeScript\n- CSS Modules\n\n## Getting Started\n\n### Development\n\n```bash\nnpm install\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000)\n\n### Production Build\n\n```bash\nnpm run build\nnpm start\n```\n\n### Docker\n\n```bash\ndocker-compose up -d\n```\n\nOpen [http://localhost:3000](http://localhost:3000)\n\n## Configuration Sections\n\n| Section | Description |\n|---------|-------------|\n| **General** | Model, provider, autoupdate, snapshot, share, shell |\n| **Server** | Port, hostname, mDNS, CORS |\n| **Agents** | Custom agent configurations with model, temperature, tools |\n| **Permissions** | Tool permission rules |\n| **Tools** | Enable/disable built-in tools |\n| **MCP Servers** | Local/remote MCP server configurations |\n| **Models** | Provider options, variants, AWS Bedrock settings |\n| **Formatters** | Code formatter configurations |\n| **Commands** | Custom command templates |\n| **Advanced** | Compaction, watcher, plugins, instructions, providers |\n| **Oh My OpenAgent** | Separate config (shown when plugin detected) |\n\n## Oh My OpenAgent\n\nWhen your config includes `oh-my-openagent` or `oh-my-opencode` in the plugins list, a new section appears in the sidebar. This plugin has its own separate configuration file with support for:\n\n- **Agents** - Customize Sisyphus, Oracle, Librarian, and other agents\n- **Categories** - Domain-specific model delegation\n- **Background Tasks** - Concurrency limits\n- **Skills** - Custom skill sources\n- **Hooks** - Disable/enable built-in hooks\n- **Browser Automation** - Playwright or agent-browser\n- **Tmux Integration** - Background subagent panes\n- **Git Master** - Commit conventions\n- **LSP** - Language server configurations\n- **Runtime Fallback** - Auto-switch models on API errors\n- **And more...**\n\nImport/Export for Oh My OpenAgent uses a separate `oh-my-openagent.jsonc` file.\n\n## File Structure\n\n```\nsrc/\n├── app/                    # Route pages\n│   ├── general/\n│   ├── server/\n│   ├── agents/\n│   ├── permissions/\n│   ├── tools/\n│   ├── mcp/\n│   ├── models/\n│   ├── formatters/\n│   ├── commands/\n│   ├── advanced/\n│   └── oh-my-openagent/\n├── components/\n│   ├── layout/            # Sidebar, Header\n│   └── ui/               # Input, Toggle, Select, Card, ArrayField, Button\n├── lib/                   # generate-jsonc, import-config, schema\n├── store/                 # Zustand configStore\n├── styles/               # globals.css\n└── types/\n```\n\n## Design Conventions\n\n- CSS Modules only (no Tailwind)\n- `'use client'` on all components using hooks/zustand\n- Dot-path updates: `update('server.port', 4096)`\n- CSS variables for theming in `globals.css`","tech_stack":["Node.js"],"summary":"Visual configuration editor for OpenCode AI coding agent. Configure settings, manage plugins including Oh My OpenAgent, import/export as JSONC. Dark blue/purple theme, self-host via Docker.","status":"active","screenshots":[],"links":[],"repo_url":"https://github.com/MikeCase/opencode-config-builder","live_url":"https://openconfig.mikescave.us","featured_image":null,"featured":true,"id":4,"created_at":"2026-05-04T06:23:39.852427"}],"meta":{"total":4,"limit":4,"offset":0}}