rixlab.xyzContact
[00] FIELD SHEET · RIXLABREF · RIXLAB.XYZ · BANDUNG · [6.9175° S, 107.6191° E]
My desk, drawn as a field sketchA home server and a small switch on a wall shelf. On the desk: a monitor showing Tomo's web chat where a person approves a plan by typing "gas", a laptop terminal running wok commands, an open field notebook with a network sketch, and a mug. A cable runs from the laptop up to the switch, and a red packet travels along it./autopilotis the way of lifetomorerun the bench, update READMEplan · 3 tasksgas$ wok open rixlab.xyz{"ok":true}$ wok eval document.title"RixLab: tools that run…"$HOME SERVER · SELF-HOSTEDwok · 13 MS / COMMANDTOMO · APPROVE → gasFIELD NOTES · A TOPOLOGY

Tools that run themselves.

RixLab builds agents that finish the job, a browser they drive from the shell, a network lab and a real Linux machine that each fit in a browser tab. All of it is free to use. Then it sets up the same kind of systems for your team: AI automation, high-availability infrastructure, networking, and data.

Try the tools ↓

Work with RixLab

[01] TOOLS · IN THE OPEN

Six tools. Try them first.

Each tool exists because of a number someone got tired of. All of them are public. Try them before you talk to anyone.

01 · wok

666ms

Waiting per command

Evaluating one line of JavaScript with a fresh Playwright script for each shell command. wok does it in 13 ms. Median, from wok’s README.

02 · netlab

0servers

Backend for a lab

netlab is static files. The routers, the configs, and your images stay in your browser.

03 · Tomo

4phases

From ask to answer

Request, plan, work, synthesize. The plan waits for a “gas” or “ya” before anything runs.

[02] TOMO · AGENT SWARM

How Tomo runs a job.

Most agent frameworks give you a chatbot or a coding copilot. I wanted something I could give a job to and walk away from. Marchel, who built it

Scroll or click a step · 01/04

Request

A job comes in from the web UI or Telegram. Whoever sent it goes and does something else.

web UI · Telegram

Read the code  →

Plan

The coordinator splits the job into tasks that wait on each other. It shows the plan first. The reply is “gas”.

approve split? → gas | ya

Read the code  →

Agents work

Tasks run on your machines over a WebSocket tunnel, SSH, or a jailed local folder. If the server restarts mid-run, active tasks pick up where they left off.

tunnel · SSH · path jail · resumes after restart

Read the code  →

Synthesize

The coordinator puts the answers together. A background review keeps what worked as skills and facts for next time.

learning memory · skills + facts

Read the code  →

[03] PROBLEM · NETLAB

A lab before the first ping.

A network lab usually means a server, a hypervisor, or a cloud VM before the first ping. I started in a networking class in Malang. I wanted the lab to fit in a browser tab. Marchel, who built it

netlab in a browser tab, drawnThe Branch office lab: router R1 linked to two switches, SW1 in VLAN 10 with PC1, PC2 and Web1, SW2 in VLAN 20 with PC3 and Laptop1, a second router R2, and a stopped Cisco IOS node. The console shows PC1 pinging 192.168.20.13 three times: three replies, ttl 63, zero loss. A red line marks the ping's path.netlab · Branch officenetlab.rixlab.xyzSAVED LOCALLY · NO BACKENDnetlabFile Edit View Lab HelpStart all · Stop allRealtimeSimulationDEVICESVPCSVirtual PC with a shellLaptopEnd host, one NICServerEnd host, one NICEthernet switch8-port L2, MAC learningRouter4-port L3, static routesBranch office labDouble-click PC1 → ping192.168.20.13VLAN 10 · 192.168.10.0/24VLAN 20 · 192.168.20.0/24R1192.168.10.1R2SW1SW2IOS1Emulator (IOS)PC1PC2Web1PC3Laptop1TOPOLOGY9/10 UPIOS1stoppedLaptop1192.168.20.31PC1192.168.10.11PC2192.168.10.12PC3192.168.20.13R1192.168.10.1R2192.168.20.2PC1VPCS · RUNNINGINTERFACESeth0 192.168.10.11/24DEFAULT GATEWAY192.168.10.1Events 41 Capture 0PC1PC1> ping 192.168.20.13 -c 364 bytes from 192.168.20.13: icmp_seq=1 ttl=63 time=6.5 ms64 bytes from 192.168.20.13: icmp_seq=2 ttl=63 time=3.3 ms64 bytes from 192.168.20.13: icmp_seq=3 ttl=63 time=3.3 ms3 packets transmitted, 3 received, 0% packet lossREALTIME · 10 DEVICES · 9 LINKS · 9 RUNNING

