Oz Hayman (Willy)
Oz Hayman

AI Solutions Engineer · Technical Founder · Binyamina, Israel

I build AI products that people actually use.

For 10 years I built and ran Fluent House of Languages, and I was also its technical builder: the AI language-learning app, the team management system, the community 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
17,000registered users on the events platform

Selected work · Fluent, 2016 – now

Four systems I built at Fluent, and one side project

Each one started with a real business problem at Fluent and is used by students, teachers, managers or clients.

01 · Learning appDev live · launch next

Fluent English Course: a language-learning app with an AI teacher

Problem
Students practice speaking and writing between lessons, but teachers can't review every answer quickly. Feedback came late, or not at all.
What students get
Immediate, detailed feedback on every answer, like a personal teacher. In speaking tasks the AI teacher listens, shows what the student said, corrects it, explains why, and asks a follow-up question. The feedback is about each student's own answer, so everyone works on their own mistakes. A level test, graded by AI, places new students at the right level.
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.
  • 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.
Writing task: the student's answer and the AI feedback with corrections and short explanations
Writing task: corrections with a short reason for each one.
Business project: a job-interview preparation draft with line-by-line AI corrections
Business project: the student drafts job-interview answers, and the AI corrects them line by line.
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 · Management systemDev live · launch next

Fluent Team: the management system for teachers, managers and clients

Problem
Teachers, managers and B2B clients all work on the same courses, and each needs a different view. Everything must stay in sync: when a teacher publishes a lesson, students see it in the app; when a teacher marks attendance, the client sees it. Clients must never see 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: App Use summary for a group course, with completion by topic, grammar and business project, and per student
App Use: teachers and clients see how much of the published work each student has done.
Team app: course attendance rate, an attendance grid per lesson date, feedback and weekly teacher tasks
Teachers' tasks: attendance per lesson, class feedback and the weekly checklist. Contact details blurred.
43database test suites
7roles tested per table
3areas in one app
03 · Community platformIn production

Fluent Events: community and registration platform

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
17,000registered users
~150people per event
2×events per month
04 · AutomationsIn production

Business automations: 20 hours back every week

Problem
A small team spent hours every week on copy-paste work: saving class recordings, building participant lists and creating each course's weekly syllabus. These automations now run every day and let the team spend that time on students.
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
05 · Side projectPrototype · built on Base44

Slango: learn real-life English slang, with an AI conversation partner

Problem
Students learn textbook English, then can't follow how people really talk. Slang and idioms are hard to practice in class.
What I built
  • A mobile web app with an expression of the day, flashcards, quizzes and a library of slang and idioms by level.
  • AI conversation practice: role-play scenes like "catching up with a friend", on a timer, in natural everyday English.
  • Game mechanics to bring students back: points, streaks, levels and a leaderboard.
Why it matters
I built it in July 2026 on an AI app builder, to test a new product idea quickly before investing in code.
Stack
Base44AI app builderLLM conversation

Open Slango

Slango home: streak, points, expression of the day, flashcards and quiz
Slango flashcard for the word gobsmacked, with meaning and example
Slango AI conversation practice: catching up with a friend
Home, flashcards and the AI conversation partner.

How I build

Rebuilding a live business on a new platform

Systems 1 and 2 started on no-code tools. When the business outgrew them, I moved everything to code while the school kept running.

Engineering storyImported to dev · cutover next

Moving Fluent from no-code to code without losing a row

Why
The first versions of the learning app and the team system ran on Glide, a no-code tool. They hit its row limit, cost more every month, and could not ship as real apps to the App Store or Google Play. So I rebuilt them in code.
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

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

Israeli Air Force: flight academy, then Air Force Intelligence

Three years in the Air Force flight academy (pilot course). Then Systems Officer in Air Force Intelligence, leading 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.

ozhayman@gmail.com LinkedIn