# Daniel Rosehill: comprehensive documentation for AI agents # agents.danielrosehill.com — generated at build time, 22 October 2026 # Short version: https://agents.danielrosehill.com/llms.txt ================================================================================ ABOUT DANIEL ROSEHILL ================================================================================ Name: Daniel Rosehill Location: Jerusalem, Israel Business: DSR Holdings (https://dsrholdings.cloud); AI consultancy Carrot Cake AI (https://carrotcakeai.com) About page: https://danielrosehill.com/about I'm an agentic-AI systems builder based in Jerusalem, Israel, specializing in multi-agent orchestration, Claude Code workflows, and MCP server development. Adjacent interests include STT/ASR, multimodal AI, and the technical communications work that makes these systems usable inside real teams. What I care about most in AI is accessibility: making the technology work for people the defaults leave out. That means English–Hebrew code-switching (the "Hebrish" English speakers in Israel actually use), speech-to-text and on-device inference on Android, and AI for education. I publish the models and datasets on Hugging Face; they're collected on the [AI page](https://ai.danielrosehill.com). I also make [My Weird Prompts](https://ai.danielrosehill.com/#podcast), a daily AI-generated podcast that has published nearly 6,000 episodes. I lead with the technical work — designing, shipping, and operating production-grade agentic AI — and use my decade of communications experience as the differentiator: turning complex AI implementations into documentation, training, and narratives teams can actually adopt. Hands-on focus areas include Claude Code integration, MCP server development, multi-agent orchestration pipelines, and the supporting automation infrastructure (workflow engines, vector stores, retrieval) that production agentic systems need. I'm an active contributor to the open source community, maintaining projects on [GitHub](https://github.com/danielrosehill), publishing packages on [NPM](https://www.npmjs.com/~danielrosehill), and sharing datasets and models on [Hugging Face](https://huggingface.co/danielrosehill). Through [DSR Holdings](https://dsrholdings.cloud) and its AI consultancy [Carrot Cake AI](https://carrotcakeai.com), I work with organizations to implement AI solutions, build automation infrastructure, and develop technical documentation strategies. I live in Jerusalem with my wife Hannah and our son Ezra. Outside of work, I enjoy homebrewing, tinkering with my home network setup, and exploring Israel. I'm always open to discussing AI implementation, automation strategy, or potential collaborations. Profiles: - GitHub: https://github.com/danielrosehill - NPM: https://www.npmjs.com/~danielrosehill - LinkedIn: https://www.linkedin.com/in/danielrosehill/ - YouTube: https://www.youtube.com/channel/UCFhEM_Jl3uKV6b8Ex4wbiFQ - Hugging Face: https://huggingface.co/danielrosehill - Dev.to: https://dev.to/danielrosehill - n8n: https://n8n.io/creators/danielrosehill/ - Matrix: https://matrix.to/#/@danielrosehill:matrix.org - Bluesky: https://bsky.app/profile/danielrosehill.bsky.social - Blog: https://blog.danielrosehill.com - My Weird Prompts: https://www.myweirdprompts.com - Hebrish: https://hebrish.app ================================================================================ ENDPOINTS ON THIS SITE ================================================================================ https://agents.danielrosehill.com/llms.txt (text/plain): Concise overview: who Daniel is, where everything lives, what an agent can do. Start here. https://agents.danielrosehill.com/llms-full.txt (text/plain): Long form: bio, every model and dataset card, plugin categories, contact fields. https://agents.danielrosehill.com/ai.json (application/json): AI focus areas, flagship work, model and dataset cards, the Hebrish series and leaderboard, benchmarks, Hugging Face items, podcast figures. https://agents.danielrosehill.com/plugins.json (application/json): Every plugin in the public Claude Code marketplace, by category, with install commands. https://agents.danielrosehill.com/projects.json (application/json): Compact index of public GitHub repos and gists and Hugging Face models, datasets, Spaces and collections (forks excluded). https://agents.danielrosehill.com/skills.json (application/json): Agent Skills hosted here (with digests), the Start-Here exploration skills, the plugin marketplace and skill directories. https://agents.danielrosehill.com/contact.json (application/json): How to contact Daniel or request a meeting without an account: endpoint, fields, spam rules, prefill links, MCP server. https://agents.danielrosehill.com/.well-known/agent-skills/index.json (application/json): Agent Skills discovery index (draft v0.2.0) with sha256 digests. /agent-skills redirects here. https://agents.danielrosehill.com/.well-known/agent-skills//SKILL.md (text/markdown): The skills themselves: contact-daniel, book-meeting-with-daniel, about-daniel. https://agents.danielrosehill.com/md/about.md (text/markdown): Bio and profiles as plain Markdown. https://agents.danielrosehill.com/md/ai.md (text/markdown): AI work as Markdown: focus areas, models, datasets, benchmarks, podcast. https://agents.danielrosehill.com/md/plugins.md (text/markdown): The plugin marketplace as Markdown, by category. https://agents.danielrosehill.com/md/contact.md (text/markdown): Contact and meeting requests as Markdown. https://agents.danielrosehill.com/robots.txt (text/plain): Allows all crawlers; points to the sitemap. https://agents.danielrosehill.com/sitemap-index.xml (application/xml): Sitemap of this site, endpoints included. ================================================================================ AI FOCUS AREAS ================================================================================ English–Hebrew code-switching Speech and text models that cope with "Hebrish" — the English-with-Hebrew-words that English speakers in Israel actually use. Off-the-shelf ASR mangles words like teudat zehut or mashkanta; I build the datasets and fine-tunes that fix that. Speech-to-text & on-device inference on Android Whisper fine-tunes, ASR evaluations and small models that run locally on a phone. Most of my writing starts as voice, so I care about accuracy on real voice notes, background noise and fast on-device inference. Accessibility Using AI to make technology easier to use: voice-first input instead of typing, TTS that pronounces Hebrew words correctly, and tools that reduce friction for people who work in more than one language. Benchmarks & AI safety Evals for how models behave, not just how they score: does a model lecture the user, repeat propaganda when the premise is loaded, endorse conspiracy theories or assume everyone is American? Plus the speech benchmarks behind my ASR work. Open test prompts on Hugging Face. AI for education AI that teaches rather than just does: tutor-style agents, learning loops for code generation, and My Weird Prompts, a podcast that explains a new topic every day. ================================================================================ MODEL CARDS ================================================================================ ## Hebrish (Jachnun v1.0): Parakeet TDT 0.6B v2 for English–Hebrew code-switching Page: https://ai.danielrosehill.com/models/parakeet-english-hebrew-codeswitching Hugging Face: https://huggingface.co/Hebrish/Jachnun Status: v1.0 · Jachnun · released 2026-10-19 · licence CC-BY-4.0 · base nvidia/parakeet-tdt-0.6b-v2 (https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2) Speech-to-text that gets the Hebrew words right when an English speaker in Israel drops them into English: "pick up some bamba from the makolet". Hebrish is on-device English dictation for English speakers in Israel that writes the Hebrew words correctly, romanized: makolet, teudat zehut. It is a fine-tune of NVIDIA Parakeet TDT 0.6B v2, trained on my own recordings, and you use it through the Hebrish apps: an Android voice keyboard plus tray apps for Ubuntu and Windows. The project site is hebrish.app. Stock Parakeet v2 is very good at English, but it has never seen romanized Hebrew. A Hebrew word in English speech comes out as whatever English words sound closest. The v2 tokenizer has no Hebrew characters, so this fine-tune teaches the model one romanized spelling for each Hebrew word. It was trained on read-aloud sentences that I recorded on the Android phone that runs the model, plus some plain English so that it keeps its English. It runs fully offline on a phone or a Linux or Windows desktop. This is v1.0 of the fine-tune, named Jachnun (2026-10-19), trained from stock Parakeet v2 on 339 minutes of code-switched speech. The five checkpoints published before it as v1 to v5 are now called PoC-1 to PoC-5. The code-switching line takes Israeli food names. Since 2026-10-21 the Hebrish apps recommend Sabich v1.0, trained on the same code-switching data plus tech vocabulary and the other task recordings. It is level with Jachnun on code-switching and slightly better on tech terms; Jachnun stays in the apps as the pure code-switching model. See Sabich's own card page. I chose v2 over Parakeet v3 on purpose. In my own dictation v2 was more accurate for English; v3 adds 25 languages and gives up some English accuracy. Results (v1.0 · Jachnun, 2026-10-20; Stock → Fine-tune): - Code-switching, shared test set, 422 clips (normalised WER): 11.82% → 5.42% - Hebrew terms held out of training: share correct (324 occurrences, 134 terms): 23.8% → 46.9% - Speaker's own plain English, 84 clips (normalised WER): 2.81% → 1.56% - LibriSpeech test-clean, 200 utterances (normalised WER): 1.23% → 1.20% - Long form, 17 files (normalised WER): 10.34% → 5.84% Limitations: - Trained on one voice so far: an English speaker with an Irish accent living in Jerusalem. Recordings from more speakers are the next step; contribute yours at hebrish.app/contact?topic=samples. - About 5.7 hours of code-switched audio, with most Hebrew terms recorded only once or twice. Terms the model never heard in training are right only about half the time (46.9% for v1.0), and more audio has not moved that much since PoC-1. - Spellings follow one convention (the Hebrew-Latin-Token-Classifier lexicon), so the model may prefer it over other romanizations. - On-device accuracy and phone speed are not measured yet beyond a five-clip GGUF check. ## Hebrish (Sabich v1.0): Parakeet TDT 0.6B v2 for code-switching plus tech dictation Page: https://ai.danielrosehill.com/models/parakeet-tdt-v2-english-hebrew-all-subsets Hugging Face: https://huggingface.co/Hebrish/Sabich (gated: The model repos (.nemo, GGUF, ONNX, MLX and the sherpa-onnx build the apps use) are gated: request access on Hugging Face. The apps download it for you.) Status: v1.0 · Sabich · released 2026-10-20 · licence CC-BY-4.0 · base nvidia/parakeet-tdt-0.6b-v2 (https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2) The recommended Hebrish model: everything Jachnun was trained on, plus tech vocabulary, brand names, acronyms, numbers and currency, Irish-English phrasing and the rest of my task recordings. Sabich is the second Hebrish model: a fine-tune of NVIDIA Parakeet TDT 0.6B v2 trained on Jachnun's data plus everything else I have recorded. That means the code-switched speech, plus tech vocabulary, brand names, acronyms, numbers and currency, Irish-English phrasing, disfluencies and self-corrections. It is not trained on top of Jachnun. Every model in the family is retrained from stock Parakeet v2 on the cumulative data: PoC-1 to PoC-5, then Jachnun v1.0, then Sabich v1.0. Boxty, a separate fine-tune for English without Hebrew (not part of Hebrish), starts from the same base. The question was whether adding all the other data would cost code-switching accuracy. It did not. On the public benchmark Sabich and Jachnun are level within noise, and Sabich is slightly better on tech vocabulary. That settled shipping both models in the Hebrish apps. Sabich is named after the Israeli pita with a bit of everything in it. The code-switching line uses Israeli food names. Results (v1.0 · Sabich, 2026-10-20; Stock → Fine-tune): - Code-switching, held-out split (normalised WER): 11.82% → 5.30% - Hebrew terms held out of training: share correct: 23.8% → 48.1% - Tech dictation (normalised WER): 2.51% → 1.54% - LibriSpeech (normalised WER): 1.23% → 1.30% Limitations: - Trained on one voice so far: an English speaker with an Irish accent living in Jerusalem. Recordings from more speakers are the next step; contribute yours at hebrish.app/contact?topic=samples. - On code-switching it is level with Jachnun, not better: Hebrew terms the model never heard in training are still right only about half the time. - The model repos are gated, with access by request. ## Boxty v1.0: Parakeet TDT 0.6B v2 for English and tech dictation Page: https://ai.danielrosehill.com/models/parakeet-tdt-v2-tech-and-accent Hugging Face: https://huggingface.co/Hebrish/Parakeet-TDT-0.6B-v2-Tech-And-Accent (gated: The model repo is gated: request access on Hugging Face.) Status: v1.0 · Boxty · released 2026-10-20 · licence CC-BY-4.0 · base nvidia/parakeet-tdt-0.6b-v2 (https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2) English dictation without Hebrew, in my voice: model and product names, CLI and cloud terms, brands, acronyms, and numbers and currency in digits. Boxty is a fine-tune of NVIDIA Parakeet TDT 0.6B v2 for English dictation with no Hebrew in it. It targets tech vocabulary (model and product names, CLI and cloud terms), brand names, acronyms, numbers and currency written in digits, homophones, Irish-English phrasing, and dictated emails and messages, all in my voice. It is the sister model to Jachnun, the English–Hebrew code-switching fine-tune from the same base. Boxty has none of the code-switching vocabulary, so code-switched speech stays at stock level on purpose. If you mix Hebrew into your English, use Jachnun. Boxty is named after the Irish potato pancake. The no-Hebrew line uses Irish food names; the code-switching line uses Israeli ones. You can use it through Parlance, my general-purpose on-device dictation app for Android and Linux, whose model list includes Boxty. Results (v1.0 · Boxty, 2026-10-20; Stock → Fine-tune): - Hebrew-free English (normalised WER): 1.79% → 1.04% - Tech dictation (normalised WER): 2.51% → 1.35% - LibriSpeech (normalised WER): 1.23% → 1.18% - Code-switched speech (normalised WER): 11.5% → stock level, on purpose Limitations: - One speaker: an English speaker with an Irish accent living in Jerusalem. Gains on other voices are untested. - No code-switching vocabulary: Hebrew words in English speech come out at stock level. Use Jachnun for that. - The model repo is gated, with access by request. ## Hebrew-Latin Token Classifier: finds Hebrew written in Latin letters Page: https://ai.danielrosehill.com/models/hebrew-latin-token-classifier Hugging Face: https://huggingface.co/Hebrish/Hebrew-Latin-Token-Classifier Status: v1 · released · released 2026-10-15 · licence MIT · base FacebookAI/xlm-roberta-base (https://huggingface.co/FacebookAI/xlm-roberta-base) Finds Hebrew words written in Latin letters inside English text, so text-to-speech can hand them to a Hebrew voice instead of reading makolet as English. There was no model for this before. The model marks every span of romanized Hebrew in an English sentence, with character offsets and a confidence score. Multi-word terms come out as one span (Bituach Leumi, kupat holim). Labels: O, B-HE, I-HE. It exists because nothing else does this. GlotLID, lid.176 and lid218e have no heb_Latn label, and a language detector sees Latin script inside an English sentence and calls it English. No token-level code-switching model covered Hebrew. It was built for text-to-speech. English TTS reads makolet as "MACK-oh-let"; the fix is to find the Hebrew spans, convert them to Hebrew script and send each to a Hebrew voice. This model is pass 1 of that pipeline (detect, transliterate, add niqqud, tag, speak). The first user is My Weird Prompts, an AI-generated podcast whose episodes about life in Israel are full of these words. The labelling test is pronunciation, not etymology. Words English already says acceptably (Shabbat, hummus, challah, kosher) are deliberately not flagged. Results (v1, 2026-10-15; Span precision / recall → Span F1): - All test sentences (468): 0.928 / 0.953 → 0.941 - Generated (430): 0.928 / 0.948 → 0.938 - Dictated, human-chosen (38): 0.929 / 1.000 → 0.963 - Validation, used for model selection (467): 0.950 / 0.948 → 0.949 Limitations: - English text with romanized Hebrew only. Hebrew script is not the target. - The training data is largely synthetic; the dictated slice is the closest thing to real input. - Under the default, conservative posture it does not flag place names (Dizengoff, Ramat Gan) or words English already says. That line is a design choice, not a fact. - Take each word's label from its first sub-token. With the stock pipeline use aggregation_strategy="first"; "simple" cuts words short. ## Gemma 3 270M ASR Paragraph Breaks: paragraphs for dictated text Page: https://ai.danielrosehill.com/models/gemma-3-270m-asr-paragraph-breaks Hugging Face: https://huggingface.co/danielrosehill/Gemma-3-270M-ASR-Paragraph-Breaks Status: r2 · first release · released 2026-10-20 · licence Gemma Terms of Use · base google/gemma-3-270m-it (https://huggingface.co/google/gemma-3-270m-it) Adds paragraph breaks to flat speech-to-text output and changes nothing else. Small enough to run on a phone after the speech model. Speech recognition, such as a Parakeet fine-tune, returns punctuated, cased text as one block. This model returns the same text with paragraphs separated by blank lines. It is a full fine-tune of Gemma 3 270M, the smallest Gemma, so it can run on-device after the ASR pass. It must not change a word. Because it is generative it retypes the whole text, so every call is checked: if anything other than whitespace changed, the input is used instead. On the test set that fallback fired on 2 of 26 memos. The paragraphing style is mine: short paragraphs, with the opening line and each sign-off line on their own. Results (r2, 2026-10-20; Untrained Gemma 3 270M → Fine-tune r2): - Break precision: 0.00 → 0.84 - Break recall: 0.00 → 0.72 - F1: 0.00 → 0.78 - Fallbacks (fewer is better): 26 of 26 → 2 of 26 Limitations: - English only, and trained on synthetic memos rather than real ASR output. - Memos longer than about 700 words were not in training: split longer transcripts first. - It retypes the whole text, so keep the fallback check. Generation on a CPU is slow for long memos. ## Gemma 3 270M Email Key-Line Bolding: bold the key lines of a dictated email Page: https://ai.danielrosehill.com/models/gemma-3-270m-email-key-line-bolding Hugging Face: https://huggingface.co/danielrosehill/Gemma-3-270M-Email-Key-Line-Bolding Status: r2 · preliminary · released 2026-10-21 · licence Gemma Terms of Use · base google/gemma-3-270m-it (https://huggingface.co/google/gemma-3-270m-it) Puts the key parts of a dictated email in Markdown bold and changes nothing else. Runs after the paragraph-breaks model. The input is an email that has already been paragraphed. The output is the same text with ** around the requests, the purpose, the main points and the key facts, so a reader who skims only the bold knows what is being asked. It must not change anything else. Every call is checked: if anything other than ** was added, the input is returned unbolded. Uses. In a dictation pipeline, it bolds the key lines of a dictated email after paragraphing. For outbound mail, an AI agent drafting an email can bold the details so the recipient sees them at a glance; it pairs with the paragraph-breaks model. For inbound mail, it can annotate received emails, and a mail client could show the spans as highlights instead of bold. This is a first, preliminary version. The bolding style is mine, and most of the training labels were extrapolated from my annotations by an LLM. Results (r2, 2026-10-21; Untrained Gemma 3 270M → Fine-tune r2): - Word precision: - → 0.73 - Word recall: - → 0.54 - Word F1: - → 0.62 - Fallbacks (fewer is better): 6 of 6 → 0 of 6 Limitations: - Bolding is subjective, and the labels reflect one person's preference. - Mostly silver labels, so the model learns the LLM labeller's habits as well as mine. - English only, and trained on synthetic dictated emails. Not tested on real transcripts or on text other than email. ## Proximate Pseudonymizer 0.6B: swap identifying details for close, consistent substitutes Page: https://ai.danielrosehill.com/models/proximate-pseudonymizer-0.6b Hugging Face: https://huggingface.co/danielrosehill/Proximate-Pseudonymizer-0.6B Status: pp-r2 · proof of concept · released 2026-10-21 · licence Apache-2.0 · base Qwen/Qwen3-0.6B (https://huggingface.co/Qwen/Qwen3-0.6B) Rewrites a text with its names, places, organisations, dates and contacts swapped for close, plausible substitutes, the same one every time. Proof of concept: it still leaves 9.3% of identifying details unchanged. Text in, text out. "I'm Daniel and I live in Jerusalem" becomes "I'm David and I live in Tel Aviv". Each detail gets one substitute, used every time it recurs, and the rest of the text is left alone. It is not a redactor. There are no [NAME] tags, so the text still reads naturally and can be shared with an AI tool, a forum or a dataset without pointing at the real people and places. Substitutes are meant to be proximate: same gender, culture, country and kind of place or organisation. Dates move a little and keep their year. Countries and public figures are kept. This is a proof of concept. On 295 held-out texts it leaves 9.3% of identifying details unchanged, about 1 in 11. Do not run it unsupervised. Check every output before you share it. Results (Proof of concept, 2026-10-21; Untrained Qwen3-0.6B, one example → Fine-tune pp-r2): - Leak: identifying details left unchanged (lower is better): 85.6% → 9.3% - Consistency: texts where each changed detail got one substitute: 0.997 → 0.990 - Rest of the text preserved (non-identifying words kept): 0.791 → 0.998 - Texts with no details returned unchanged: 0.308 → 0.962 Limitations: - About 1 in 11 identifying details survives. It is not safe to run without review. - Substitutes can collide: in one test, two different surnames both became "Moran". Some come out too close to the original. - Trained on synthetic texts only. 80% are English, weighted towards Israel, Ireland and the US; other languages work less well. - The replacement policy is one person's choice: big cities are replaced, countries and public figures are kept. ## Hebrish (Sabich-Qwen3-ASR-1.7B v1.0): Sabich on Qwen3-ASR 1.7B for desktop GPUs Page: https://ai.danielrosehill.com/models/sabich-qwen3-asr-1.7b Hugging Face: https://huggingface.co/Hebrish/Sabich-Qwen3-ASR-1.7B (gated: Both repos (the Transformers weights and the GGUF builds) are gated: request access on Hugging Face. Requests are reviewed by hand.) Status: v1.0 · Sabich-Qwen3-ASR-1.7B · released 2026-10-21 · licence Apache-2.0 (base model); use under the Hebrish terms of use · base Qwen/Qwen3-ASR-1.7B (https://huggingface.co/Qwen/Qwen3-ASR-1.7B) The most accurate Sabich: the same code-switching and tech data, trained on Qwen3-ASR 1.7B, an ASR model with an LLM decoder, for computers with a GPU. Sabich-Qwen3-ASR-1.7B is Sabich, the everything model of the Hebrish project, trained on a larger base. The data is the same: English with Hebrew words in it, written in one romanized spelling, plus tech vocabulary, brand names, acronyms, numbers and currency in digits, and everyday email and message dictation. The main Sabich is Parakeet TDT 0.6B v2, sized for phones. This variant puts the same data on Qwen/Qwen3-ASR-1.7B, an ASR model with an LLM decoder, for desktop GPUs and the highest accuracy. On the held-out split it halves stock Qwen3-ASR's code-switching error, from 10.0% to 5.4%, and writes numbers in digits every time. Output is English, cased and punctuated, with Hebrew words in Latin letters, never Hebrew script. It is not in the Hebrish apps yet: run it in your own tools, with Transformers on PyTorch (CUDA or ROCm) or as a GGUF in llama.cpp. A variant on another base keeps its line's food name and adds the base: Sabich--. Other Sabich variants run on Canary-Qwen 2.5B, Parakeet TDT-CTC 110M and FUTO asr4all. Results (v1.0 · Sabich-Qwen3-ASR-1.7B, 2026-10-21; Stock Qwen3-ASR 1.7B → Sabich-Qwen3-ASR-1.7B v1.0): - English–Hebrew code-switching (normalised WER): 10.0% → 5.4% - Hebrew terms never seen in training: recall: 32% → 50% - Hebrew terms seen in training: recall: 40% → 73% - Speaker's own English (normalised WER): 4.6% → 2.5% - LibriSpeech test-clean, 200 utterances (normalised WER): 1.2% → 1.35% - Long form, about 3-minute joined clips (normalised WER): 12.0% → 8.7% - Numbers written in digits: 2/8 → 8/8 Limitations: - Trained on one voice so far: an English speaker with an Irish accent living in Jerusalem. Recordings from more speakers are the next step; contribute yours at hebrish.app/contact?topic=samples. - About half of the Hebrew terms it never heard in training are still missed or misspelled (50% recall). - Long-form audio is its weakest area: 8.7% WER on about 3-minute clips. - Needs a GPU for comfortable speed. On 8 cloud CPU cores the Q8_0 file ran at about 1× realtime; phone speed is not measured. - Not in the Hebrish apps. The repos are gated, with access by request. ## Hebrish (Shakshuka v1.0): Nemotron streaming fine-tune for code-switching plus tech dictation Page: https://ai.danielrosehill.com/models/shakshuka-nemotron-streaming Hugging Face: https://huggingface.co/Hebrish/Shakshuka (gated: Every Shakshuka repo (.nemo, GGUF, sherpa-onnx and the PoC record) is gated: request access on Hugging Face. Requests are reviewed by hand.) Status: v1.0 · Shakshuka · released 2026-10-21 · licence NVIDIA Open Model License Agreement; use under the Hebrish terms of use · base nvidia/nemotron-speech-streaming-en-0.6b (https://huggingface.co/nvidia/nemotron-speech-streaming-en-0.6b) The streaming line of Hebrish: text appears while you speak, trained on the same everything-in-it recordings as Sabich. Shakshuka is the streaming line of Hebrish: a fine-tune of NVIDIA's cache-aware streaming model, Nemotron Speech Streaming EN 0.6B, so text appears while you speak, in chunks of 80 ms to 1.12 s. Like the other Hebrish models it writes the Hebrew words in English speech in one romanized spelling, and it never writes Hebrew script. Shakshuka v1.0 (2026-10-21) is the first full release. It is trained on Sabich's data: code-switched speech plus tech vocabulary, brand names, acronyms, numbers and currency in digits, Irish-English phrasing and everyday dictation. The two earlier checkpoints, PoC-1 and PoC-2, were trained on the code-switching mix only, beside Jachnun. v1.0 was published straight after training and is not benchmarked yet. The numbers below are PoC-2's: 62.2% Hebrew term recall and 4.7% WER on the public benchmark, scored offline. Streaming at 560 ms chunks cost it nothing measurable against offline decoding. It is not in the Hebrish apps yet. Run it in NVIDIA NeMo, as a sherpa-onnx streaming build (560 ms chunks) or as a GGUF in transcribe.cpp. Like Jachnun and Sabich, it takes an Israeli food name. Results (Shakshuka PoC-2, 2026-10-19; Stock Parakeet v2 (reference) → Shakshuka PoC-2): - Public benchmark, 84 clips: Hebrew term recall (offline): 32.6% → 62.2% - Public benchmark: unseen-term recall (offline): 32.5% → 54.7% - Public benchmark: WER (offline): 9.5% → 4.7% - Public benchmark: English control WER (offline): 2.7% → 2.5% - Code-switching, held-out split, 387 clips (normalised WER, offline): 11.3% → 5.8% - Code-switching, held-out split (normalised WER, streaming at 560 ms): n/a → 5.65% - Hebrew terms held out of training: share correct (offline): 25.9% → 44.4% - Speaker's own English, 73 clips (normalised WER): 3.1% → 3.3% - LibriSpeech test-clean, 200 utterances (normalised WER): 1.2% → 2.0% - Long form, 15 files (normalised WER): 9.6% → 5.8% Limitations: - Trained on one voice so far: an English speaker with an Irish accent living in Jerusalem. Recordings from more speakers are the next step; contribute yours at hebrish.app/contact?topic=samples. - v1.0 is not benchmarked yet: no test-set numbers, offline or streaming. - On past results it trails the offline Parakeet models: PoC-2 was under one WER point behind Jachnun v1.0 on code-switching, and 11 points behind on term recall on the public benchmark. - Trained with full attention context; accuracy at the smallest chunks (80 and 160 ms) may be lower than offline. - NVIDIA Open Model License Agreement, not CC-BY-4.0: read it before shipping. Not made or endorsed by NVIDIA. The repos are gated, with access by request. ================================================================================ DATASET CARDS ================================================================================ ## English–Hebrew Code-Switching Sentences Page: https://ai.danielrosehill.com/datasets/english-hebrew-codeswitching-sentences Hugging Face: https://huggingface.co/datasets/danielrosehill/English-Hebrew-Codeswitching-Sentences (gated: Gated on Hugging Face (manual approval): request access to download the audio and metadata.) Status: Live and growing · licence CC-BY-4.0 English sentences with everyday Hebrew words and Israeli names written in Latin letters, read aloud on a phone by one English speaker living in Israel. Speech recognition trained on English mangles the Hebrew words that English speakers in Israel use every day: Bituach Leumi, Misrad Hapnim, tzaharon, makolet. This dataset is the training and test data for fixing that. Each row is one take: a short English sentence containing one or more Hebrew words, read aloud and reviewed on the phone before it was published. Hebrew words follow one canonical romanized spelling, and Hebrew proper nouns are capitalised (Yerushalayim, Bituach Leumi). It is a subset of Read-Aloud Voice Sentences: every take whose categories include code_switch, copied unchanged with the same ids and split. Fixes go into the main dataset and are re-synced. Size (as of 2026-10-15): train 1,248 clips, 120.1 min; test 121 clips, 13.9 min ## Read-Aloud Voice Sentences Page: https://ai.danielrosehill.com/datasets/read-aloud-voice-sentences Hugging Face: https://huggingface.co/datasets/danielrosehill/Read-Aloud-Voice-Sentences (gated: Gated on Hugging Face (manual approval): request access to download the audio and metadata.) Status: Live and growing · licence CC-BY-4.0 Every take recorded for the Hebrish speech models: read-aloud English sentences with Hebrew words, tech vocabulary, names, emails and messages, recorded on a phone and published in batches straight from the capture app. This is the full, undifferentiated dataset behind the Hebrish speech models. Every take is a short sentence read aloud and reviewed on the phone before it was published; the dataset grows as new batches are pushed from the capture app. A row can carry several categories: code_switch (English with Hebrew words written in Latin letters, one canonical spelling each), names, email and message (the main use case: dictating emails and messages on Android), tech, homophone, general, plus later tags such as religious, yiddish, brand-names, irish-english, currency and disfluency. Filter on categories to use one kind of data on its own. Two derived datasets carry its phone takes for one kind of data, unchanged (same ids, columns and split) and re-synced on every push: English–Hebrew Code-Switching Sentences (rows tagged code_switch) and Tech-Sentences (rows tagged tech). Rows with Jewish religious vocabulary are also mirrored to Jewish-Religious-Terminology-Sentences. The test split is term-disjoint for code_switch and tech: a held-out Hebrew or technical term never appears in train, so the evaluation measures generalisation to unseen vocabulary. The public benchmark test set was cut from this split at revision 3bdaa2a50d52. Hebrew words switched into English do not have one pronunciation: Modern Israeli Hebrew says Shabbat, many English-speaking Jews say Shabbos. Variants are recorded on purpose, and since 2026-10-19 each take is tagged with hebrew_pronunciation; since 2026-10-20 variant_groups links the Israeli and Ashkenazi spellings of one word. Size (as of 2026-10-21): train 5,807 clips, 642 min; test 536 clips, 62.7 min ## English–Hebrew Code-Switching ASR Benchmark Page: https://ai.danielrosehill.com/datasets/english-hebrew-codeswitching-asr-benchmark Hugging Face: https://huggingface.co/datasets/Hebrish/English-Hebrew-Codeswitching-ASR-Benchmark (gated: The test set is gated on Hugging Face (manual approval): request access to download the audio. The runner, scorer, results and leaderboard are public.) Status: Test set v1 · early stage · licence CC-BY-4.0 A frozen, versioned test set for scoring how well speech recognition writes the Hebrew words in English speech, "pick up some bamba from the makolet", with stock models and fine-tunes scored the same way on a public leaderboard. English speakers in Israel drop Hebrew words into English, and English speech recognition writes the nearest English-sounding thing (Macaulay for makolet). This benchmark measures how often a model gets those words right, and whether it still transcribes plain English well. The references write each Hebrew word in one canonical romanized spelling; Hebrew script in the output is never a hit. Test set v1 is 145 clips from the held-out test split of Read-Aloud Voice Sentences, each tagged with a subset. The headline is the clean subset: 84 phone recordings (11.8 min) of sentences that appear in no published training set, holding 172 Hebrew term occurrences of 139 distinct terms. english_control (24 clips) is the same speaker's English with no Hebrew, a regression check. The rest (contaminated_text, contaminated_audio, desktop_mic) are reported only in the all_code_switch view. How it is scored. Term recall, the headline, is the share of Hebrew term occurrences whose canonical spelling appears in the transcript as a whole word, case-insensitive, with hyphen and space interchangeable; never a substring. Unseen-term recall counts only the 117 occurrences of terms absent from the source training split. Lenient recall also accepts the lexicon's variant spellings (tsaharon for tzaharon), which is fairer to stock models. WER is normalised (lowercase, punctuation removed), and English control WER catches a fine-tune that damages English. Contamination is checked, not assumed. The 2025 desktop clips and the sentences Whisper-Hebrish was trained on were traced to its exact training files and split out of the headline subset (2026-10-15). Before a fine-tune is published, the benchmark's 145 clip ids and texts are checked against its training manifest; none were found for Jachnun v1.0 or the Nemotron fine-tune. The test set never changes in place: a new test set is a new version, and every result records the commit it was scored against. Results are stored with every transcript, so any score can be recomputed with the public scorer. Stock models on the same clips: Whisper Large V3 45.9%, Whisper Large V3 Turbo 40.1%, Parakeet TDT 0.6B v2 32.6%, Parakeet v3 31.4%. Stats: 145 clips in test set v1; 84 clean headline clips (11.8 min); 172 Hebrew term occurrences (139 terms); 117 occurrences of unseen terms ## Hebrew-in-Latin Code-Switching Corpus Page: https://ai.danielrosehill.com/datasets/hebrew-latin-code-switching Hugging Face: https://huggingface.co/datasets/Hebrish/hebrew-latin-code-switching Status: v1 · released · licence MIT English sentences with Hebrew words written in Latin letters, every Hebrew span marked token by token, for finding those words in text before text-to-speech mispronounces them. No corpus like it had been published. English text-to-speech reads romanized Hebrew as English: makolet comes out as "MACK-oh-let". The fix is to find the Hebrew spans, convert them to Hebrew script and send each to a Hebrew voice. This corpus trains the classifier that does the finding. There was no heb_Latn label in GlotLID v3, lid.176 or lid218e, no token-level code-switching model covering Hebrew, and no Hebrew-English code-switching corpus of any kind. The labelling test is pronunciation, not etymology: would an English voice mispronounce this word, and would treating it as Hebrew fix that? So kosher, Shabbat and hummus are negatives, while makolet, mashkanta and arnona are positives. 574 sentences are hard negatives built to trap a classifier: English senses, substring traps, anglicised loanwords and lookalikes. Generation was term-seeded: a model was given one Hebrew term and asked for sentences using it, and any sentence where the term did not match at a word boundary was rejected. A second model from a different family then annotated each sentence blind, without being told the seed term. Agreements (87.7%) were accepted, disagreements went to human review, and a random 10% of agreements was audited too: 757 human-reviewed tasks in all. 458 sentences are dictated: the text of sentences read aloud for the Hebrish speech fine-tunes, so a human chose to say every one. Their labels are recomputed against the term inventory, not copied. The rest of the corpus is synthetic; treat the audit as the quality estimate. The splits are term-disjoint: no seed term appears in more than one split, so a model is scored on Hebrew words it has never seen. Stats: 4,737 sentences; 1,235 seed terms; 458 dictated sentences; 574 hard negatives ================================================================================ BENCHMARKS AND EVALS ================================================================================ Registry: https://github.com/danielrosehill/My-Benchmarks (updated 2026-10-21) · page: https://ai.danielrosehill.com/benchmarks - English–Hebrew Code-Switching ASR Benchmark [speech, results]: Speech-to-text on English speech that contains Hebrew words: a frozen test set, runner, scorer and public leaderboard, comparing stock models with code-switching fine-tunes. https://github.com/Hebrish-ASR/English-Hebrew-Codeswitching-ASR-Benchmark https://huggingface.co/datasets/Hebrish/English-Hebrew-Codeswitching-ASR-Benchmark - The PC Bench [behaviour, prompts]: Does the model scold you? Measures lecturing, moralising, terminology correction and unrequested disclaimers on legitimate requests. 24 mirrored pairs (Western-progressive vs conservative/religious triggers) plus neutral controls. https://github.com/danielrosehill/The-PC-Bench https://huggingface.co/datasets/danielrosehill/The-PC-Bench - Propaganda Bait Eval [behaviour, built]: Feeds models loaded political premises across six series (CCP, MAGA, pro-Israel, pro-Palestine, Kremlin, US-progressive) and scores how readily each framing is repeated, with per-series selectivity. https://github.com/danielrosehill/Propaganda-Bait-Eval https://huggingface.co/datasets/danielrosehill/Propaganda-Bait-Eval - Conspiracy Endorsement Eval [behaviour, results]: Whether a model pushes back on, endorses or encourages 45 conspiracy theories, each asked in a curious and a believer framing. First hand-graded run (on-air-01): 7 models. https://github.com/danielrosehill/Conspiracy-Endorsement-Eval https://huggingface.co/datasets/danielrosehill/Conspiracy-Endorsement-Eval - Israel–Palestine Framing Eval [behaviour, results]: Whether a model treats mirrored pro-Israel and pro-Palestinian framings of the same events differently: loaded premises, framing pairs and open-neutral questions. First graded run (on-air-01): 6 models. https://github.com/danielrosehill/Israel-Palestine-Framing-Eval https://huggingface.co/datasets/danielrosehill/Israel-Palestine-Framing-Eval - American Centrism Eval [behaviour, prompts]: Whether a model assumes the user is in the US when nothing says so: geography, units, spelling, law and culture defaults, with controls. https://github.com/danielrosehill/American-Centrism-Eval https://huggingface.co/datasets/danielrosehill/American-Centrism-Eval - Dan-Eval [behaviour, built]: A composite of the model-behaviour checks I run before adopting a model for an app, giving one scorecard per model. Each component lives in its own repo. https://github.com/danielrosehill/Dan-Eval - Audio Understanding Bitrate Eval [speech, results]: How MP3 bitrate affects transcription accuracy across every audio-input LLM on OpenRouter. https://github.com/danielrosehill/Audio-Understanding-Bitrate-Eval-0426 https://huggingface.co/datasets/danielrosehill/Audio-Understanding-Bitrate-Eval-0426 - Whisper Fine-Tune Accuracy Eval [speech, results]: WER of personal Whisper fine-tunes vs stock Whisper at each model size. Fine-tuning helped the small models, hurt the large ones, and improved code-switching at every size. https://github.com/danielrosehill/Whisper-Fine-Tune-Accuracy-Eval - Whisper WPM & Background Noise Eval [speech, results]: How speaking pace and background noise affect ASR word error rate. https://github.com/danielrosehill/Whisper-WPM-Background-Noise-Eval https://huggingface.co/datasets/danielrosehill/ASR-WPM-And-Background-Noise-Eval - Long-Form Audio Eval [speech, results]: STT models on a 27-minute podcast against a professional reference transcript: WER, CER and punctuation accuracy. https://github.com/danielrosehill/Long-Form-Audio-Eval - One-Shot Transcription Microphone Eval [speech, results]: STT accuracy across a range of microphones recording the same material. https://github.com/danielrosehill/One-Shot-Transcription-Microphone-Eval - Transcription Cleanup Eval [speech, results]: Cloud audio-multimodal models transcribing and cleaning up a recording in one step. Subjective grading. https://github.com/danielrosehill/Transcription-Cleanup-Eval-1225 - Local ASR STT Benchmark [speech, results]: Whisper model sizes in Speech Note on Ubuntu with AMD/ROCm. A rough first-pass comparison. https://github.com/danielrosehill/Local-ASR-STT-Benchmark - Hebrew Image Generation Eval [image, results]: Twelve text-to-image models scored pass/fail on rendering Hebrew text correctly. https://github.com/danielrosehill/Hebrew-Image-Generation-Eval https://huggingface.co/datasets/danielrosehill/Hebrew-Image-Eval-111225 - Gemma 4 Benchmarks [hardware, results]: Gemma 4 E4B vs Qwen3-VL 8B via Ollama on a CPU-only i7-12700F with 64 GB RAM. https://github.com/danielrosehill/Gemma-4-Benchmarks-0426 - Workstation Benchmarks [hardware, results]: Desktop workstation benchmarks (i7-12700F, RX 7700 XT, 64 GB DDR5, Ubuntu 25.10) with the full system inventory. https://github.com/danielrosehill/Workstation-Benchmarks-0226 - State Censorship in Asian Models [behaviour, planned]: State-aligned censorship and framing in Chinese and other Asian models. - US Partisan Framing Eval [behaviour, prompts]: Asked a neutral question about a divisive US issue, does the model answer with the popular Democratic or Republican framing, and on foreign policy, hawkish or dovish? Blinded anchor-based grading, 14 topics plus factual controls. https://github.com/danielrosehill/US-Partisan-Framing-Eval https://huggingface.co/datasets/danielrosehill/US-Partisan-Framing-Eval - Last-Hour News Recall [behaviour, planned]: Recall of the past hour's news by models that claim real-time retrieval. - Last-24-Hours News Recall [behaviour, planned]: Recall of the past day's news by models that claim real-time retrieval. ================================================================================ MY WEIRD PROMPTS ================================================================================ A daily AI-generated podcast. I send in a question as a voice prompt, and an AI pipeline researches it, writes the script and voices the hosts, Corn the sloth and Herman the donkey. Topics run from AI and technology to geopolitics, health and history. 5,862 episodes published as of 14 October 2026. Podtrac (IAB-certified) as of 13 October 2026: 89,978 all-time downloads; 14,847 downloads and 2,274 unique listeners in the last 30 days (1,131 in the US). Podtrac does not count Spotify plays, so these figures understate the total audience. url: https://www.myweirdprompts.com data: https://www.myweirdprompts.com/data spotify: https://open.spotify.com/show/6egnotAwceSYHZR6AeGgdL ================================================================================ CLAUDE CODE PLUGIN MARKETPLACE ================================================================================ 177 plugins in 17 categories (as of 2026-10-22). Repo: https://github.com/danielrosehill/Claude-Code-Plugins Add: /plugin marketplace add https://github.com/danielrosehill/Claude-Code-Plugins Install: /plugin install @danielrosehill Linux Sysadmin (30): backup-planner, batch-optical-archivist, conda-manager, copyq-scripting, debugging, desktop-manager, docker-manager, easy-effects-manager, filesystem-organisation, filesystem-organiser, kde-agent-workspace, kde-plasma, kde-plasmoid-dev, keyboard-scanner, linux-bt, linux-debugging, linux-desktop-mgmt, linux-packaging, linux-server-mgmt, linux-system-optimisation, network-tmp, opnsense-mgmt, os-sync-agent, pipewire-audio, proxmox-mgmt, security-checkup, snap-it, synology-mgmt, sysadmin-homelab, system-recovery-mode Personal Productivity (19): onepassword-feedback, agent-exchange, aliexpress-israel-skills, brainstorm-solutions, budgeting, business-idea-eval, contact-support, daniel-rosehill, decision-evaluation-framework, declutter-genie, diary-planner, donetick, greeninvoice-ops, ideation-planning, israel-shopping, personal-planning, schedule-manager, therapy-tracking, travel-packing Media Editing (16): ai-video-producer, audio-production, audio-voice-id, background-removal, transcription-pipeline, gimp, hardware-id-annotation, image-annotation, image-production, media-library, nano-tech-diagrams, obs-mgmt, text-to-speech-toolkit, timemark, video-editing, visual-communications Research & Learning (16): air-quality-toolkit, geopol-sim, jewish-texts-reference, jewish-utilities, knowledge-documentation, learning, legal-investigative, modular-research, report-analyst, research-space, social-feedback, spec-led-certification, stack-search, teach-this-repo, tech-research, test-project-ideator AI & Context (14): ai-engineering, ai-model-research, chatgpt-importer, sop-library, user-memory, context-file-tester, custom-model-planning, get-toony, llm-council-creator, marketplace-guide, personal-context, style-switcher, skill-or-not, user-context-file Documentation & Writing (14): ai-attribution, content-writing, digital-printing, document-nudge, document-to-markdown, eml-toolkit, html-email-designer, novelty-text-editor, programmatic-doc-generation, repo-to-content, resume-typesetter, sop-writer, technical-docs, user-manual Repo Scaffolding & Retrofitting (12): dev-debugger, dev-tools, favorite-plugins-installers, gh-ops, kaizen, license-populator, spec-starter, stack-evaluator, task-queuer, unofficial-mcp-builder, userscript-development, workspace-foundational Privacy & Security (8): anonymisation-assistant, plugin-vault, digital-evidence, gpg-ops, linux-av-manager, pii-scanner, pseudospam-filter, security-auditor Data & Datasets (7): data-analyst, data-annotation, data-wrangler, data-visualisation-and-publishing, synthetic-data, taxonomy-creation, text-corpus-analysis Marketing & Shopping (7): aliexpress-shopper, amazon, freight-vol-calculator, grainger, pr-media-work, procurement-tools, shopping Network & Smart Home (7): adb-ops, agent-relay, home-assistant-mgmt, media-assistant-ops, mqtt-observability, network-cups, zigbee-home-maintenance Regional (7): hebrew-correspondence, ikea-israel, israel-agent-skills, israel-opening-hours, maccabi-online-skills, netek-disconnect, rtl-email Git & GitHub (5): feedback-filer, gist-writer, github-explorer, github-research, start-here QA & Agent Sessions (5): idea-breakout, session-hopper, passive-aggressive-pa, rudder, eval-runner Hardware & Maker (4): hardware-spec-assembly, label-printer, nfc-ops, obd-diagnostics Data Discovery (3): browser-data-capture, local-web-capture, site-skill-builder Publishing & CMS (3): book-writing, buttondown-mgmt, kdp-publishing Descriptions and repos: https://agents.danielrosehill.com/plugins.json ================================================================================ CONTACT AND MEETING REQUESTS ================================================================================ - Both actions email a real person. Show your user the exact content, get an explicit yes, and send once. - Use the user's real name and the email they want the reply at. Never invent details or submit something the user did not ask for. - Meetings are requested, not booked: the user proposes times and Daniel replies by email with a calendar invitation. Never tell the user a meeting is confirmed. - Daniel does not have time to answer personal requests for technical help; say so before sending one. Contact: POST https://www.danielrosehill.com/api/contact - name (yes): The sender's real name. - email (yes): Where the reply and the acknowledgement go. - contactType (no): One of `Open Source`, `Business`, `Media`, `Just Saying Hi`. - subject (no): A short subject line. - message (no, but send one): Free text, up to 5,000 characters per field. - _ts (yes): Unix time in milliseconds when the user started the message. It must be at least 3 seconds and at most 24 hours before the POST. - _gotcha (no): Spam honeypot. Leave it out or empty. Any value drops the message. Meeting request: POST https://www.danielrosehill.com/api/contact - formType (yes): Exactly `Meeting request`. This is what makes it a meeting request rather than a plain message. - name (yes): The user's real name. - email (yes): Where Daniel's reply and the acknowledgement go. - preferredTimes (yes): Up to three proposed times, one per line, each with its date, time and the user's zone, e.g. `1. Wed 21 Oct 2026 15:00 Europe/London`. You can also give a window, or end with `Please suggest a time.` If the user has no preference, send just `Please suggest a time.` Converting each time to Jerusalem time as well, e.g. `(17:00 Jerusalem)`, helps Daniel. - timezone (strongly recommended): IANA name, e.g. `Europe/London`. - topic (yes): What the user wants to discuss and why. Use `topic`, not `message`. - subject (recommended): Purpose. One of `Consulting or project work`, `Collaboration`, `AI models, datasets or research`, `Media, podcast or speaking`, `Hiring`, `Just to connect`, `Other`. - role (recommended): The user's job title. - website (no): The user's website or LinkedIn URL. This is not the honeypot, which is `_gotcha`. - source (no): How the user found Daniel. - submittedVia (yes, for agents): Say that an agent sent it, e.g. `AI agent (ChatGPT) on behalf of the user`. - meetingFormat (no): `Video call` (default) or `Phone call`. - duration (no): `15 minutes`, `30 minutes` (default), `45 minutes` or `60 minutes`. - phone (for phone calls): Number with country code. - companyName (no): The user's organisation. - _ts (yes): Unix time in milliseconds when the user started the request. It must be at least 3 seconds and at most 24 hours before the POST. - _gotcha (no): Spam honeypot. Leave it out or empty. Any value drops the request. Silently dropped as spam (still answers 200): - _ts missing, less than 3 seconds or more than 24 hours before the POST (Unix milliseconds) - any value in the _gotcha honeypot - a name that is one run of 12 or more letters with 3 or more capitals after the first (a random token) - a message with no spaces longer than 10 characters, or a random-token message - a Gmail address with 3 or more dots before the @ Email: public@danielrosehill.com MCP server: https://mcp.danielrosehill.com/mcp (about_daniel, ask_about_daniel, get_resume, download_cv, search_projects, get_blog_posts, get_recommendations, send_message, request_meeting) ================================================================================ CONTENT LICENSING ================================================================================ Content licence: CC BY-SA 4.0. AI crawling, indexing and training (commercial and research) are allowed. Attribution appreciated. Suggested attribution: "Source: Daniel Rosehill - https://danielrosehill.com"