Inspiration

We make videos and do Arabic–English translation. Every time we exported Arabic subtitles and burned them in, the ؟ and ! jumped to the wrong end of the line, and English brand names scrambled the word order. Editors render subtitles left to right, so every Arabic creator ends up fixing lines by hand.

What it does

Drop an .srt or .vtt file. Satr shows every cue the way a left-to-right player will render it, next to a fixed version, then downloads a corrected file. It:

  • anchors line direction with invisible Right-to-Left Marks so punctuation and Latin words sit on the correct side
  • converts , ? ; to ، ؟ ؛ next to Arabic text
  • replaces Persian look-alike letters (ی ک) with Arabic ones (ي ك)
  • removes tatweel and stray spaces
  • warns about lines over 42 characters and reading speeds over 17 chars/sec Every rule can be toggled. English lines are never changed, and a second run changes nothing. It runs 100% client-side: no upload, no account, no API key.

How we built it

We used the Devpost Learn skill pack with an AI coding agent: scope → PRD → spec → build (docs in /devpost). It's plain HTML/CSS/JS with zero runtime dependencies. A pure core module (parse → rules → serialize) is shared between the browser and Node tests.

Challenges

Bidirectional text is hard to see: the bug only shows up in an LTR context. So we made the preview itself an LTR "player". We also had to make the fixes idempotent so a second run doesn't stack invisible marks.

Accomplishments

A real fix for a daily annoyance in Arabic video work, tested and private by design.

What we learned

Planning first (scope/PRD/spec) kept the project small. Cutting AI translation sharpened the kernel.

What's next

Arabic-aware line re-wrapping, ASS format, batch mode, and a YouTube Studio extension.

Try it: clone the repo → npm start → open localhost:8080 → Try a sample

Share this project:

Updates

Submission history