FULL-STACK DEVELOPER
clean architecture · AI-driven engineering · intelligent automation
I build web applications end to end — server, data and interface — with a focus on code that stays readable, secure and maintainable long after it ships. My work spans games, scheduling systems, education platforms and business websites.
AI is at the center of how I work — twice over.
As an engineering method — I develop with Claude Code and LLM-assisted workflows across the whole cycle: architecture, implementation, review and testing. The speed of modern tooling, the discipline of classic engineering.
As a product capability — I design intelligent automations with n8n and LLM APIs: connecting services, orchestrating agents and turning manual processes into systems that run themselves.
- Architecture first — small classes, clear layers, code that explains itself
- Zero-dependency mindset — fewer moving parts, fewer things that break
- Security by default — encryption at rest, proper password hashing, secrets never in git
- Accessible — built to WCAG 2.1 AA, keyboard and screen-reader friendly
Core JavaScript · TypeScript · Node.js · C# · .NET · PostgreSQL · SQLite · Docker
AI Claude Code · n8n · LLM APIs · agent workflows
| Project | About | Stack |
|---|---|---|
| Slotline | Multi-tenant booking system for rooms, equipment and consultants — double-booking made impossible by a Postgres exclusion constraint rather than by application code, tenant isolation by row-level security, live calendars over SSE. Specced with spec-architect. |
TypeScript · Fastify · Postgres |
| HeWordle | Self-hosted daily Hebrew Wordle — accounts, streaks, leaderboard. Zero npm dependencies, answers encrypted at rest, WCAG 2.1 AA. | Node.js · SQLite |
| Airport Simulator | Real-time airport simulation — arrivals and departures competing for a shared runway and gates, watched live from a zero-dependency control-tower UI. | C# · ASP.NET Core · JS |
| ShortLinks | URL shortener with per-user click analytics — accounts with Google sign-in, ownership-guarded click logs, and short codes from RandomNumberGenerator rather than a seeded Random. |
C# · ASP.NET Core · EF Core |
| Dealership Platform | White-label bilingual (RTL) car-dealership platform — showroom, financing, leads, and a full admin back office, with a zero-setup in-memory demo mode. | TypeScript · TanStack · Supabase |
| Warehouse Serial Scanner | Touchscreen warehouse intake station — barcode scanning, on-screen keypad checkout, pluggable SQL Server/MySQL/Postgres with a zero-setup mock mode. | Node.js · Express |
| Calculator | Web calculator with a real expression engine — operator precedence, no eval, keyboard support. |
HTML · CSS · JS |
| Smart Data Matcher | AI-powered spreadsheet normalizer — LLM column mapping, value cleanup and rule-based filtering, from messy export to standard schema. | TypeScript · Gemini · Supabase |
| Market News Engine | Autonomous market & stock-news content pipeline — AI-generated posts, stories, tweets and short-form video, published across X, Threads, Instagram and Facebook. | n8n · LLM APIs · Social APIs |
| TeachersPlatform | Marketplace connecting music teachers and students — granular service listings, faceted search, escrow-protected payments. Hebrew-first, full RTL. | TypeScript · Next.js · Prisma |
| Shift Harmony | Shift-scheduling platform — planning and managing team work schedules through a refined, component-driven interface. | React · TypeScript · Cloudflare |
| SmartRadar | Personal event radar — curates and ranks concerts and events by taste, distance and price. Installable web app, Hebrew RTL. | JavaScript · PWA |
Reusable skills that shape how the work gets done — the engineering discipline above, packaged so it applies on every project instead of being remembered on each one.
| Skill | What it does | Use it when |
|---|---|---|
| spec-architect | Turns a rough idea into an engineering-grade technical spec — architecture, data models, every interface, edge cases and risks — before any code is written. Asks only the questions where two answers produce two different systems, then decides the rest and writes the assumptions down where they can be rejected. | Starting a project or a major feature from a loose description |
| spec-drift | Checks whether the code still matches the spec, and realigns whichever side is wrong. Reports gaps as regressions or staleness — never silently rewrites either one. | Returning to a project, finishing a milestone, or onboarding anyone onto a codebase that has a spec |
| readme-architect | Writes a repository README from evidence rather than adjectives — runs the project first, then fills a tight five-section skeleton with real output, observed numbers and the exact setup path. Refuses badge walls, empty sections, and any number it did not measure. | Making a repo public, or a README that describes the project instead of showing it |
| uilint | Catches the interface states that get skipped because whoever built it only clicked the path that works — loading, empty, error, success and partial. Blocks completion only on the ones that cause silent user harm, and reports each as the consequence a user would feel rather than as a rule number. | Building or reviewing any UI that fetches, submits or navigates — or when something feels broken and nobody can say why |
github.com/DahanItamar