Consultant stack
Tool notes in Yonatan’s own English; the rest translated from Hebrew
Yonatan Gross
Tech & AI stack: Mostly tools for building software, AI and automationsAI systems engineer · Yonyon AI
At a glance
- 69 tools
- 6 categories
- 69 uses personally
Core stack
Picked only from the consultant's own words: daily use, years of use, "almost exclusively".

Claude CodeDaily use
“The tool that built this site and most of my business.”
GitHub24 repos
“Code, issues, CI and releases, in one place.”

Wispr FlowEvery day
“Most of what I send an agent starts as speech, not typing.”

OrchestKitHis own project
“The plugin that turns Claude Code into a team with roles.”
Anthropic API
“Claude runs the agents, the site chat, and the ops bots.”

Docker
“Local dev matches production because both are the same compose stack.”

Slack19 channels
“Every bot, deploy and alert reports into a channel, not into a log file.”
“I build AI that runs itself, then keep it running.” The list here is the stack yonyon.ai runs on, as Yonatan published it on his stack page: “in three rings: my daily loop at the center, the infrastructure and models it runs on next, and the channels and dashboards that carry it outward.” All 69 tools, each with its dossier, are on yonyon.ai.
Details for every tool
In the consultant's own words, with a link to the source of each quote.
Copies the scored tools into your private My Stack. Nothing is shared.
Daily loop7
Claude CodeNot in Curalo yetUses itWhy:Builds everything: “The tool that built this site and most of my business.” In practice: This site: 500+ pull requests written with Claude Code. The site chat runs on Claude with my knowledge base. My ops bots investigate deploys and post summaries to Slack.
- GitHubNot in Curalo yetUses it
Why:Where the work lives: “Code, issues, CI and releases, in one place.” In practice: 24 active repos across the org. Every pull request runs the full check suite before merge. Promotes to production are merged by an App, never by hand.
Wispr FlowNot in Curalo yetUses itWhy:I talk, it types: “Most of what I send an agent starts as speech, not typing.” In practice: Briefs to my agents get dictated, not typed. Mixed Hebrew and English in one sentence still lands clean.
DockerNot in Curalo yetUses itWhy:Everything runs in a container: “Local dev matches production because both are the same compose stack.” In practice: Local dev runs the same compose stack as production. Production deploys blue-green. The test stack is ephemeral, so integration tests never touch the dev database.
- Google WorkspaceNot in Curalo yetUses it
Why:Mail, calendar and docs: “Where the business mail and calendar live, readable by my agents.” In practice: My agents search my inboxes instead of me scrolling. Meeting slots are proposed from the real calendar, not guessed.
Codex CLINot in Curalo yetUses itWhy:A second coding agent: “OpenAI's coding agent, for tasks where a second model is the better fit.” In practice: Some coding tasks go to Codex instead of Claude Code.
- CCandleKeepNot in Curalo yetUses it
Why:A library my agents can read: “Books and my own notes, searchable by agents before they reinvent an answer.” In practice: My agents check the library before re-deriving a lesson.
Build and code20
OrchestKitNot in Curalo yetUses itWhy:My agent operating system: “The plugin that turns Claude Code into a team with roles.” In practice: 106 skills and 37 agents, installed in every repo I work in. Its hooks refuse commits that repeat a mistake I already paid for.
- StorybookNot in Curalo yetUses it
Why:Every component, in isolation: “Where a component is proven before it reaches a page.” In practice: My agents query the catalog before writing a new component, so they reuse instead of duplicate. Components get verified without logging into the app.
shadcn/uiNot in Curalo yetUses itWhy:The UI primitives: “Components I own the code for, not a library I am locked into.” In practice: Every primitive on this site started as a shadcn component I then made mine. My design system layers tokens and patterns on top of it.
- CursorNot in Curalo yetUses it
Why:A second pair of eyes: “A separate review lane, so one model does not grade its own homework.” In practice: Kept as a reviewer lane beside my main agent, on purpose. It only earns its seat if it catches a class of bug the other lane misses.
- Next.jsNot in Curalo yetUses it
Why:The web framework: “The framework this site and the client sites I build run on.” In practice: This site runs on Next.js 16, in English and Hebrew. The client sites I build run on it too.
TypeScriptNot in Curalo yetUses itWhy:Types everywhere: “Every JavaScript repo I own is TypeScript, so mistakes fail the build, not the visitor.” In practice: Every JavaScript repo I own is TypeScript. A type error blocks the merge on this site.
ReactNot in Curalo yetUses itWhy:Every interface I ship: “The UI layer under this site, my dashboard and the client sites.” In practice: This site, my dashboard and the client sites are all React 19.
Tailwind CSSNot in Curalo yetUses itWhy:The styling layer: “Utility classes on top of design tokens, so light, dark and Hebrew all come from one source.” In practice: Every style on this site is a Tailwind utility or a token. Hebrew layout comes from logical properties, not a second stylesheet.
FastAPINot in Curalo yetUses itWhy:The API behind my agents: “The Python API my platform and its agents run through.” In practice: My platform's API is a FastAPI app. Request and response models are typed end to end.
- PlaywrightNot in Curalo yetUses it
Why:End-to-end tests: “Real browsers click through the site before a change can merge.” In practice: The end-to-end suite runs on every pull request to this site. The hero has snapshot baselines in Chromium, Firefox and WebKit.
MotionNot in Curalo yetUses itWhy:Animation: “The motion on this site, from section reveals to this orbit's dossier.” In practice: Section reveals and the dossier opening on this site are Motion.
RemotionNot in Curalo yetUses itWhy:Video, written as code: “Videos composed in React, so a change is a commit, not a re-edit.” In practice: My creative toolkit renders video through Remotion.
- VitestNot in Curalo yetUses it
Why:Unit tests: “The fast test layer that runs on every push.” In practice: This site runs about 2,600 unit tests before a push goes out.
- pnpmNot in Curalo yetUses it
Why:Package manager: “Installs for every JavaScript repo, with a delay on brand-new releases.” In practice: Every JavaScript repo I own installs with pnpm. A package has to be a day old before it can land.
CodeRabbitNot in Curalo yetUses itWhy:AI code review: “A reviewer that reads every pull request before I do.” In practice: Reviews pull requests in three of my repos.
RenovateNot in Curalo yetUses itWhy:Dependencies, kept current: “A bot that opens the update pull requests so I only review them.” In practice: Keeps dependencies current in 12 of my repos.
uv + RuffNot in Curalo yetUses itWhy:Python, fast: “Astral's installer and linter for every Python project I run.” In practice: Python installs and lint in my CI run through uv and Ruff.
TurborepoNot in Curalo yetUses itWhy:The monorepo build: “Builds and tests only what changed, and remembers the rest.” In practice: My platform monorepo builds and tests through Turborepo.
Context7Not in Curalo yetUses itWhy:Current docs for agents: “Agents read the library docs as they are today, not as they were at training time.” In practice: My agents check the current docs before writing against a library.
21st.devNot in Curalo yetUses itWhy:Component search: “A registry of ready components my agents search before building one.” In practice: My agents search it before writing a new component from scratch.
Infrastructure5
VercelNot in Curalo yetUses itWhy:Ships the front ends: “Every client site and dashboard deploys here on push.” In practice: This site deploys on every merge, with a preview URL per pull request. Client sites run here too, each on its own project.
CloudflareNot in Curalo yetUses itWhy:The edge in front of everything: “DNS, the firewall and email security in front of every site I run.” In practice: Every domain I run is managed and protected here.
- TerraformNot in Curalo yetUses it
Why:The servers are a file: “No server exists because someone clicked a button.” In practice: The CI fleet's size and shape live in version control, not in a console. A box can be rebuilt from the repo rather than from memory.
Cloudflare R2Not in Curalo yetUses itWhy:Where the files live: “Object storage with no egress fee, which is the whole reason.” In practice: Client deliverables and generated media are stored and served from here. Public and private buckets are split, so nothing leaks by default.
UpstashNot in Curalo yetUses itWhy:Rate limits without a server: “The serverless Redis that rate-limits this site's chat and API routes.” In practice: Rate-limits the chat and API routes on this site.
Models and AI21
- Claude Agent SDKNot in Curalo yetUses it
Why:Agents inside my API: “The same agent loop as Claude Code, running inside my own services.” In practice: My platform's API runs Claude agents through the SDK.
- Vercel AI SDKNot in Curalo yetUses it
Why:AI in the web apps: “How model output streams into the interfaces I build.” In practice: This site and my dashboard stream model output through it.
- Anthropic APINot in Curalo yetUses it
Why:The model behind the work: “Claude runs the agents, the site chat, and the ops bots.” In practice: The chat on this site answers from my own knowledge base. My ops bots read deploys and write the summary themselves.
OpenAINot in Curalo yetUses itWhy:Second opinion and images: “Where I go when a different model is the better tool.” In practice: Marketing images and product cards are generated here. Kept in the fallback chain so one provider outage is not an outage.
Google GeminiNot in Curalo yetUses itWhy:Video, images and voice: “Google's model family for everything that is not text.” In practice: Hebrew voice output uses Google's speech, pinned to a specific voice. Video and image generation sit behind a circuit breaker, so a failing provider is skipped instead of retried.
GroqNot in Curalo yetUses itWhy:Transcription, fast: “Whisper at a speed that makes voice notes practical.” In practice: Short voice messages get transcribed here before anything reads them.
OpenRouterNot in Curalo yetUses itWhy:One key, many models: “Lets me swap a model without swapping an integration.” In practice: Sits in my eval path: the cross-model matrix scores the same prompt on several vendors' models through one key.
HiggsfieldNot in Curalo yetUses itWhy:Brand visuals and video: “Where the cinematic brand work gets made.” In practice: Brand images and reels for this business are produced here. Stills get approved before any video renders, so a bad frame never becomes a bad clip.
fal.aiNot in Curalo yetUses itWhy:Image models on tap: “The generation backend behind the creative pipeline.” In practice: Sits behind a circuit breaker with a provider fallback chain, so one bad provider does not stall a pipeline.
DeepgramNot in Curalo yetUses itWhy:Who said what: “Speaker separation on recorded calls.” In practice: Only runs on audio long enough to be worth it, so short clips cost nothing.
SonioxNot in Curalo yetUses itWhy:Hebrew that survives: “The one transcriber that handles Hebrew and English in the same sentence.” In practice: Meeting audio tries Soniox first, because code-switched Hebrew breaks the others.
CartesiaNot in Curalo yetUses itWhy:The English voice: “Low-latency speech for anything that talks back.” In practice: Handles English speech output, and takes over when a sentence mixes languages.
ElevenLabsNot in Curalo yetUses itWhy:Music beds for the studio: “Wired into my creative studio for generated music; speech runs elsewhere.” In practice: Wired for music beds in my creative studio; the everyday speech chain runs on Cartesia and Google instead.
TavilyNot in Curalo yetUses itWhy:Search built for agents: “Web results an agent can actually use, without the page noise.” In practice: My research skills call it instead of scraping pages into context.
- NotebookLMNot in Curalo yetUses it
Why:Turns docs into a briefing: “Where a pile of sources becomes something I can listen to.” In practice: Each release gets a notebook and an audio summary I listen to instead of reading.
- Voyage AINot in Curalo yetUses it
Why:Makes search understand meaning: “The embeddings behind my knowledge base.” In practice: The knowledge base finds answers by meaning, which is why the site chat can answer in my words.
LangGraphNot in Curalo yetUses itWhy:Agent workflows: “Multi-step agent flows that can pause, resume and be inspected.” In practice: Multi-step agent flows in my platform's API are LangGraph graphs.
- PipecatNot in Curalo yetUses it
Why:Voice agents: “Chains speech-to-text, a model and a voice into one real-time conversation.” In practice: My voice agents are Pipecat pipelines in my platform's API.
FastMCPNot in Curalo yetUses itWhy:My MCP servers: “The framework behind the MCP servers that give my agents typed tools.” In practice: Eight MCP servers I built give my agents their tools.
GrokNot in Curalo yetUses itWhy:Another model in the mix: “xAI's model, one of the models I test side by side before picking one for a job.” In practice: I run Grok against the other models on the same tasks.
WhisperNot in Curalo yetUses itWhy:Transcription on my laptop: “Speech to text that runs locally, so call audio never leaves the machine.” In practice: Client call recordings are transcribed on my own laptop.
Channels and distribution12
SlackNot in Curalo yetUses itWhy:Where I read the business: “Every bot, deploy and alert reports into a channel, not into a log file.” In practice: Each channel carries one class of message, so alerts never drown the ops feed. Deploys, cost anomalies and client health post themselves here.
- WhatsAppNot in Curalo yetUses it
Why:The channel clients actually answer: “In Israel, email is where a thread goes to die.” In practice: Client voice notes get transcribed and filed against that client automatically.
ResendNot in Curalo yetUses itWhy:Email that arrives: “Transactional mail without a deliverability project.” In practice: Order confirmations, shipping and invoices all send from here. Bounces and opens come back as webhooks, so a silent failure is visible.
Why:Booking without the back and forth: “A link instead of six messages about Tuesday.” In practice: Prospects pick a slot from a link, so I never negotiate a time by message. Each booking posts a webhook to this site, which sends the follow-up email.
XNot in Curalo yetUses itWhy:Where I publish in English: “Short, technical, and usually about something that just broke.” In practice: Every post is drafted by an agent and approved by me before it goes out. The bot posts from its own account, never my personal one.
- LinkedInNot in Curalo yetUses it
Why:Where I publish long form: “Longer posts, for the people who actually hire me.” In practice: Long-form posts go here, drafted by an agent and edited by me. Nothing posts without me approving it first.
InstagramNot in Curalo yetUses itWhy:Where the visual work goes: “Brand and client visuals, cross-posted from one place.” In practice: Visual work publishes from the same pipeline as everything else, not by hand.
ThreadsNot in Curalo yetUses itWhy:A second English feed: “Same drafts, one more audience, no extra work.” In practice: Posts arrive here from the same approved draft, so it costs nothing extra to run.
TelegramNot in Curalo yetUses itWhy:The bot channel: “Where machine chatter goes so it does not clutter a human channel.” In practice: Machine-to-machine notifications live here, away from anything a client can see.
DiscordNot in Curalo yetUses itWhy:Where the communities are: “Less a tool I run, more where the people I learn from sit.” In practice: The account runs on the free tier: a place to learn, not something I run on.
Why:The long version: “Where a thing that needs 2,000 words goes.” In practice: One of the distribution targets in my content pipeline; the subscriber list itself lives in my own database.
RiversideNot in Curalo yetUses itWhy:Recording and editing: “Where I record video, and where my agents help cut it.” In practice: My agents can search a recording's transcript and cut the edit.
Measurement and operations4
LangfuseNot in Curalo yetUses itWhy:Every model call, traced: “Every prompt and output is traced, so I can show what an agent did and what it cost.” In practice: Every agent run is traceable end to end, with what it cost.
PostHogNot in Curalo yetUses itWhy:What people actually do: “Product analytics without shipping my users to an ad network.” In practice: Loaded only after consent, and lazily, so it never costs a visitor page speed.
ProdigiNot in Curalo yetUses itWhy:Prints and ships for me: “Print on demand, so I hold no stock.” In practice: An order routes straight to fulfillment, and the customer gets tracking without me in the loop.
SanityNot in Curalo yetUses itWhy:Content for eight sites: “One CMS, eight projects, edited without a deploy.” In practice: Eight separate projects, one per site, all reachable from one place. This very section is edited here; changing a tool takes no deploy.
Q&A
- What do you do, and for which clients?
- “Beyond courses and workshops, I build and run AI in production: my own business's operating system runs on AI agents, with monitoring, alerts and incident handling.”
- What do you trust AI with in client work, and what never?
- “One engineer sets direction and reviews every change. The AI team does the repetitive work.”