I write JavaScript & TypeScript end to end — NestJS backends, Three.js/PixiJS games in the browser, React frontends, and TS on microcontrollers. Most of what's below started as "can this actually run in a browser?" and turned into something playable.
- 🔭 I’m currently working on Quoridor 3D
- 🌱 I’m currently learning ThreeJs, R3f, DSA
- 🔌 I also run TypeScript on microcontrollers with Moddable / ESP32
- 💬 Ask me about React, ThreeJs, GameDev, NestJS
- 🎮 Play my stuff on itch.io or straight from the links below
- 📫 How to reach me [email protected]
A first-person 3D room you walk around (WASD, shift to run, space to jump). A Game Boy device and a pile of
cartridges are scattered on the floor — collect them, open the inventory with TAB, pick a cartridge, and the game
boots in the emulator and gets projected onto a screen inside the scene. DOS classics via js-dos: Doom, Quake, Mario,
Digger, Wolfenstein, Duke.
TypeScript Three.js js-dos Vite
🎰 Lucky Spin · ▶ play · debug mode · code
A complete slot game in PixiJS: reel spin animations, win evaluation, auto-spin, and a gamble round where banked winnings can be doubled by guessing between two shifting colours (take win vs double win). Ships with a debug mode that forces outcomes — essential when the whole system is built on randomness.
TypeScript PixiJS Vite
The vanilla-JS predecessor of Lucky Spin — no framework, no build step. Everything is runtime-configurable through a tweak panel: 1–5 rows, 3–7 columns, $1–$15 bets, random or manually pinned symbols per reel, custom colours, adjustable animation speed and easing (linear, bounce, elastic), auto-spin.
JavaScript Canvas/DOM Zero dependencies
A starting point for browser FPS games that ships with a playable demo instead of an empty scene: FPS + orbit controls, object collisions, multiple weapons with their own shooting animations, a toggleable flashlight, and an Electron target so the same codebase packages as a desktop binary. Vitest for tests, GitHub Pages deploy on release tag.
TypeScript Three.js Electron Vite Vitest
An arcade rolling-ball game built on my own Vite/TS game template, with separate build targets for GitHub Pages, itch.io and CrazyGames so one source tree ships to every portal.
TypeScript Vite
Games & 3D — Quoridor 3D (R3F + Bun) · Minesweeper (PixiJS) · Breakout Redux (LittleJS) · Galaxy Generator · Haunted House · Phurti (ფურთი — Georgian card game) · Snake
Libraries & templates — @n1md7/indexeddb-promise (typed promise-based IndexedDB wrapper with models, indexes and timestamps) · vite-template · NEST-SWC (NestJS on Speedy Web Compiler) · enToKa (English→Georgian keyboard transliteration) · HTML-table-builder
IoT & hardware — IoT Device Manager (MQTT broker + NestJS backend + web client, with Arduino Mega / ESP32 / ESP8266 nodes) · moddable-kit (TypeScript libs for the XS engine on microcontrollers) · homeAutomation (high-voltage timer controller, C++)
Security & practice — training-platform (web appsec training platform) · SQL injection challenges: attack / defense · Advent of Code 2023 · 2024