Portfolio

Yair Alfandary

Full-stack developer. I design, build and run products end to end — from data pipelines and AI to the last pixel of the interface — and I keep them running in production.

Main work
Watchtower on a desktop browser
Watchtower on a phone
Founder & sole engineer · 2026 – present

A media-intelligence platform for political communications teams. It watches everything said about a client — press, social, live TV and radio, public groups, the parliamentary record — decides what each item means for that client's declared goals, and turns the meaningful ones into alerts, boards, scores and drafted responses.

  • Ingestion pipeline on BullMQ: eight collectors (news search, RSS, scrapers, social, live broadcast, parliaments in ten countries, uploads) pinch into one queue, then dedup → clean → relevance gates → a single AI read per item.
  • Shared-once data model: anything identical for every client — a scraped page, a group's posts, a parliamentary record — is stored and analysed once, with per-client meaning layered on through link tables. One scrape and one AI read serve every entity watching it.
  • Live TV and radio: ffmpeg capture with Whisper transcription and a ring buffer that cuts shareable clips of the moment a client is mentioned.
  • Meaning layers on top of the AI read: vector embeddings, claim extraction, contradiction detection between what an actor said before and now, KPI scoring against campaign goals.
  • Two deployed processes — Next.js on Vercel, a long-running worker on Railway — sharing Postgres and Redis, with circuit breakers on paid APIs, Sentry, Playwright tests and an LLM eval suite.
  • Multi-tenant roles, i18n, web push, PDF reports, and an iOS app built from the same codebase with Capacitor.
  • Next.js
  • TypeScript
  • Postgres · Drizzle
  • Redis · BullMQ
  • Pinecone
  • OpenAI · Gemini · Whisper
  • ffmpeg
  • Capacitor iOS
  • Vercel · Railway
Zohar Alfandary — diamond house on a desktop browser
Zohar Alfandary — diamond house on a phone

Zohar Alfandary — diamond house

zohar.alfandary.co
Design & full-stack build

A bilingual (Hebrew/English, right-to-left and left-to-right) jewellery store, live and taking orders, with a 3D atelier where customers design their own piece.

  • 3D configurator in three.js: stones are built facet by facet the way a cutter cuts them, priced live as options change, and saved as a design the house can quote on.
  • Full checkout with Israeli payment providers, coupons and promotions, stock that decrements atomically so nothing oversells, and SMS updates as an order moves through each stage.
  • Prices that follow the gold market: a daily cron reads the spot price and, when the owner switches it on, re-prices every made-to-order piece.
  • Admin for products, orders, appointments and designs; AI-assisted product import that re-shoots supplier photos as on-brand studio images.
  • One Next.js app serving two sites by hostname — the store and this personal site — split at the proxy so each keeps its own layout, language and access rules.
  • Next.js 16
  • React 19
  • TypeScript
  • Prisma · Postgres
  • three.js
  • Tailwind
  • Vercel
SWEBO on a desktop browser
SWEBO on a phone
Design & full-stack build

A live Hebrew streetwear store — the codebase the diamond house was later built from — run day to day by its owners from an admin I built for them.

  • Promotions engine: bundles, buy-X-get-Y and per-unit discounts, choosing the cheapest legal combination per product so offers never stack by accident.
  • Stock that cannot oversell: atomic decrements at checkout, live per-size stock capping the cart, and exact low-stock counts on the product page.
  • SMS at every fulfilment stage, admin alerts for new orders, and a warning when the SMS balance runs low.
  • An admin the owners actually use: drag-to-reorder products and categories, order search, per-product size guides, a closed-store mode with a countdown page.
  • Next.js 16
  • TypeScript
  • Prisma · Postgres
  • Tailwind
  • Payments · SMS
  • Vercel

Client work

Screenshots from the delivered sites — a full walkthrough of any of them on request.

Plant Ditech on a desktop browser
Plant Ditech on a phone
Plant Ditech
Client site

Full rebuild of an agri-tech phenotyping company's site: 293 pages migrated off WordPress to a fast static build, a new brand identity, and site-wide search.

  • Static HTML
  • Migration
  • Search
Yoray Lesinger on a desktop browser
Yoray Lesinger on a phone
Yoray Lesinger
Client site

Speaking site for a former IDF paratrooper commander — a seven-page Hebrew build with a gallery and an in-page editor, so he publishes his own copy without a redeploy.

  • Hebrew / RTL
  • In-page CMS
  • Google sign-in
Klaris-Dent on a desktop browser
Klaris-Dent on a phone
Klaris-Dent
Client site

A dental clinic in Even Yehuda: every page and guide carried over from WordPress into a fourteen-page static build, with click-to-call, a WhatsApp contact form, the clinic's Google reviews, and a map and Waze pin.

  • Hebrew / RTL
  • Migration
  • Local SEO

What I work with

Front end
React, Next.js (App Router), TypeScript, Tailwind, three.js, accessible and RTL-aware UI
Back end
Node, API design, Postgres with Prisma and Drizzle, Redis, job queues, cron, auth
AI
LLM pipelines, embeddings and vector search, transcription, evals, cost control
Shipping
Vercel, Railway, CI, Sentry, Playwright, payments, SEO, iOS via Capacitor
Read my CV →