~/home

// work

Projects

A selection of projects I've built — from real-time multiplayer games to full-scale betting platforms. Each one is a problem I found worth solving.

huddle.abenezer-ayalneh.dev
Huddle — Self-Hosted Video Conferencing screenshot 1 of 4
Huddle — Self-Hosted Video Conferencing screenshot 2 of 4
Huddle — Self-Hosted Video Conferencing screenshot 3 of 4
Huddle — Self-Hosted Video Conferencing screenshot 4 of 4

★ featured · 01

Huddle — Self-Hosted Video Conferencing

A self-hosted, browser-based video conferencing app built on LiveKit.

Problem
Cloud-based video platforms compromise your privacy, lock you into their ecosystem, and charge for features you need. You want real-time collaboration without sacrificing control or paying recurring fees.
Solution
Built a complete self-hosted video conferencing solution using LiveKit for WebRTC media, NestJS for token management and room services, and Next.js for the frontend. Users can host their own meetings with full control over infrastructure and data.
Next.jsReactTypeScriptNest.jsLiveKitRedisPostgreSQLPrismaDockerCaddyBetter Auth
gametrix.org
Lynx — Word Guessing Game screenshot 1 of 6
Lynx — Word Guessing Game screenshot 2 of 6
Lynx — Word Guessing Game screenshot 3 of 6
Lynx — Word Guessing Game screenshot 4 of 6
Lynx — Word Guessing Game screenshot 5 of 6
Lynx — Word Guessing Game screenshot 6 of 6

★ featured · 02

Lynx — Word Guessing Game

A real-time multiplayer word guessing game with voice communication.

Problem
Classic word games lack real-time social interaction, making remote play feel disconnected and less engaging.
Solution
Built a synchronized multiplayer experience using Colyseus for real-time game state and LiveKit for WebRTC voice communication, enabling a fully social gameplay loop.
AngularTailwindCSSNgRx SignalStoreNest.jsNode.jsTypeScriptColyseusLiveKitPostgreSQLPrismaDockernginx
triads.gametrix.org
Triads — Word Puzzle Game screenshot 1 of 3
Triads — Word Puzzle Game screenshot 2 of 3
Triads — Word Puzzle Game screenshot 3 of 3

★ featured · 03

Triads — Word Puzzle Game

A word puzzle game where players find hidden keywords connecting groups of three cue words.

Problem
Word puzzle games often feel static and visually flat, with no sense of physicality or progression — and most require account creation just to play.
Solution
Built a fully accountless experience with physics-based floating bubbles (Matter.js) and fluid GSAP animations to make the puzzle feel alive. All player identity and statistics are stored locally, removing any friction to start playing. The backend stays stateless per player, focusing purely on serving and validating puzzle content.
AngularTailwindCSSDaisyUINgRx SignalsCapacitorIonicMatter.jsGSAPAG ChartsNest.jsNode.jsTypeScriptPostgreSQLPrismaDockerPM2
m.freedemokit.com
White-Label Sports Betting Platform screenshot 1 of 3
White-Label Sports Betting Platform screenshot 2 of 3
White-Label Sports Betting Platform screenshot 3 of 3

★ featured · 04

White-Label Sports Betting Platform

A fully-featured mobile-first sports betting application.

Problem
The client needed a white-label based sports betting frontend that could be skinned for multiple brands while supporting real-time market data over WebSockets.
Solution
Engineered an Angular + Ionic hybrid application with NgRx SignalStore for reactive state management and Web Workers for off-thread WebSocket processing, ensuring smooth UI performance under high-frequency data updates.
AngularIonicTypeScriptNgRx SignalStoreTailwindCSSWebSocketWeb Workers

Want to see more? Check out my GitHub for all public repositories.

View GitHub Profile