Game Dev + Full Stack Engineer

Building the Tools for
the Next Generation
of Creators.

>role:

About Me

Where engineering precision meets creative game design

I'm a fullstack developer who lives at the intersection of code and creativity. By day, I architect healthcare applications at Sheba Medical Center and build performant frontend systems. By night, I craft tools that empower game developers and dungeon masters alike — from dialog tree editors to WebGL-powered virtual tabletops. I led teams in the IDF, shipped features at Gong.io and WaveClear, and built every one of my side projects because I genuinely needed them to exist.

{ }

Engineering

Frontend architecture, graphics programming, real-time systems, and the obsessive pursuit of 60fps. I build applications that are as fast as they are functional.

Frontend Architecture & Performance
WebGL / Graphics Engineering
Full Stack System Design
Real-time Data & Collaboration
d20

Game Design

Narrative design, game mechanics, and the art of making things feel good to interact with. I build tools because the best way to understand a problem is to solve it.

Narrative & Mechanics Design
D&D World-building & DMing
Game Jam Veteran (48h builds)
Creative Tool Building

Dungeons & Dragons

DM and player

Video Games

Player and creator

Game Dev Tools

Building for creators

Cooking

Culinary experiments

Tech Stack

Technologies I work with to bring ideas to life

Frontend
ReactTypeScriptJavaScriptReduxZustandReact QueryNext.jsTailwind CSSCSSViteVue
Backend
TypeScriptExpressNode.jsPostgreSQLGoLuaElixirPythonMongoDB.NET
Tools & Platform
ElectronGitAzureAWSDockerSupabaseClerk AuthConvex DBFirebase
Specialties
Overwolf Appsshadcn/uiMUIGame Dev ToolsWebSocketsSVG Charts (visx, apexcharts)

...and always learning something new

Projects

From web applications to game development tools, here's what I've been building

Desktop Tool
Eavesdropper
Local-first AI desktop app for audio transcription and transcript Q&A. Raw audio stays on-device in SQLite while a hosted web layer handles auth, settings, cloud sync, and authenticated installer downloads.
Electron
Bun
React
TanStack Start
SQLite
Drizzle
FFmpeg
OpenRouter
  • >Context-isolated Electron IPC bridge
  • >Local-first privacy boundary
  • >Encrypted BYOK API key storage
  • >Windows release automation
Engine
Lighting VTT
Browser-based virtual tabletop for TV/table D&D setups. Renders large maps with pan/zoom, fog-of-war lighting, radial/conic/line light sources, mirror reflections, and token/combat tooling.
React
Pixi.js
WebGL
Convex
Clerk
TypeScript
  • >Dynamic 2D lighting (raycasting)
  • >Line-of-sight & fog of war
  • >60fps WebGL rendering loop
  • >Improved Initiative sync
Web App
FreeRoam
Collaborative trip-planning web app for groups. Plan itineraries on a map and calendar with labels, comments, history, and Figma-like live presence cursors — built on a zero-budget realtime architecture.
TanStack Start
React
SpacetimeDB
Better Auth
Leaflet
Drizzle
  • >SpacetimeDB realtime collaboration
  • >Budget-aware cursor throttling
  • >Map planning without paid APIs
Desktop Tool
Unfurl
Desktop narrative graph editor that imports Twine and Markdown dialogue files, visualizes branching story graphs with React Flow, and exports game-ready JSON.
Electron
React
React Flow
TypeScript
Zustand
Mobile
LockIn
Android app usage limiter. Select installed apps, set daily time limits, and get a full-screen block when usage exceeds the budget — powered by UsageStatsManager and a native foreground service.
React Native
Expo
Kotlin
Zustand
NativeWind
  • >UsageStatsManager native bridge
  • >Foreground service monitoring
  • >Expo config plugin automation
