Skip to content

Repository files navigation

IsoBrowse

Local-first WASM pipeline runtime for small data tasks.

Not a browser.
Not a CLI.
Something in between.

IsoBrowse UI

Process data locally using small sandboxed WASM tools.


⚡ Quick Examples

/echo "hello world" | /run uppercase
HELLO WORLD
/get https://jsonplaceholder.typicode.com/posts | /run jq "0.title"
/read ~/Desktop/server.log | /run grep "CRITICAL"
/get news.ycombinator.com | /run htmlclean | /run linkextract | /run sort

💡 Why?

Working with data usually means:

  • Copy/paste into ad-heavy websites
  • Installing CLI tools and managing dependencies

IsoBrowse takes a different approach:

  • Local-first: your data never leaves your machine
  • Sandboxed: tools run in isolated WASM containers
  • No setup: no install, no dependencies — run tools instantly
  • Composable: everything works through pipelines

🧠 How it works

Everything is a simple flow: data → pipeline → wasm → output

  • /read, /get, /echo → provide data
  • /run → executes a WASM tool
  • | → connects everything
Image

🧩 Modules (WASM TOOLS)

I’ve built ~80 small WASM tools (text, parsing, hashing, etc): 👉 https://github.com/igtumt/isomodules

They follow a simple idea: do one thing, and do it well.


🚀 Build your own tools

You can run any WASM tool directly:

/run https://your-tool.wasm

No install. No packaging. Just compile to WASM and run.


⚡ 5-minute WASM tool

1. Create a project

cargo new mytool
cd mytool

2. Replace main.rs

use std::io::{self, Read};

fn main() {
    let mut input = String::new();
    io::stdin().read_to_string(&mut input).unwrap();
    print!("{}", input.to_uppercase());
}

3. Build

rustup target add wasm32-wasip1
cargo build --target wasm32-wasip1 --release

4. Run

/echo "hello" | /run ./mytool.wasm

🎬 Demo

idemo.mp4

🖥 Architecture

  • Rust core
  • Wasmtime sandbox
  • WebView UI

Everything runs in memory.


🚀 Getting Started

📥 macOS (MVP)

  1. Download from Releases: IsoBrowse-v1.0-Mac.zip
  2. Extract the file
  3. Remove macOS quarantine:
xattr -cr /path/to/IsoBrowse.app
  1. Open IsoBrowse.app

⚙️ From source

git clone https://github.com/igtumt/isobrowse.git
cd isobrowse
sh run.sh

⚖️ Limitations

  • Text & data focused (JSON, HTML, logs)
  • Not a full browser for /nojs (no SPA support)
  • Strict sandbox (no direct file/network access)
  • Experimental — some edge cases may break

🧭 Final Thought

I built IsoBrowse as a small experiment.

It turned into something I use daily.

Maybe it’s useful for you too.

A safe place to run data.


License

MIT + Apache 2.0

About

A local-first pipeline environment for running WASM tools on your data

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages