What if you could write regex in readable English instead of deciphering cryptic symbols?

What if you could write regex in readable English instead of deciphering cryptic symbols?

Hey everyone! 👋

The idea is simple: What if you could write regex in readable English instead of deciphering cryptic symbols? 🧠

Regex For Humans is an open-source compiler that turns human-readable English rules into native JavaScript regexes.

✅ Runs locally
✅ Works in the browser, CLI, and JavaScript/TypeScript
✅ No runtime dependencies
✅ MIT licensed

🆕 What's new in 0.1.0-dev.4?

  • 🧩 Nested groups — including optional and repeated blocks.
  • 🎯 Named and numbered captures — capture exactly what you need.
  • 🔗 Backreferences — reuse captured text with same as capture "name".
  • 🔀 Alternatives — express choices naturally with either { ... }.
  • 🔄 Reverse translation — translate supported regex patterns back into readable rules.
  • 🛠️ Improved playground — inspect captures, test multiple matches, and click generated regex fragments to find their source rules.

💡 Example 1: Captures and backreferences

Let's say you want to match stable/stable or nightly/nightly, but reject stable/nightly.

Instead of manually constructing a regex, write:

start
capture "channel" {
  either {
    "stable"
    "nightly"
  }
}
"/"
same as capture "channel"
end

✨ This generates:

^(?<channel>(?:stable|nightly))\/\k<channel>$

With the u flag.

✅ stable/stable
✅ nightly/nightly
❌ stable/nightly

No regex gymnastics required! 🎉

🔥 Example 2: Let's get more serious

Imagine validating a TSV record describing a build artifact, containing:

  • An optional nightly/ directory
  • A project name
  • Three version components
  • A filename with a date-like token
  • A 64-character hexadecimal checksum field
  • A byte count

Here's the readable version:

start
"incoming/"
optional "nightly/"
between 1 and 32 path segment characters
"/v"
between 1 and 3 digits
"."
between 1 and 3 digits
"."
between 1 and 3 digits
"/linux-arm64/widget_"
8 digits
"_"
8 hex digits
".tar.gz\t"
64 hex digits
"\t"
between 1 and 12 digits
end

🤯 And here's the exact JavaScript regex it generates:

/^incoming\/(?:nightly\/){0,1}[^\/\\\u{0}\u{a}\u{d}\u{2028}\u{2029}]{1,32}\/v\d{1,3}\.\d{1,3}\.\d{1,3}\/linux-arm64\/widget_\d{8}_[0-9A-Fa-f]{8}\.tar\.gz\u{9}[0-9A-Fa-f]{64}\u{9}\d{1,12}$/u

Yeah... I'll take the English version. 😂

You can use it directly in JavaScript:

import { compile, toRegExp } from 'regex-for-humans';

const row =
  "incoming/nightly/WidgetKit/v2.15.3/linux-arm64/widget_20261001_ab12cd34.tar.gz\t" +
  "ab".repeat(32) +
  "\t1048576";

toRegExp(compile(rules)).test(row); // true

Removing nightly/ still works. Missing version components, invalid hexadecimal characters, or spaces instead of tabs fail.

The path segment characters rule is particularly useful: it excludes path separators, NUL, and line breaks while supporting Unicode.

Of course, this validates the format, not whether the file exists or its checksum is correct.

🧪 More features are cooking!

On main, I've also added:

  • ⚡ Lazy repetition
  • 👀 Lookahead
  • 🔍 Lookbehind

These are available from a source checkout but haven't reached npm or the hosted playground yet.

🤖 Built with AI-assisted development

I'm also using Claude Code and the Opus 5.5 model for AI-assisted development.

AI helps me iterate faster, explore implementations, tackle complex features, and improve the project continuously.

The goal isn't just to generate code. It's to build something genuinely useful, test it, refine it, and keep pushing the boundaries of what this little language can do. 🚀

🌍 Available in 10 languages!

The README is now translated into 10 languages, including Arabic 🇸🇦, Chinese 🇨🇳, French 🇫🇷, Spanish 🇪🇸, and Urdu 🇵🇰.

