Own work

Everything I maintain

No forks, no templates, no coursework. Only what I started myself and still touch — or deliberately stopped touching.

Coffee log
01liveprivate repo

Coffee log

A V60 brew log on Cloudflare Workers and D1

Tetsu Kasuya’s 4:6 method, one variable per brew. App and API on the same Worker, data in D1, photos in R2, session on an HttpOnly cookie; and the same build, packaged as an Android app with its own native plugins.

  • 330+commits
  • 21D1 migrations
  • 1origins
  • Cloudflare Workers
  • D1
  • R2
  • Nuxt 4
  • Capacitor
  • +3
Photo editor
02in progressprivate repo

Photo editor

A local RAW editor: FastAPI engine, Vue interface, MCP server

Replaces Lightroom in my actual workflow: culling, rating and developing the camera’s ARW files without ever touching the original. The same engine is driven equally by the interface and by an AI agent over MCP.

  • 20MCP tools
  • 28endpoints
  • 0RAWs modified
  • Python
  • FastAPI
  • rawpy
  • SQLite
  • Vue 3
  • +2
Watch store
03in progressprivate repo

Watch store

Crono&Co: Nuxt 4 and Medusa, from migration to deploy

A full e-commerce build: a Nuxt 4 SSR storefront on Vercel over a headless Medusa 2.0 backend on a VPS, with managed Postgres, Redis and its own CI.

  • 700+commits
  • 4deployed tiers
  • SSRVue 3 → Nuxt 4
  • Nuxt 4
  • Vue 3
  • TypeScript
  • Medusa 2.0
  • PostgreSQL
  • +4
Trading card game suite
04liveprivate repo

Trading card game suite

TCG Suite: from an offline life counter to live tournaments and leagues

It started as an offline Magic life counter and now runs tournaments and leagues in the cloud, live and up to 2,048 players, with decks, a priced collection and card search. Magic, Riftbound and Lorcana; the game itself still works with no connection.

  • 1000+commits
  • 2048players per tournament
  • 7languages
  • Vue 3
  • Vite 7
  • Pinia
  • Workbox
  • Cloudflare Workers
  • +5
My personal assistant
05in progressprivate repo

My personal assistant

Agentic OS: a voice assistant with Claude as its brain, on Home Assistant

Jarvis answers on the PC and on the phone: Home Assistant handles what it understands and Claude everything else. It files tasks into the speaker’s own list, sets alarms and timers, runs the house and analyses whatever is on my screen.

  • 2listening devices
  • 5Stream Deck keys
  • 4analysis phrases
  • Home Assistant
  • Claude API
  • Python
  • FastAPI
  • Node.js
  • +2
Custom 3D dice
06liveprivate repo

Custom 3D dice

Dicewright: a 3D dice roller with custom faces and real physics

From d2 to d20, with number, text, icon or photo faces, per-set tabletop rules and 32 playmats each with its own physics, sound and lighting. An installable web app with its Google Play build ready, and randomness drawn from a cryptographic generator.

  • 8die types
  • 32playmats
  • 120+unit tests
  • Vue 3
  • Vite
  • three.js
  • cannon-es
  • Blender
  • +3
Trading systems
07liveprivate repo

Trading systems

TWS-Tools: two algorithmic systems over IBKR, in production

A live EMA scalping engine plus a port of the NostalgiaForInfinity strategy to equities, with a supervisor, portfolio backtesting, and a test suite holding the whole thing up. Migrated from ib_insync to ib_async and validated against TWS before merging.

  • 330+Python modules
  • 140+test files
  • 850+commits
  • Python
  • ib_async
  • SQLite
  • pandas
  • pytest
  • +2
To-do board
08liveprivate repo

To-do board

TODO Viewer: every project’s to-dos and the household tasks, on one page

It reads the to-dos of every project from the notes vault, never writing to it, and keeps household tasks in D1 with phone reminders and a mirror in Home Assistant. Nuxt 4 on a Worker, behind Cloudflare Access.

  • 12projects read
  • 6mirrored lists
  • 0writes to the vault
  • Nuxt 4
  • Cloudflare Workers
  • D1
  • Cloudflare Access
  • Home Assistant
  • +1
Club posters
09liveprivate repo

Club posters

A poster generator for a sports club’s social media, installable and backend-free

Fixtures and results for every matchday, featured games and player announcements, ready to post. A single HTML file with no framework, data kept in the browser, and an installable PWA on phone and desktop.

  • 37backgrounds
  • 0servers holding data
  • 0frameworks
  • JavaScript
  • Service Worker
  • IndexedDB
  • html2canvas
  • JSZip
  • +2
My portfolio
10liveprivate repo

My portfolio

This very site: a dynamic CV in Nuxt 4 with GSAP

A single content file feeds three different CVs — public, anonymous and internal — and the whole site. Years of experience are computed, never typed.

  • Nuxt 4
  • Vue 3
  • GSAP
  • TypeScript
  • Cloudflare Workers
Corta Fruta VR
11archivedprivate repo

Corta Fruta VR

Fruit Ninja in virtual reality, built in Unity

A Unity and C# game inspired by Fruit Ninja, adapted to VR. My first time working with three-dimensional space and physical interaction.

  • Unity
  • C#
  • VR