About Me

Who I Am

I'm Etiel Yakira (איתיאל יקירה), a full stack developer based in Israel. I build web and mobile products end to end: the interface, the API, the database, the deploy pipeline, and the boring parts in between that decide whether a product survives its first month of real users.

Most of what I build runs on the Cloudflare edge (Workers, D1, Durable Objects, KV) with React, Astro and TypeScript on top. I like small, fast, cheap-to-run systems, and I like being the person who gets paged when they break, because that is where the real lessons are.

My Path

I came into software through a coding bootcamp, and the habit it left me with is learning by shipping: pick a real problem, build the thing, put it in front of people, and fix what breaks. Today I work full time as a software developer. The products on this site are what I build on evenings and weekends, which is also why they are designed to be cheap to run and easy to maintain alone.

Outside the Code

Most of my free time goes to my family. Beyond that I watch anime, play League of Legends, and read a lot of fantasy. What pulls me into a fantasy series is the world building: the rules, the history, and the way a story holds together inside them. It is not far from what I enjoy about designing game systems like Rook Street.

I'm curious about pretty much everything, and I love to cook. My speciality is lazy-proof recipes: food that tastes like effort but works for people who don't want to make any. One-pot pasta is my favourite category.

What I Build

Everything below is something I designed, built, deployed and still maintain myself.

  • PriceGuess Israel - a Hebrew daily game where you guess the real price of an Israeli supermarket product. It has several solo modes, an archive of past daily challenges, and real-time 1v1 matches built on WebSockets and Durable Objects. An hourly scraper keeps the product catalog fresh.
  • Rook Street - chess where every piece is also a stock. A deterministic, seeded market engine moves prices as the board changes, so every game can be replayed and verified on the server. I wrote about the engine in Inside Rook Street.
  • Wake Me Smarter - an iOS alarm clock you can only silence by solving a puzzle, written in Swift and SwiftUI with a small Cloudflare backend for the daily puzzles. The hard parts are covered in What iOS Really Lets an Alarm App Do.
  • A scheduling app for a personal trainer - sessions, recurring series, client packages, and one-way Google Calendar sync, in Hebrew for a non-technical user. Its worst outage became the postmortem The 7-Day Bug.

How I Work

  • Reproduce first. A bug fix starts with reproducing the bug the way a real user hits it, not with a theory.
  • Simple beats clever. I prefer the boring, robust option that someone can maintain at 3am over the impressive one.
  • Run it for free, then earn the bill. All of the products above run on free tiers. That constraint shapes the architecture, and several posts on this blog are about exactly where those limits bite.

My Technical Stack

  • Frontend: React 19, TypeScript, Astro 5, Tailwind CSS 4
  • Backend: Cloudflare Workers, Hono, Node.js, REST APIs
  • Real-time: WebSockets, Durable Objects
  • Data: Cloudflare D1 (SQLite), KV, MongoDB
  • Mobile: Swift, SwiftUI, StoreKit 2
  • Testing and tooling: Vitest, Playwright, fast-check, Biome, GitHub Actions

About This Blog

The blog is where I write up what I learn from building and running these products: architecture decisions, real bugs, postmortems, and the tradeoffs I would make differently. A few rules I hold it to:

  • Every post is about a system I built and run. Code excerpts come from the real codebases.
  • Dates are real publish dates. When a post changes in a meaningful way, I say so in the post.
  • If something I wrote is wrong, tell me and I will correct it.

About This Website

www.etiel.dev is plain HTML, CSS and JavaScript served from Cloudflare Workers, with no framework and no build step. The site shows ads through Google AdSense, which helps cover domain and developer-account costs. Ads are always clearly separated from the content, and no post is sponsored or paid for. You can read how data and cookies are handled in the Privacy Policy.

Get in Touch

I take on freelance projects and I'm always happy to talk about collaboration, side projects, or anything in these posts: