Skip to content

igtumt/isobrowse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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