Arabic and Urdu documentation also support RTL text with LTR code examples.

📦 Try it yourself!

The npm package is currently a development preview and requires Node.js 22+.

npm install regex-for-humans@0.1.0-dev.4

🎮 Interactive Playground:
https://othmaneblial.github.io/Regex-For-Humans/workshop/

⭐ GitHub (MIT Open Source):
https://github.com/OthmaneBlial/Regex-For-Humans

📦 npm:
https://www.npmjs.com/package/regex-for-humans/v/0.1.0-dev.4

💬 I'd love your feedback!

I'm especially interested in what you think about the syntax as groups become more complex and deeply nested.

What's the ugliest regex you've ever written? 😂

Drop it in the comments! I'd love to see whether Regex For Humans can make it readable.

And if you find the project useful, a ⭐ on GitHub would mean a lot!

Let's make regex a little less terrifying, one rule at a time. 🚀

u/stackattackpro — 4 days ago
▲ 37 r/AIprogrammingLanguage+1 crossposts

"Regex For Humans" : because regex shouldn’t look like alien language 👽

Regex is powerful… but sometimes this:

/^#[0-9A-Fa-f]{6}$/u

feels like you’re trying to decode a message from another planet. 🛸

This is why I did Regex For Humans 🧠✨

Instead of writing regex directly, you write:

start "#"
6 hex digits
end

And it generates:

/^#[0-9A-Fa-f]{6}$/u

🪄 The idea

Write small, readable English rules.

➡️ Understand what they mean
➡️ See the generated regex
➡️ Test examples instantly
➡️ Copy the final regex

No AI guessing. 🤖❌
No mysterious interpretation.

It uses a small, deterministic language where every instruction has an exact meaning.

🔥 It currently includes

🧩 Interactive regex playground
🧠 Explanations for every generated fragment
✅ Live match / no-match testing
💻 CLI support
📦 JavaScript API
📍 Helpful line + column errors
🔒 Runs locally
🚫 No runtime dependencies

For example:

start "INV-"
between 2 and 6 digits
end

becomes:

/^INV-\d{2,6}$/u

Much easier to read six months later. 😅

🎮 Try it

🔗 GitHub
https://github.com/OthmaneBlial/Regex-For-Humans

🛝 Live playground
https://othmaneblial.github.io/Regex-For-Humans/workshop/

The project is still evolving, so I’d genuinely love feedback. 🙌

What would you add?

More syntax?
More recipes?
Support for other regex engines?
Something completely different?

And the big question:

👉 Would you actually use this instead of writing regex directly? 😄

u/stackattackpro — 14 days ago
▲ 7 r/opensourcealternative+1 crossposts

A simple open-source voice transcriber built with Rust

I made a simple voice transcription app in Rust

I wanted a tool where I can speak, see the transcription, edit it, and only then copy or export the text.

So I built Voice Transcriber.

It is a native Rust desktop app for Linux, macOS, and Windows.

Main features:

  • Record from your microphone
  • Speech-to-text with Groq Whisper
  • Review and edit the text before using it
  • Copy or export to TXT/Markdown
  • Local voice activity detection
  • No analytics
  • Open source and MIT licensed

GitHub:
https://github.com/OthmaneBlial/audio-capture

The project is still improving, so feedback and contributions are welcome.

u/stackattackpro — 1 month ago

I’m rewriting Jest in Rust, mostly to see how far this can actually go

I've been working on a project called rjest, basically an attempt to rebuild Jest in Rust.

The goal isn't to make another JS test runner with a completely different API. I'm actually trying to stay as close as possible to Jest, so ideally you can take an existing project using Jest and run it with rjest without rewriting half of your tests.

A lot of the core stuff is already working: expect/matchers, snapshots, mocks, fake timers, config, CLI, etc.

Compatibility is probably the hardest part tbh. Jest has a LOT of behavior that you don't really notice until you try to recreate it.

I'm currently testing rjest against real React/Jest projects too, not only small artificial test cases, because passing your own tests doesn't mean much if it breaks as soon as you throw a normal project at it.

