Full-stack developer · Israel

I build games, apps and tools, then I keep them running.

etiel@portfolio - ~/intro online

➜ ~ etiel --boot

booting portfolio 100%

➜ ~ neofetch

Etiel Yakira - Full Stack Developer

etiel@portfolio

─────────────────────

role Full-Stack Developer

stack React · Node · Astro · CF Workers

focus real-time apps · scalable APIs

loc Israel

stat open to freelance

➜ ~ ls ./links

➜ ~

About Me

I'm a full stack developer from Israel with a passion for building web applications that people actually enjoy using. My journey started with curiosity about how websites work, and quickly grew into a deep love for the entire development stack - from crafting smooth user interfaces with React to designing robust backend systems with Node.js and databases.

I specialize in modern JavaScript/TypeScript development, and I'm particularly excited about edge computing with Cloudflare Workers. I've built everything from real-time multiplayer games using WebSockets and Durable Objects to an iOS alarm app and a scheduling tool for a personal trainer. I believe the best code is code that solves real problems elegantly.

By day I work as a software developer; evenings and weekends go to the products below, each one a chance to learn something new. I'm always looking for the next interesting challenge - whether that's optimizing a database query, designing a responsive UI, or figuring out how to deploy a real-time game on a global edge network.

🚀
Full Stack

End-to-end development from UI to database, APIs to deployment

⚡
Real-Time Systems

WebSockets, multiplayer games, and live data with Durable Objects

☁
Cloud-Native

Cloudflare Workers, Pages, D1 databases, and edge computing

Showreel

Featured Projects

Products I designed, built and still run in production. Each one has a write-up on the blog about how it works.

Live

PriceGuess Israel

Guess the real price, every day.

A Hebrew daily game built on real Israeli supermarket prices. Everyone gets the same product, six guesses, and a hint after each one.

  • Real-time 1v1 matches over WebSockets on Durable Objects
  • An hourly scraper keeps the product catalog current in D1
  • Several solo modes and a replayable archive of past dailies
AstroReactTypeScriptWorkersDurable ObjectsD1
Live

Rook Street

Chess where every piece is also a stock.

Captures move the market. Win by checkmate, or by the higher net worth when the closing bell rings.

  • Deterministic, seeded engine: every game replays and is verified on the server
  • Frozen engine versions, so an old game never changes its result
  • Puzzle modes checked to have exactly one solution
TypeScriptchess.jsReactHonoD1fast-check
iOS app

Wake Me Smarter

The alarm you have to outsmart.

An iOS alarm clock you can only silence by solving a puzzle, so you are actually awake when it stops.

  • Quick math, a daily Wordle, a Stroop test, a maze and a timing challenge
  • Daily puzzles served from a Cloudflare Worker backed by KV
  • SwiftUI with SwiftData persistence and StoreKit 2 tiers
SwiftSwiftUISwiftDataStoreKit 2Workers KV
Client app

Coach Scheduler

Scheduling for a personal trainer.

A Hebrew, phone-first app I build and run for a personal trainer: sessions, recurring weekly series, client packages, and one-way Google Calendar sync.

  • Recurring series of up to 52 sessions inside the Workers free-plan limits
  • An hourly cron reconciles calendar state using a dirty flag
  • Designed for a non-technical user who runs the business from a phone
AstroTypeScriptWorkersD1Google OAuth

Blog

Engineering write-ups from the products I build and run - architecture, real bugs, postmortems, and the tradeoffs behind them.

Skills & Technologies

Everything here is used in production in at least one of the products above.

ReactTypeScriptAstroTailwind CSSCloudflare WorkersDurable ObjectsD1HonoDrizzle ORMZod
SwiftSwiftUISwiftDataStoreKit 2VitestPlaywrightfast-checkBiomeGitHub Actionschess.js

Frontend

React 19TypeScriptAstro 5Tailwind CSS 4Zustanddnd-kitReact SpringLightweight ChartsMotion

Backend & Edge

Cloudflare WorkersDurable ObjectsWebSocketsHonoZodCron TriggersGoogle OAuthGoogle Calendar API

Data

Cloudflare D1 (SQLite)Drizzle ORMWorkers KVSQL migrationsWeb scraping

iOS

SwiftSwiftUISwiftDataStoreKit 2UserNotificationsSwift ChartsCoreMotionAVFoundation

Testing & Tooling

VitestPlaywrightfast-checkTesting LibraryBiomelefthookGitHub ActionsWranglerpnpm workspaces

Game Logic

chess.jsSeeded RNGProperty-based testingDeterministic replays

Get In Touch

I'm always open to discussing new projects, creative ideas, or opportunities to collaborate. Whether you have a question, want to work together, or just want to say hello - feel free to reach out!