A terminal RPG where an LLM acts as dungeon master: narrating scenes, offering choices, resolving actions, and rolling dice against a simple d6 rules system, all inside one TUI app. Every turn gets appended to a story book, producing a readable narrative log of the whole campaign.

Built to run against a local LLM on a personal GPU as well as hosted APIs (OpenAI, Anthropic, Groq, etc. via litellm), with structural guardrails — a strict per-turn output format plus a second, separate LLM call that validates each action before it’s narrated — needed to keep smaller local models playable.

Status: Finished.

Project page: https://git.dejvino.cz/dejvino/splinter-keep

A small library of music video “generators” — self-contained pages with audio-reactive visuals, recorded alongside a finished track to produce a video for it.

Five generators so far, each its own scene: party-stage (a modern virtual venue — DJ, crowd, lasers, light bars, and a projection screen running one of several shader visualizers picked at runtime), party-cathedral (a torch-lit medieval hall with illustrated performers), tv-player (a quieter in-room TV/VCR scene with small ambient effects), magic-mirror, and sparkles, the original and simplest of the set.

Built almost entirely through AI pair-programming (Gemini) rather than by hand, and deliberately structured for that: every stage element and visualizer sits behind a small, uniform interface and a single registry, so the AI can extend one self-contained file at a time instead of reasoning about — and risking breaking — one big scene.

Status: Finished, and growing whenever a new song needs a video.

Project page: https://git.dejvino.cz/dejvino/music-video-gen

A pocket-sized modular synthesizer built around a Raspberry Pi Pico (RP2040), with all patching done on a 12×12 grid instead of physical cables.

Oscillators, filters, envelopes, and a handful of other modules get placed onto the grid and wired together however you like, so the same box can become a DX7-style FM patch one moment and a slow, drifting drone the next. Audio streams out over I2S, with the synthesis math running in fixed-point to keep the Pico’s core from choking under a full patch. A rotary encoder, a volume potentiometer, and a 128×64 OLED handle all the interaction, and a 3.5mm TRS-A MIDI input lets it take notes from an external keyboard or sequencer. It runs off a LiPo cell and a booster board, small and portable enough to carry around.

A desktop simulator ships alongside the hardware, letting patches be designed and auditioned before ever touching the device, with patches transferable both ways. It comes with eight demo patches plus a few built-in presets that mimic the DX7, and saves patches to EEPROM so nothing is lost when it’s powered off.

Status: Finished.

Project page: https://git.dejvino.cz/dejvino/NoiceSynth

A collection of tools and utility apps for the PINE64 PinePhone.

The aim was to create simple and clean low-level utilities that expose the phone hardware to scripting, which can get more complex. Provided is a control of the backlight, notification LED, flash LED, vibrator motor and the option to put CPUs into sleep mode.

Status: Finished.

Project page: https://github.com/Dejvino/pinephone-toolkit

(mirror) https://git.dejvino.cz/dejvino/pinephone-toolkit

Sway UI environment configured for PINE64 PinePhone. Proof Of Concept used to test the experience.

This was a learning experience of “What components make a usable UI environment for a phone?” and it turns out that the answer is “A whole lot!”

This project is superseded by sxmo.

Status: Finished PoC.

Project page: https://github.com/Dejvino/pinephone-sway-poc

(mirror) https://git.dejvino.cz/dejvino/pinephone-sway-poc