Drag, or use the arrow keys.After: netlab’s Branch office lab, redrawn from the repo’s screenshot. Same devices, addresses and ping. IOS1 is stopped: you bring your own image.

Live · netlab.rixlab.xyz

Routers, switches and a packet capture in your browser. Free, no account, nothing to install.

Open netlab

[04] NETLAB · ON ONE WIRE

What netlab runs in a tab.

A deterministic L2/L3 fabric in Rust, compiled to WebAssembly. Real router operating systems plug into the same virtual wire. 32 labs: 6 Beginner, 11 Intermediate, 8 Advanced, 7 Expert.

[05] NETLAB · CONSOLE

One ping, six hops, no server.

A ping from PC1 to a server two routers away, recorded from netlab’s own engine. Scroll, click a device, or hover the map to follow the frame.

netlab · PC1 → 10.0.2.10TopologyCaptureConsole
Devices6
Cold ping81 ticks
Warm ping41 ticks
TTL at PC162
PC1 · VPCS Live

t+0 ticks

Address
10.0.1.10/24
Saw
ICMP echo 10.0.1.10 > 10.0.2.10 via 02:00:00:00:00:19

→ reply from 10.0.2.10 ttl=62

Scroll to step through the path01/06 · Click a device · Hover the mapOpen the live lab

Recorded from netlab’s engine (rev 2c63319) when this page was built. One tick is 1 ms in the lab’s Realtime mode. The first ping is slower because nobody knows anyone’s MAC address yet.

[06] PROBLEM · EMULAB

An install before the first shell.

Learning Linux usually starts with an ISO download, a hypervisor, and half an hour of installing. Or a cloud VM with a card on file. EmuLab starts with a link.

EmuLab in a browser tab, drawnEmuLab's machine page: a side menu with Machines, Images and Labs, a running Debian 13 machine, and tabs for Console, Details, Monitoring, Networking, Storage and Events. The console shows uname reporting riscv64, curl getting 200 from the internet, and apt-get installing htop.debian-1 · Consoleemu.rixlab.xyzRUNS IN THIS TAB · NO SERVERFree, no accountCOMPUTEMachinesImagesLabs1 machine runningMachines / debian-1debian-1RunningDebian 13 · riscv64 · TinyEMUPauseStopConsoleDetailsMonitoringNetworkingStorageEventsDebian GNU/Linux 13 debian ttyS0root@debian:~# uname -mriscv64root@debian:~# curl -so /dev/null -w '%{http_code}\n' https://example.com200root@debian:~# apt-get install -y htopReading package lists... DoneSetting up htop ...root@debian:~#

Drag, or use the arrow keys.After: EmuLab’s machine page, redrawn with the app’s own labels. The machine name and the session are an example.

Live · emu.rixlab.xyz

A Debian machine in your browser. Free, no account, nothing to install.

Open EmuLab

[07] EMULAB · IN ONE TAB

What EmuLab runs in a tab.

Debian 13 boots in the tab on an emulated RISC-V CPU. No install, no account, free. Your machine stays in your browser. For internet, a small app on your computer, RixNet, lends the guest your connection, so curl and apt-get install work. There is no server in the middle.

Where it stops being fast: A cold boot takes about two minutes, because every systemd unit runs under emulation. Restoring from a snapshot is next. Rocky Linux boots too, but it is still too slow to offer.

Free, no account, nothing to install. Open EmuLab at emu.rixlab.xyz →

[08] WOK · BROWSER CLI

Agents stopped waiting.

My agents spent most of their time waiting. Every browser command paid for a fresh Node process and a Playwright startup. Now it costs milliseconds. Marchel, who built it

wok · bench readoutmedian per command · new process each

Evaluate JavaScript

wok 13 msPlaywright script 666 ms

51×

Navigate to a page

wok 66 msPlaywright script 742 ms

11×

Fill, click, wait, read

wok 133 msPlaywright script 854 ms

6×

Where the number stops being true: Inside one long-lived script, Playwright is just as fast. wok gets you that speed from the shell, one command at a time.

One binary. Linux, macOS, and Windows on amd64 and arm64, with the real-browser suite in CI on all three. Read the code →

[09] ALSO BUILT · SKILLS · DROPPY

Two more, in the open.

One teaches coding agents a way of working. The other lives at the top of a Windows screen. Both MIT.

09.1 · Markdown · MIT

skills

Rules for coding agents. One command installs them.

Read the skills

npx skills@latest add Alg0rix/skills

development/

  • avoid-overengineeringSmallest change that meets the accepted requirement.
  • code-pathThe real behaviour path, with path:line evidence. No guesses.

testing/

  • high-impact-testingTests that catch real bugs. Behaviour, not implementation.
  • cleanup-testsDeslop the suite. Too many tests is bad if they test nonsense.

productivity/

  • setup-claudeGlobal instructions, memory, search and test agents, reviews.
  • gh-stackStacked PRs with gh stack. Split work into reviewable layers.
  • personal-memoryMarkdown + git memory at ~/.workspace, with INDEX.md as the way in.

7 skills · 3 groupsAlg0rix/skills

droppy opening, in four framesA black droplet hangs from the top edge of a screen. Frame by frame it necks in, swells into a bulb, and settles into a card showing droppy's page tabs.TOP OF A WINDOWS SCREEN01 · COLLAPSED02 · NECKS IN03 · SWELLS INTO A BULB04 · SETTLES INTO A CARDMusic Focus Water Shelf Tasks

09.2 · Rust · Windows 10/11 · MIT

droppy

A living notch for Windows 10 and 11.

A small black droplet hangs from the top of the screen. It shows what’s happening, and when you point at it, it stretches open into quick pages. It doesn’t scale a rectangle: it necks in where it hangs, swells into a bulb, then settles into a card.

  • Native Rust
  • No web view, no runtime
  • One ~1 MB exe
  • GPU-drawn, vsync-locked 60–240 Hz
  • No accounts, no tracking

See it on GitHub

Music
Song title + live visualizer
Meeting
Title + countdown, Join at 5 min
Focus
Progress ring + countdown
Volume
Level bar on volume keys
Water
Click to log +250 ml
Recording
Red dot + timer

Open, it has 12 pages:

  • Music
  • Focus
  • Water
  • Shelf
  • Tasks
  • Notes
  • Clipboard
  • Today
  • Speed
  • Usage
  • Voice
  • AI

[10] SERVICES · WORK WITH RIXLAB

The same systems, set up for your team.

Four kinds of work. Each one lists its proof: a tool above, a project below, a proctored exam you can verify at the issuer, or a course badge.

  1. S · 01

    AI agents & automation

    Problem
    Work that waits on a person to start it, watch it, and finish it.
    RixLab delivers
    Agents that take a job, show the plan, and finish it on your machines. Browser automation from the shell. Rules that keep coding agents on track.
    Proof
    • Tomo
    • wok
    • skills
    • Kofa
    • Arithmos
    • MBlast
    • OCI 2025 Certified AI Foundations Associate (course or badge)
    • Building Gen AI Applications with Microsoft Azure (course or badge)
    Ask about this
  2. S · 02

    HA infra & DevOps

    Problem
    Systems that go down when one node does.
    RixLab delivers
    Kubernetes on RKE2 with Helm deploys, PostgreSQL with Patroni, and SQL Server with Always On: clusters that survive losing a node, kept up after go-live.
    Ask about this
  3. S · 03

    Networking & hybrid cloud

    Problem
    Offices and clouds that only talk while someone keeps fixing the tunnel.
    RixLab delivers
    Site-to-site VPNs with BGP so routes heal themselves, Active Directory across sites, and password resets that never need a ticket.
    Ask about this
  4. S · 04

    Data platforms

    Problem
    Data in many places, and reports nobody trusts.
    RixLab delivers
    Pipelines and reports on Microsoft Fabric, and models that are published with their error.
    Ask about this

[11] WORK