The reason for Rust is pretty simple: I wanted to see how much of the test runner/runtime work can be moved to native code while still keeping the Jest experience developers already know.

It's still a work in progress and there are definitely things that dont work yet, especially some edge cases around mocks, ESM and timers.

Repo: https://github.com/OthmaneBlial/rjest

Would be interested to know what people using Jest everyday think about this. Especially if there are some weird Jest behaviors/packages you think I should test against.

u/stackattackpro — 1 month ago
▲ 5 r/opensourcealternative+3 crossposts

Postman users, this is worth a try: Postly (open-source local-first API client written in Rust)

Postly is an open-source counterpart to Postman and it is made for people that want control of their workspace instead of sign-up flows.

Postly is local-first, meaning your requests, collections, and environments live in local files and not in some mandatory cloud. It has both a native desktop app and CLI that use the same core model, so what you run in CI or shell can match what you test in UI.

It supports REST, GraphQL, SSE, WebSockets, and gRPC, plus nice testing flows, collection runs, assertions, and code generation. Secrets handling is handled with local store logic, and you can keep things git-friendly with readable project files (less “black box” feeling, more actual visibility).

If you want to check it:

- GitHub: https://github.com/OthmaneBlial/Postly

- Website: https://othmaneblial.github.io/Postly/

u/stackattackpro — 1 month ago

Postman users, this is worth a try: Postly (open-source local-first API client)

I been testing lots of API clients lately and I got this one that seems honestly different: Postly. It is an open-source alternative to Postman and it is made for people that want control of their workspace instead of sign-up flows.

Postly is local-first, meaning your requests, collections, and environments live in local files and not in some mandatory cloud. It has both a native desktop app and CLI that use the same core model, so what you run in CI or shell can match what you test in UI.

It supports REST, GraphQL, SSE, WebSockets, and gRPC, plus nice testing flows, collection runs, assertions, and code generation. Secrets handling is handled with local store logic, and you can keep things git-friendly with readable project files (less “black box” feeling, more actual visibility).

If you want to check it:

- GitHub: https://github.com/OthmaneBlial/Postly

- Website: https://othmaneblial.github.io/Postly/

It is still growing, but if you care about privacy, determinism, and owning your API workflow, I think it has real potential.

u/stackattackpro — 1 month ago
▲ 20 r/opensourcealternative+3 crossposts

MobaRust — A Free & Open-Source Alternative to MobaXterm

I’m building MobaRust, a free and open-source desktop tool for people who spend their days operating remote machines.

The idea is simple: keep the useful parts of a remote-work toolbox in one focused application, while keeping the core inspectable and privacy-conscious.

What is working in the current baseline:

  • SSH terminals with host-key verification, PTY resize, password/key references, cancellation, and reconnect state
  • Integrated SFTP/SCP browsing and transfers with progress, bounded concurrency, cancellation, and atomic commits
  • Saved sessions with folders, tags, favorites, search, OpenSSH config import, and jump-host chains
  • Local terminals, split panes, tunnels, snippets, diagnostics, remote monitoring, Telnet, and serial-session foundations
  • A Rust-native boundary with typed frontend IPC, redacted logs, separated session configuration and secret material, and isolated loopback test fixtures

The current engineering checklist is 58/65 items evidenced — approximately 89.2%.

That number is deliberately not a claim of complete MobaXterm parity.

The remaining gaps are visible: production RDP/VNC integration, broader platform validation, packaging polish, and deeper real-world testing.

The goal is to keep pushing MobaRust toward a serious open-source remote administration toolbox rather than a demo or a collection of half-finished features.

If you regularly use SSH/SFTP, tunnels, serial connections, remote monitoring, or similar tools, I’d really appreciate feedback on what matters most in your workflow.

GitHub: https://github.com/OthmaneBlial/MobaRust

u/stackattackpro — 1 month ago
▲ 1 r/pdf

I built an open-source PDF editor that keeps your files on your computer

I got tired of PDF tools that ask you to upload your documents somewhere before you can do anything with them.

