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.

L

gametrix.org

Featured

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.

Angular
TailwindCSS
NgRx SignalStore
Nest.js
Node.js
TypeScript
Colyseus
LiveKit
PostgreSQL
Prisma
Docker
nginx
T

triads.gametrix.org

Featured

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.

Angular
TailwindCSS
DaisyUI
NgRx Signals
Capacitor
Ionic
Matter.js
GSAP
AG Charts
Nest.js
Node.js
TypeScript
PostgreSQL
Prisma
Docker
PM2
W

m.freedemokit.com

Featured

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.

Angular
Ionic
TypeScript
NgRx SignalStore
TailwindCSS
WebSocket
Web Workers
P

abenezer-ayalneh.vercel.app

Portfolio Website

This portfolio — built with Next.js, shadcn/ui, and Framer Motion.

Problem

The previous portfolio was a Vite SPA with no routing, duplicated rendering logic, and no dark mode or accessibility support.

Solution

Migrated to Next.js 15 (App Router) with shadcn/ui components, next-themes for dark/light mode, react-hook-form + Zod for form validation, and Framer Motion for scroll-triggered animations.

Next.js
React
TypeScript
TailwindCSS
shadcn/ui
Framer Motion
Zod

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

View GitHub Profile