82-0
Web applicationDraft an all-time NBA five, then simulate its season
A browser game: five spins deal you an all-time NBA starting five, and a simulation engine plays out an 82-game season to return the record. It runs on a database of 13,991 player-team-decade records back to 1960, rated by possession value rather than raw scoring. Four game modes, a graded history with filters and statistics, and a league-wide leaderboard with side-by-side player comparison. No framework and no runtime dependencies — plain HTML, CSS and ES modules, installable as a PWA.
- JavaScript (ES modules)
- HTML5
- CSS
- PWA
- Service Worker
- Node.js
- nginx
- Docker
- Traefik
Agile
Web applicationSelf-hosted project management, running in production
A project management app in Jira territory, deliberately smaller: one work-item hierarchy of epics, stories, tasks, bugs and subtasks behind a backlog, scrum and kanban boards, a roadmap of epics and a list. A child is always planned where its parent is, so moving a story into a sprint takes its tasks along. The project is also drawn as an editable map whose nodes carry their own sketch-canvas thumbnails, and items can be bound to the tables and columns of the managed project’s own Postgres or MySQL database — read-only at the connection, with no user-supplied SQL. A public API with tokens can do everything the UI can.
- Angular 20
- FastAPI
- Python
- SQLAlchemy
- PostgreSQL
- Alembic
- elkjs
- Fabric.js
- Docker
- Traefik
Automata
Web applicationSelf-hosted test management, running in production
A test management platform built on the model Project → Suite → Case → Plan → Run → Result → Defect. A hierarchical repository of test cases with steps and tags, reusable test plans, and an execution wizard that walks one case per screen — per-step results, a verdict, comments, screenshots and a defect opened straight from a failure. Runs freeze their cases, so editing the repository never rewrites past results. Closed registration, JWT auth with rotating refresh tokens, and a dashboard with pass rate, progress and open defects by severity.
- Angular 20
- Angular Material
- NestJS
- TypeScript
- PostgreSQL
- Prisma
- Docker
- Traefik
dockmaster
Desktop applicationA Docker manager that shows what is unused and what it costs
A GTK4 desktop application for containers, images, volumes, networks, build cache and compose projects, with an honest account of what deleting each would free — numbers that reconcile exactly with docker system df. Volumes are browsed and exported through a throwaway read-only container, with no password. Inspection is read-only by construction; every change, from a single Stop to a 35 GB prune, becomes a script you can read before it runs, with prechecks that re-verify Docker state at the moment it executes.
- Python
- GTK4
- libadwaita
- PyGObject
- Docker
- pkexec
Gazdinstvo
Web applicationCattle farm management, running in production
A full-stack farm management application for tracking cattle, daily actions, a farm calendar and finances. Installable as a PWA, so it works from a phone in the field. Deployed with Docker behind a Traefik reverse proxy with automatic Let’s Encrypt certificates.
- Angular 17
- Node.js
- Express
- SQLite
- JWT
- PWA
- Docker
- Traefik
Linux Master
Desktop applicationAudit a Debian-based Linux system, and fix only what you pick
A GTK4 desktop application (sysaudit) that runs 59 read-only checks across 11 categories — updates, storage, caches, memory, services, logs, hardware, security, performance — and shows every finding with the evidence behind it. Remediations are opt-in, tiered by risk, and applied as a single pkexec batch; advisory findings are structurally unable to execute. Exports a self-contained HTML report and diffs each scan against the last.
- Python
- GTK4
- libadwaita
- PyGObject
- systemd
- pkexec
Media Stream
Web applicationA personal media server for the home network
A media server for browsing, streaming and organising a movie library from a home server to any device on the same network. Files stream directly from disk over HTTP range requests with no transcoding, with TMDb metadata and FFmpeg-generated thumbnails.
- Angular 20
- Angular Material
- Node.js
- Express
- Sequelize
- SQLite
- FFmpeg
- Docker
Phone Master
Desktop + mobileDrive a Linux desktop from an Android phone
Two paired applications: a Python agent on the Linux machine and a native Android client. The phone becomes a trackpad, keyboard, media remote, dictation microphone and screen viewer for the desktop. Everything runs inside an SSH tunnel, authenticated by a key the app generates in the Android Keystore and never lets leave the phone. The agent installs as a systemd user service, and the app updates itself from this site — checking the published SHA-256 before it installs anything.
- Python
- Kotlin
- Jetpack Compose
- SSH
- Android Keystore
- RFB / VNC
- x11vnc
- systemd
pymightyfalcon
Desktop applicationA Python IDE built from scratch
A code editor and IDE written in PyQt5 on top of QScintilla: tabbed editing, a project file tree, embedded terminals, git integration, linting and formatting, a debugger bridge and a plugin system.
- Python
- PyQt5
- QScintilla
- python-lsp-server
- debugpy
- GitPython
Swiss Pairing
Desktop applicationFIDE-compliant chess tournament software
A desktop application for running chess tournaments end to end: entry list, pairings, results, standings, cross-table, export and print. Implements eight pairing systems and the full FIDE tie-break catalogue, with a rule checker that validates every generated round.