Oz Hayman (Willy)

AI Solutions Engineer · Technical Founder · Binyamina, Israel

I build AI products that people actually use.

Construyo productos de IA. אני בונה מוצרי AI. Je construis des produits d'IA. Eu construo produtos de IA.

For 10 years I built and ran Fluent House of Languages, and I was also its technical builder: the AI learning app, the team platform, the events platform and the automations behind them. I understand the business problem, I can build the solution, and I can lead the people around it.

10 yrsfounder and director, Fluent
40B2B clients, companies and municipal bodies
~100teachers, staff and freelancers led
15,000registered users on the events platform

Selected work · Fluent, 2016 – now

Five systems I designed and built

Each one started with a real business problem. Screens below are from the live development builds.

01 · AI productDev live · launch next

AI feedback for language learners

Problem
Students practice speaking and writing between lessons, but teachers can't review every answer. The old feedback flow ran on no-code tools, and audio feedback failed because of race conditions.
What I built
  • A student app (iOS, Android, web) with topics, grammar, business projects, vocabulary and speaking tasks.
  • One AI pipeline for 7 task types: Deepgram transcribes audio, then Claude gives feedback on speaking, writing, grammar and business-project drafts.
  • A level test graded by Claude, which sets the student's level automatically.
  • Prompts live in the database, so managers edit them in the app. Every save makes a new version, and each answer records the version it used.
Key decision
Reliability first. The client creates the answer's id, so a double submit gives one answer. A database trigger starts the work, and a sweeper every 2 minutes retries stuck or failed answers, up to 5 attempts with backoff. A claim with a lease means two runs never answer the same row.
Stack
Expo / React NativeTypeScriptSupabaseEdge Functions (Deno)Claude APIDeepgrampg_cron
Student app speaking task: the student's recording, the transcript, and the AI reaction with a correction and a follow-up question
Speaking task: the student records an answer, Deepgram writes what they said, and Claude reacts, corrects and asks a follow-up question.
Student app grammar lesson: Past Simple with a lesson video and slides, and a progress bar
Grammar lesson: video, slides, then exercises graded in the database.
Student answer id = idempotency key Submission row trigger fires ai-feedback claim + lease Deepgram Claude Feedback saved + prompt version Sweeper, every 2 min retry ≤ 5, backoff stuck or failed rows
The AI feedback pipeline. Audio goes to Deepgram first; every answer then goes to Claude with the active prompt.
7AI feedback task types
8Edge Functions
~53Klines of TypeScript and SQL
02 · B2B platformDev live · launch next

One team app for teachers, managers and clients

Problem
Teachers, managers and B2B clients each need a different view of the same courses. Clients must see attendance and app use, but never students' answers or class feedback.
What I built
  • Three role-gated areas in one web app: Teacher, Manager and Client View.
  • Teachers mark attendance, write notes, publish syllabus items and set deadlines. Managers run courses, contracts, content and AI prompts.
  • A read-only "view as student" mode, so staff see exactly what a student sees.
Key decision
Security lives in the database, not the screens. Every table has row-level security, and tests check it from 7 points of view: the student, another student, their teacher, an unrelated teacher, a manager, a client contact and an anonymous visitor. The build fails if a table has no security policy.
Stack
ReactViteTailwindTanStack QueryPostgreSQL RLSpgTAPCloudflare Pages
Team app: a private lesson's syllabus with weekly lessons, Quizlet links, publish checkboxes and deadlines
Teacher area: weekly syllabus with publish switches and deadlines.
Team app manager area: course information with teacher, journey level, grammar level and status
Manager area: a B2B group course, with attendance, syllabus, to-dos and app use in tabs.
43database test suites
7roles tested per table
3areas in one app
03 · MigrationImported to dev · cutover next

From no-code to a real platform, without losing a row

Problem
Three Glide apps had hit their row limit and were costing more each month. They could not ship as real apps to the App Store or Google Play.
What I built
  • An audit of every Glide table: relations, data quality and a list of personal data.
  • A normalized, language-aware schema, ready for Hebrew, Spanish and French courses.
  • A re-runnable import: raw export, cleaning, typed tables, then a read-only verify step.
  • All Glide-hosted files copied into private storage.
Key decision
A reconciliation report: every source row is loaded, merged, or dropped with a written reason. The first real import had 0 unexplained rows.
Stack
Node.jsPostgreSQLSupabase StorageGitHub Actions
Student app Topics page listing topics with status, completed and deadline columns
Imported data on the new student app: topics with status and deadlines.
~25Krows migrated
0unexplained rows on first import
~$250saved per month
04 · Community platformIn production

Events platform for 15,000 members

Problem
Language-exchange events of about 150 people, twice a month, need fast sign-up and fair limits for guests and ambassadors.
What I built
  • A custom WordPress plugin, written from scratch: guest and ambassador sign-up, punch cards, token-based email confirmation, an admin dashboard and a cron job that expires missed confirmations.
  • One-click Google sign-in.
  • Fixed a site-wide registration failure caused by cached security tokens.
Next
Rebuilding it on the same Supabase identity as the apps, so one person has one account for events and courses.
Stack
PHPWordPressMySQLJavaScriptOAuth
15,000registered users
~150people per event
2×events per month
05 · Automation and operationsIn production

Automations that give back 20 hours a week

Problem
A small team spent hours on copy-paste work: saving class recordings, building participant lists and creating each course's weekly syllabus.
What I built
  • Make.com workflows: Zoom recordings to Google Drive, event participant lists, and syllabus weeks cloned from templates.
  • Moved newsletters from Mailchimp to Brevo, including templates and compliance review.
  • Closed a security hole: an API key exposed in website code, moved behind a server-side webhook. Stopped bot spam on sign-up forms.
Stack
Make.comZapierWebflowBrevoZoom APIGoogle Drive
~20 hsaved per week
1exposed key removed
3core workflows automated

Before Fluent

Earlier work

2016 – now

Founder & Director, Fluent House of Languages

Built the company from zero to ₪1.2–1.5M yearly revenue and 40 B2B clients. When the data showed B2C used 80% of our time and cost for 50% of revenue, I refocused the company on B2B.

2013 – 2015

Developer & NLP Analyst, Wispa

Built NLP algorithms that read free-text social media posts and turned them into structured marketplace listings, before Facebook Marketplace existed. Backend in C#, Java and SQL.

2006 – 2012

Systems Officer, Air Force Intelligence

Led a 4-person development team building intelligence information systems. Completed a B.Sc. in Mathematics and Computer Science during service.

About

Founder, builder, teammate

I like the whole path: sitting with the customer, finding the real problem, designing the system and shipping it. At Fluent we worked in Holacracy, so I'm used to clear roles, shared decisions and being accountable to a team.

I'm looking for a role where I build AI solutions with customers and lead people: AI Solutions or Forward Deployed Engineer, Tech Lead, or Head of Product. Caesarea, Yokneam, hybrid Tel Aviv, or remote.

Outside work I played rugby for 11 years: Israel national team, and captain of ASA Tel Aviv. I also play chess.

Languages I work in

HEHebrewNative
ESSpanishNative
ENEnglishFluent
FRFrenchFluent
PTPortugueseFluent
ITItalianConversational
RURussianConversational
EOEsperantoConversational

Contact

Building something with AI? Let's talk.