So I built PDF Editor Offline, a free and open-source PDF editor designed around one simple rule: your documents stay on your machine.

No account. No file uploads. No recurring subscription.

It can handle most of the PDF tasks I regularly need:

  • Edit and annotate PDFs
  • Add text, images, drawings, highlights and comments
  • Fill and sign forms
  • Merge, split, reorder, rotate and crop pages
  • Compress PDFs
  • Convert PDF ↔ Word, PowerPoint, Excel, images, Markdown, EPUB, etc.
  • Run OCR locally
  • Permanently redact sensitive information
  • Remove metadata and hidden/private data
  • Protect and unlock PDFs
  • Search documents

There’s also a CLI and Python API for automation, plus Docker support for self-hosting.

The desktop app is built with Tauri, the editor uses React, and the backend/tooling is primarily Python + FastAPI.

It’s MIT licensed and still actively being improved. Some complex PDF operations have known limitations, and I’m trying to document those honestly instead of pretending every PDF transformation works perfectly.

reddit.com
u/stackattackpro — 1 month ago

I built an open-source PDF editor that keeps your files on your computer

I got tired of PDF tools that ask you to upload your documents somewhere before you can do anything with them.

So I built PDF Editor Offline, a free and open-source PDF editor designed around one simple rule: your documents stay on your machine.

No account. No file uploads. No recurring subscription.

It can handle most of the PDF tasks I regularly need:

  • Edit and annotate PDFs
  • Add text, images, drawings, highlights and comments
  • Fill and sign forms
  • Merge, split, reorder, rotate and crop pages
  • Compress PDFs
  • Convert PDF ↔ Word, PowerPoint, Excel, images, Markdown, EPUB, etc.
  • Run OCR locally
  • Permanently redact sensitive information
  • Remove metadata and hidden/private data
  • Protect and unlock PDFs
  • Search documents

There’s also a CLI and Python API for automation, plus Docker support for self-hosting.

The desktop app is built with Tauri, the editor uses React, and the backend/tooling is primarily Python + FastAPI.

It’s MIT licensed and still actively being improved. Some complex PDF operations have known limitations, and I’m trying to document those honestly instead of pretending every PDF transformation works perfectly.

I’d love feedback from people who work with PDFs regularly — especially around editing, redaction, privacy, and features you think are still missing.

Live demo: https://othmaneblial.github.io/pdf-editor-offline/

GitHub: https://github.com/OthmaneBlial/pdf-editor-offline

u/stackattackpro — 1 month ago

I’m building MobaRust — a free, open-source counterpart to MobaXterm in Rust

Hi everyone,

I’m building MobaRust, a free and open-source desktop counterpart to MobaXterm for people who spend their days operating remote machines.

The idea is simple: bring the most useful parts of a remote-work toolbox into one focused application, while keeping the core inspectable, privacy-conscious, and open.

What is working in the current baseline:

  • SSH terminals with host-key verification, PTY resize, password/key references, cancellation, and reconnect state
  • Integrated SFTP/SCP browsing and transfers with progress, bounded concurrency, cancellation, and atomic commits
  • Saved sessions with folders, tags, favorites, search, OpenSSH config import, and jump-host chains
  • Local terminals, split panes, tunnels, snippets, diagnostics, remote monitoring, Telnet, and serial-session foundations
  • A Rust-native boundary with typed frontend IPC, redacted logs, separated session configuration and secret material, and isolated loopback test fixtures

The current engineering checklist is 58/65 items evidenced — approximately 89.2%. That number is deliberately not a claim of complete MobaXterm parity.

The remaining gaps are visible: production RDP through a mature engine, broader VNC interoperability, real Windows/Linux/macOS evidence, hardware testing, X11 strategy, and signed portable releases. RDP and VNC are still marked experimental until those gates are proven.

I’m especially interested in feedback from people who use MobaXterm, PuTTY, Remmina, Tabby, or similar tools every day:

  • Which workflow would make you seriously consider switching?
  • What should an open-source MobaXterm-style tool get right from day one?
  • Which platform and protocol should be prioritized next?

Project website: https://othmaneblial.github.io/MobaRust/

