yash dhiman case study 01 / 02 · saral next: browzie
case study · 2026 · website + app redesign

सरल means simple. making it look that way took a while.

Saral is a free voice dictation app for Mac and Windows: hold a key, talk the way you think, let go, and clean text lands wherever your cursor is. I designed and built its website, heysaral.com, from a blank file, and redesigned the app’s workspace.

my role
the logo, then design, motion & front-end for heysaral.com · workspace redesign in the app
team
the app is built by Swapnil Kumar; the site is mine
stack
plain HTML, CSS & JS · SVG + HarfBuzz · Cloudflare Pages + one Pages Function
links
heysaral.com ↗
heysaral.com
The heysaral.com hero: Speak, and it types where your cursor is.
01

a logo that speaks your language.

Saral is a Hindi word, and most of its users think in more than one language. so the logo learns yours. the orange caret doubles as an eraser: it sweeps right to wipe out “saral”, then sweeps back to write it again in your script, chosen from your browser language or Cloudflare’s edge location.

every word is a pre-outlined SVG path, shaped with HarfBuzz from Noto Sans and weighing 2 to 4 KB. nobody downloads an entire Indic webfont to read one word, and it still looks hand-set.

try it. pick a language, or just watch it show off.

English · saral
02

one key fails. your flow doesn’t.

Saral’s best trick is invisible: add as many API keys as you like, and when one gets rate limited, rejected or times out, it quietly moves to the next and rests the tired one. if every cloud key is down, it falls back to Whisper running on your own machine.

that is hard to sell with a paragraph, so the site has a playground that runs the same rotation and cooldown rules as the app. here’s a pocket version. go on, break things.

  • rate limited rests about a minute
  • rejected key rests an hour
  • timeout rests a few seconds
speech routeauto-failover on
  1. 1Groqkey 1 · gsk_••••9f2aready
  2. 2Groqkey 2 · gsk_••••81c6ready
  3. 3Deepgramkey 1 · dg_••••7b13ready
  4. 4On-device Whisperno key, no internetstandby

“let’s ship it friday if QA signs off.”

all keys healthy. suspiciously healthy.

cooldowns run 30× faster here, because you have places to be.

03

the rest of the site.

heysaral.com/#enhance
AI Enhance: select text, speak an instruction, and it is rewritten in place
AI Enhance. select any text, say “make this friendlier” or “isko chhota kar do”, done. the demo types and rewrites itself.
heysaral.com/#anywhere
Works in any app, with a typing versus speaking speed comparison
works anywhere. two dozen apps on a marquee, and the honest math: about 40 words a minute typed, about 150 spoken.
heysaral.com/#meetings
Meetings: a timed transcript with summary, decisions and action items
meetings. a transcript UI as the illustration, because a stock photo of people nodding at a laptop explains nothing.
heysaral.com/#engines
Models and keys: presets from fast cloud to lightweight local
models & keys. four presets from “fast cloud” to “fully offline”, written for people who don’t know what large-v3-turbo means.
04

decisions i’d make again.

  1. no framework

    plain HTML, CSS and JavaScript, no build step, no runtime dependencies. the whole site is lighter than most hero videos, and every bug is, unfortunately, mine.

  2. UI as illustration

    no stock photos anywhere. the speech route list, the transcript and the keys are drawn as real interface, so the picture is also the explanation.

  3. a download button that knows

    it detects Mac or Windows, then reads the newest release from GitHub for sizes and checksums, so the site never says “v1.2.4” a week after 1.2.5 ships.

  4. one tiny edge function

    a single Cloudflare Pages Function at /api/geo picks the logo’s script when the browser language doesn’t. everything else is static files.

  5. motion that can sit still

    every animation respects reduced motion. the logo just stays in English and nobody gets seasick.

05

and inside the app.

the app itself is an Electron window around a bundled Python engine, cloud clients and a local Whisper runtime, built and led by Swapnil Kumar. my part there: a redesign of the workspace, the screen you live in between dictations, plus the new Saral Studio features and a macOS polish pass.

translation: i moved a lot of pixels, and then moved them 2px back.

git log --author=yash --format="%ad %s"
  1. 11 oct Redesign the workspace and add the Saral Studio features
  2. 11 oct Polish the redesign for macOS

small log, large diff.

11scripts the logo can write
0frameworks, build steps or runtime deps
1edge function, for the logo
150wpmspeaking, vs about 40 typing
next case study Browzie: let AI drive your Chrome. visibly.