Dmitry Eroshenko

Side Projects

The fish market on the sand at Mũi Né at dawn: drying racks, baskets of anchovies, and the fishing fleet moored behind.

Làng Chài Mũi Né

A walkable recreation of the Mũi Né fishing village harbour at half past six in the morning, the hour the beach fish market actually runs: ride a scooter, drive a car, buy breakfast off the boat. Ships as one self-contained HTML file — three.js inlined, every mesh generated procedurally, every texture painted onto a canvas at load, trilingual spoken dialogue.

three.js · WebGL · procedural geometry · one static file — live at muine.airs0urce.com

A Bomberman arena mid-game: two players, brick and stone blocks, and a bomb blast crossing the board.

Bomberman Online

A pixel-perfect Bomberman II clone with real-time online multiplayer for up to 4 players: live room list, AI bots, 19 arena maps, touch and gamepad support, and an in-browser level builder. Authoritative Node.js game server over raw WebSockets.

Phaser 3 · Node.js · WebSockets · Express — live at bomberman.airs0urce.com

The WhenWeMeet interface showing a meeting time with a timeline and the same moment listed in several time zones.

WhenWeMeet

Finds a meeting time that works for a group of 2–10 people across time zones, with proper DST-aware timezone math. Vue 3 + TypeScript frontend and a single self-contained Go binary with embedded SQLite and city/timezone datasets.

Vue 3 · TypeScript · Go · SQLite — live at whenwemeet.airs0urce.com

The Family Poop Battle lobby: language buttons and a row of cartoon family members to play as.

PoopGame

A 3D multiplayer battle: blocky avatars blast each other with toilet guns on a stylized Mũi Né beach — last one standing wins. three.js rendering, WebRTC peer-to-peer networking with a WebSocket relay fallback, fully synthesized Web Audio sound, and trilingual spoken taunts.

three.js · WebRTC · WebSockets · Node.js — live at poopgame.airs0urce.com

Open Source on GitHub

All repositories: github.com/airs0urce