Racks, clusters, and the apps on them.

Nine projects Marchel led as development lead: five pieces of infrastructure that have to stay up, and four apps that run on top. Each is tagged with the service it proves. There is more under NDA, so it stays blacked out.

REF · RACK 01 · INFRASTRUCTURE · 5U + NDA

  1. DB · HAHigh-availability PostgreSQL with Patroni

    HA infra & DevOps

    A PostgreSQL cluster that survives losing its leader. Patroni manages the instances, etcd holds the configuration and runs the leader election.

    • PostgreSQL
    • Patroni
    • etcd
    • Linux
  2. K8S · HAHigh-availability RKE2 with Rancher

    HA infra & DevOps

    An RKE2 Kubernetes cluster with several control-plane and worker nodes, run from Rancher. Network policies, Helm deploys, and the ongoing maintenance.

    • RKE2
    • Rancher
    • Helm
    • openSUSE
  3. DB · FAILOVERMSSQL cluster with Always On

    HA infra & DevOps

    SQL Server on Windows Server Failover Clustering, with Always On availability groups for replication and automatic failover. Monitoring and tuning included.

    • SQL Server
    • WSFC
    • Always On
    • Windows Server
  4. DIRECTORYActive Directory replication

    Networking & hybrid cloud

    AD DS on several domain controllers, with sites, subnets and replication schedules set up for the traffic. Health checked with repadmin and dcdiag.

    • Active Directory
    • Windows Server
    • repadmin
    • dcdiag
  5. NET · BGPSite-to-site BGP VPN to Azure

    Networking & hybrid cloud

    A private site-to-site link from an on-premises network to Azure: IPsec through Azure VPN Gateway, with BGP propagating routes so the link heals itself.

    • Azure VPN Gateway
    • BGP
    • IPsec
    • Network architecture
  6. NDAMore infrastructure work, under NDA.
Open a unit for what it does. The blacked-out ones run; what they are stays private. Front view, not to scale.
  • App · 01 · AI agents & automation

    Kofa

    Smart gate security with facial recognition.

    Captures faces in real time at a gate and checks them against the people allowed in, then grants or denies access.

    • Python
    • Django
    • Redis
    • RabbitMQ
  • App · 02 · AI agents & automation

    Arithmos

    Document numbers, generated by rule.

    Generates unique document numbers from customizable rules, so nobody types them by hand. Rails backend, Vue frontend.

    • Ruby on Rails
    • Vue.js
    • PostgreSQL
    • Redis
  • App · 03 · AI agents & automation

    MBlast

    WhatsApp messaging with a REST API and a schedule.

    A Django REST API over WhatsApp’s API, with a message queue for high volume and scheduled dispatch at set times.

    • Django
    • Node.js
    • RabbitMQ
    • PostgreSQL
    • Docker
  • App · 04 · Networking & hybrid cloud

    SSPR

    Self-service password reset.

    Employees reset their own passwords against LDAP, securely, without a ticket to IT.

    • FastAPI
    • Svelte
    • LDAP
  • App · ── · Development lead

    Redacted

    More that can’t be named.

    Built and run under NDA. The stack, the client, and the numbers stay with them.

[12] HOW RIXLAB WORKS

Terms, before the work.

What every engagement runs on. Each one came out of a tool above.

Need it done another way?Say so →
  1. Nothing runs before you see the plan. After you approve it, it runs without anyone watching it.

  2. Everything crashes. Each system is designed around what it remembers and how it recovers, not only the happy path.

  3. Every benchmark ships with where it stops being true. wok is 51× faster per command than a Playwright script; inside one long Playwright script, it’s a tie.

  4. A tool is not done while it needs a runtime, a server, and a page of steps before it does one useful thing.

  5. Few moving parts and obvious failure modes.

[13] WHO’S BEHIND IT

Marchel Fahrezi

Development team lead · Bandung, Indonesia

“Sometimes DevOps, sometimes IT, handle everything.” Developer since 2019, leading a team since 2024. Builds RixLab’s tools outside the day job.

More about Marchel

[14] CONTACT

Have something that should run itself?

Try the tools first. Then write.

What is it about?
Email RixLab

hi@rixlab.xyz
GitHub · Alg0rix · LinkedIn