Source and roadmap: https://github.com/OthmaneBlial/MobaRust

MobaRust is independent and is not affiliated with Mobatek or MobaXterm. Contributions, issue reports, and honest interoperability feedback are welcome.

reddit.com
u/stackattackpro — 2 months ago

I’m building MobaRust — a free, open-source MobaXterm alternative in Rust

Hi everyone,

I’m building MobaRust, a free and open-source desktop alternative to MobaXterm for people who spend their days operating remote machines.

The idea is simple: keep the useful parts of a remote-work toolbox in one focused application, while keeping the core inspectable and privacy-conscious.

What is working in the current baseline:

  • SSH terminals with host-key verification, PTY resize, password/key references, cancellation, and reconnect state
  • Integrated SFTP/SCP browsing and transfers with progress, bounded concurrency, cancellation, and atomic commits
  • Saved sessions with folders, tags, favorites, search, OpenSSH config import, and jump-host chains
  • Local terminals, split panes, tunnels, snippets, diagnostics, remote monitoring, Telnet, and serial-session foundations
  • A Rust-native boundary with typed frontend IPC, redacted logs, separated session configuration and secret material, and isolated loopback test fixtures

The current engineering checklist is 58/65 items evidenced — approximately 89.2%. That number is deliberately not a claim of complete MobaXterm parity.

The remaining gaps are visible: production RDP through a mature engine, broader VNC interoperability, real Windows/Linux/macOS evidence, hardware testing, X11 strategy, and signed portable releases. RDP and VNC are still marked experimental until those gates are proven.

I’m especially interested in feedback from people who use MobaXterm, PuTTY, Remmina, Tabby, or similar tools every day:

  • Which workflow would make you seriously consider switching?
  • What should an open-source alternative get right from day one?
  • Which platform and protocol should be prioritized next?

Project website: https://othmaneblial.github.io/MobaRust/

Source and roadmap: https://github.com/OthmaneBlial/MobaRust

MobaRust is independent and is not affiliated with Mobatek or MobaXterm. Contributions, issue reports, and honest interoperability feedback are welcome.

reddit.com
u/stackattackpro — 2 months ago
▲ 27 r/tauri+1 crossposts

I’m building MobaRust — a free, open-source MobaXterm alternative in Rust

Hi everyone,

I’m building MobaRust, a free and open-source desktop alternative to MobaXterm for people who spend their days operating remote machines.

The idea is simple: keep the useful parts of a remote-work toolbox in one focused application, while keeping the core inspectable and privacy-conscious.

What is working in the current baseline:

  • SSH terminals with host-key verification, PTY resize, password/key references, cancellation, and reconnect state
  • Integrated SFTP/SCP browsing and transfers with progress, bounded concurrency, cancellation, and atomic commits
  • Saved sessions with folders, tags, favorites, search, OpenSSH config import, and jump-host chains
  • Local terminals, split panes, tunnels, snippets, diagnostics, remote monitoring, Telnet, and serial-session foundations
  • A Rust-native boundary with typed frontend IPC, redacted logs, separated session configuration and secret material, and isolated loopback test fixtures

The current engineering checklist is 58/65 items evidenced — approximately 89.2%. That number is deliberately not a claim of complete MobaXterm parity.

The remaining gaps are visible: production RDP through a mature engine, broader VNC interoperability, real Windows/Linux/macOS evidence, hardware testing, X11 strategy, and signed portable releases. RDP and VNC are still marked experimental until those gates are proven.

I’m especially interested in feedback from people who use MobaXterm, PuTTY, Remmina, Tabby, or similar tools every day:

  • Which workflow would make you seriously consider switching?
  • What should an open-source alternative get right from day one?
  • Which platform and protocol should be prioritized next?

Project website: https://othmaneblial.github.io/MobaRust/

Source and roadmap: https://github.com/OthmaneBlial/MobaRust

MobaRust is independent and is not affiliated with Mobatek or MobaXterm. Contributions, issue reports, and honest interoperability feedback are welcome.

u/stackattackpro — 2 months ago