Web App
Chronicler's Desk
Tabletop reference web app for browsing D&D-style bestiary, spells, and items through searchable data tables, split-panel detail views, and authenticated custom monster storage.
Next.js
React
Convex
Clerk
TanStack Table
Tailwind CSS
Web App
Trip Vote
Realtime collaborative voting app that helps groups choose a travel destination. Share a session link, rank countries on an interactive world map, and reveal live results.
Next.js
React
Convex
Server Actions
Zustand
Tailwind CSS
Web App
Ghost Writer DnD
BYOK AI writing utility for generating D&D character quips and catchphrases. Multi-provider model support with local character profiles, favorites, and JSON backup/restore.
Next.js
Vercel AI SDK
Zustand
shadcn/ui
TypeScript
Games
Tetromino99
Phoenix LiveView Tetris-style prototype with a pure Elixir game engine. Server-authoritative state with SRS rotation, 7-bag piece generation, hold, ghost piece, and canvas hook rendering.
Elixir
Phoenix LiveView
TypeScript
ExUnit
Tailwind CSS
  • >Pure functional game engine
  • >SRS rotation & 7-bag queue
  • >Server-authoritative LiveView state
  • >Property tests with StreamData
Desktop Tool
Vidalysis
Python computer vision CLI for video analysis. Extracts frames, runs YOLO object detection, aggregates timeline segments, and generates natural-language summaries with optional annotated output.
Python
OpenCV
YOLO
PyTorch
Typer
Pydantic
Web App
AI Trolley
TanStack Start dashboard that parses LLM trolley-problem conversation exports into typed data, model/provider analytics, searchable tables, and manual classification overrides.
TanStack Start
React
Recharts
TanStack Table
TypeScript
  • >Markdown corpus parser
  • >Model/provider analytics charts
  • >Manual classification overrides
Games
Wolf & Raven
Godot 4 2D top-down game prototype with directional character movement, RTS-style camera controls, tall-grass stealth rendering, and shader-based persistent fog-of-war.
Godot
GDScript
Shaders
  • >Persistent fog-of-war mask
  • >8-direction CharacterBody2D movement
  • >Tall-grass stealth shaders
Games
Blood & Dominion
A game where you play as an ancient vampire leading a cult in attempt to take over the fictional city of Respira. The game is a 2D top-down strategy game. Inspired by games like Plague Inc. and Cultist Simulator. It is a game jam game made in 9 days in Godot.
Godot
Web
Games
Dullahan Dandi
A rogue-lite action RPG with branching dialogues where you play as a dullahan who is trying to get her head back. Inspired by games like Hades and Disco Elysium. Made in 3 months for university as my Final Project.
Unity
C#
Shader Graph
Games
Cheating with a Mimic
You play as a homeless person who has a pair of dice. The dice are small monstrous mimics. To get money you open a gambling stand in the street and use the mimics to cheat the customers. Made in 48 hours for a game jam.
React
TypeScript
MUI
MobX

Experience

My professional journey through different companies and roles

2025 – Present
Israel

Building Photon—a clinical decision-support and patient-charting platform for hospital workflows on the Cortechs team. Own substantial frontend surface across a Module Federation micro-frontend architecture, plus desktop integration tooling for Citrix hospital environments.

  • >Led React 19 + Tailwind CSS v4 + shadcn/ui platform upgrade across Photon host and Module Federation remotes
  • >Designed and shipped anesthesia monitoring dashboard with custom SVG vitals charting and Hebrew i18n for surgical workflows
  • >Built surgeries module features (blood products, electronic implants, consiliums) with accordion tables and episode-aware filtering
  • >Migrated 50+ API endpoints from form-data to JSON, improving type safety and axios interceptor consistency
  • >Solo-migrated photon-widget desktop bridge from legacy JavaScript to TypeScript + Vite
React
TypeScript
Vite
Tailwind CSS
shadcn/ui
Module Federation
TanStack Query
i18next
ApexCharts

Get In Touch

Have a project in mind or want to collaborate? I'd love to hear from you!

Contact Information
Feel free to reach out through any of these channels
Send a Message
I'll get back to you as soon as possible

© 2026 Tomer Norman. Built with Astro, TypeScript, and WebGL.