Nodofi

Build, publish and ship anything — right from your browser

Nodofi Studio is a full development environment in one browser tab: write code with a live preview, wire programs together with visual blocks, program real robots with a built-in simulator, publish packages to the registry, sell apps for USDC — and let an AI assistant help with all of it.

Nodofi Studio
PROJECTS portfolio-site index.html styles.css app.js behavior.flow robot.robot assets/ index.html behavior.flow robot.robot Ask AI Run Agent Run Flow 1 2 3 4 5 6 7 <div class = "hero" > <h1> Build with Nodofi Studio </h1> <button> Run Agentic Goal </button> PREVIEW — portfolio-site Live Desktop Landing Hero Preview refreshes on save. Open Studio AGENTIC AI Relay URL relay.nodofi.com Goal summarize preview errors Run Stop Trace Step 1: memory.get Step 2: http.request Step 3: final answer portfolio-site · index.html · UTF-8 · Ln 7, Col 12

A real code editor — in a tab

Monaco (the same engine behind VS Code) with syntax highlighting, auto-complete, multiple cursors and keyboard shortcuts you already know.

Write HTML, CSS and JavaScript

Each project is a folder of .html, .css and .js files. The editor shows them all in a file tree on the left. Click any file to open it; use Ctrl/⌘ P to jump between files by name.

Live preview, instantly

A sandboxed preview pane on the right reloads every time you save. No build step, no compile step — you see exactly what your users will see, running in a real browser sandbox.

Auto-format, wrap and undo

Format the current file with Shift+Alt+F. Toggle word wrap with the toolbar button. Every edit is undoable; unsaved changes are kept in memory across navigation.

Drag-and-drop images

Drop an image onto the editor and it is uploaded to your Beezifi Storage bucket and the URL is inserted at the cursor. No copy-paste from a separate tool.

  • Syntax highlighting for HTML, CSS, JS and JSON
  • IntelliSense completions and hover-documentation
  • Multiple cursors, column selection
  • Find and replace across the project
  • Configurable tab size, indent style
Editor — style.css
1:root { 2--bg:#ffffff; 3--accent:#0a66b2; 4} 5 6body{ 7background:var(--bg); 8font:16px/1.5system-ui; 9color:var(--text); 10} 11 12.hero{ 13padding:48px24px; 14text-align:center; text-decoration text-indent text-overflow text-shadow text-transform Color preview #0a66b2

Visual flow programming — no code required

Drag blocks onto a canvas, wire their outputs to inputs, press Run. Studio draws the data flowing through every wire so you can see exactly what each block produced.

Everything is a block

Inputs (numbers, text, JSON), math, logic, HTTP requests, templates, lists, tables, timers, services — each one a block with named pins on each side. Wire an output to an input and the value flows. No types to declare, no syntax to remember.

Run once or publish as a service

Press Run to execute the flow once and see every value live on the canvas. Or click Publish to deploy it as a live HTTP/relay service that any app or flow can call by UID.

Call other flows

A Call block names any published flow or service and passes data to it — the whole Nodofi network becomes a library of reusable logic.

  • 50+ built-in blocks: math, text, lists, HTTP, time, JSON, filters, sort, aggregate
  • Save any selection as "My blocks" to reuse across projects
  • Service input / output blocks for building callable APIs
  • Display and Table blocks for rich output in the Output panel
  • Code block for inline custom JavaScript when you need it
Behavior Output
Products JSON data value Over $10 price > 10 list list Priciest first sort by price ↓ Total > 50 Compare a > b a b Total Sum of price If condition then else array sorted

Program real robots — with a built-in simulator

Robot projects are flow programs that drive real hardware. Try everything in the simulator first, then click Start to run it on a Raspberry Pi over the relay.

Simulator with physics

A two-wheeled differential-drive robot navigates walls, boxes and line tracks in a simulated world right beside the canvas. Watch it follow the line you programmed in real-time, see its distance sensor beam sweep ahead, and drag it or balls around to test edge cases.

Camera and vision blocks

The simulator renders a first-person camera view with colored balls, QR-code signs and obstacles. Find color, detect motion, read QR codes — using the same algorithm that runs on a real Raspberry Pi camera, so the simulator and hardware behave identically.

Hardware tab

Pick boards (Raspberry Pi, Arduino, ESP32…) and parts (motors, servos, sensors, cameras) from a catalog. Studio auto-assigns pins, draws a wiring diagram, and flags any conflicts before the program ever touches a real robot.

Tethered or deployed

In tethered mode, every sensor value streams live back to the canvas. Deploy saves the program to the robot — it runs on its own, restarting at boot, with no Studio tab needed.

  • 5 simulator worlds: line track, figure-8, maze, obstacle room, ball room
  • Draggable speed: 0.5×, 1×, 2×, 4×
  • Parts panel for manually controlling sensors mid-run
  • Emergency STOP in the toolbar cuts all motors instantly
  • 30+ hardware parts supported: DC motors, servos, steppers, ultrasonic, line sensors, encoders, I²C sensors, displays, cameras…
Robot project — Line follower
Every 50 ms triggers loop tick Line sensors when position Turn amount x × 45 Cruise speed 30 Drive (speed+turn) speed turn SIMULATOR distance48.2 cm line · left1 line · center1 line · right0 motorsL:34 R:26 Camera ■ STOP Running · 142 updates

Diagram and document your system

Design projects give you a Visio-style canvas for mapping your Nodofi network — nodes, relays, services, databases — with first-class ER diagram support.

Components and connectors

Drop Nodofi components (Node, Relay, Studio, App Browser, Service, CloudDB, Registry…) and any shape onto the canvas. Draw connectors between them — curved, straight or right-angle — with labels, arrows, cardinality marks and animation.

Database diagrams (ER)

Add Table shapes with columns, data types, primary keys and foreign keys. Connectors between tables auto-display crow's-foot cardinality. Import an existing schema from SQL (CREATE TABLE statements) and the diagram builds itself.

Export as PNG, SVG or service code

Export a diagram as a pixel-perfect PNG or a scalable SVG. Flow projects can also export as service code — a standalone .js file that runs on any NVM Service Manager without Studio.

Design — my-system.design
Nodofi Studio Build & publish Nodofi Relay Optional reach Node A prod · 34 apps Pricing Service NVM · relay CloudDB products table send app reads PROPERTIES Label Node A Stroke color Notes

An AI that understands your whole project

The built-in AI assistant (Claude or your own local Ollama model) reads your actual files and writes back into them — not just text in a chat.

Apply changes directly

The assistant can edit a file, create a new one, or propose a diff — all from the chat. Click Apply and it's done; your undo history keeps the original.

Fix errors inline

When the console shows an error, a Fix with AI button opens the assistant pre-loaded with the error, the file and the relevant context — one click to investigate and fix.

Claude and Ollama

Connect your own Anthropic API key to use Claude, or point Studio at a local Ollama instance for fully private, offline inference. Keys are AES-256-GCM encrypted at rest; Studio never sends them to the relay or your code.

  • Converses in the context of the full project (not just the open file)
  • Chat history persists server-side, visible from any device you sign into
  • Conversation titles auto-generated from the first message
  • Separate history list — switch between conversations like a real chat app
AI Assistant
✦ AI Assistant claude-3.5 ▾ Add a dark mode toggle to the header in index.html I'll add a toggle button and a CSS class that switches colors. <button id="theme-btn" > 🌙 Dark mode </button> Apply ↵ Copy Also update the CSS please Ask anything about your project… ↑

From chat to execution with Agentic AI

Run multi-step tasks that can plan, call tools, and report a full execution trace. Start from the Agentic pane directly, or hand off from AI Assistant with Run as Agentic.

Download Agentic Starter to run this stack on your own machine.

Built for real workflows

Agentic runs can read project context, fetch data, call approved tools, and produce deterministic step-by-step output. Every run is tied to a runId so state, retries and cancellation remain coherent across the whole flow.

Trace-first debugging

The run trace shows planner decisions, each tool call, and intermediate outputs in order. You can audit what happened, why it happened, and where a failure occurred before re-running.

Safe control while running

Long tasks are cancellable from Studio with Stop Agentic. Cancellation propagates from browser to server to worker, so active tool calls stop cooperatively instead of continuing in the background.

  • Launch from Assistant with one-click handoff
  • Planner + tool retries for transient failures
  • Relay-aware execution for distributed tool workers
  • Structured final output with machine-readable steps
  • Abort support end-to-end (UI, API bridge, worker runtime)
Agentic AI Run
Agentic Pane · project: portfolio-site Goal Create a pricing page and wire products from CloudDB. Run Stop Execution trace planner.ok · 3 steps generated tool.memory.get("pricing-tone") result: concise, enterprise, CTA-first tool.clouddb.query("products") result: 12 rows · cached 30s tool.filesystem.write("pricing.html") result: created + linked stylesheet agent.complete · output ready Run metadata runId ag_9f2c31d4 status running tools memory, clouddb filesystem, http policy max steps: 8 timeout: 60s handoff: AI Assistant -> Agentic

Publish and deploy in two clicks

Right-click any project to send it to any Nodofi Node — with a key for instant approval, or without one to queue for the node owner's review.

Send to Node…

Choose a node, enter its key (or leave blank to submit for review), set name, description, icon, version, price, screenshots — and Studio pushes the app in seconds. The node notifies any open browser tabs that a new version is available.

Live immediately

Once on a node the app is served instantly by its UID — a 32-character permanent address that never changes, on any node that holds a copy. Nodes with no public address use the relay automatically.

Push an update

Send the same project again and every node that holds it updates in place. Open browser tabs running the old version get a live reload notification — the update reaches users in real-time.

A public registry for reusable packages

Publish any project as a versioned package that other Studio projects can import — a component library, a utility module, a pre-built page template.

Publish once, import anywhere

Give a project a slug (like my-ui-kit) and click Publish to Registry. Any other Studio user can find it by name, read its description and tags, and import it into their own project with one click.

Version control and changelogs

Each publish creates a new version (semver). The registry keeps every version, so importers can stay on an older version or upgrade on their own schedule. Write a changelog for each release to tell users what changed.

Provenance tracking

Studio remembers which version of a package each file in a project came from. When a new version is published, the Update button shows exactly which files will change.

  • Search by name, tag or description
  • License field required to clarify terms of use
  • Report abuse with one click
  • Download count per package
Registry
Search packages… nodofi-ui-kit A set of ready-made UI components for Nodofi apps: buttons, cards, nav, modals. v1.4.2 · MIT · 1,240 downloads Import ↓ scene-transitions Smooth slide, fade and zoom transitions for multi-screen Nodofi apps. v2.1.0 · ISC · 892 downloads Import ↓ chart-widgets Bar, line and pie charts using Canvas. Zero dependencies. v0.9.1 · MIT · 348 downloads Imported ✓

Publish a site on your own domain

Any code project can become a live site at your-slug.nodofi.app — or on a custom domain you own.

One click to go live

Right-click a project → Publish site…. Choose a slug, pick the entry page, and the site is live in seconds. It stays live until you unpublish it — no hosting bill, no server to manage.

Custom domains

Bring your own domain: add it in the site settings, point a CNAME to sites.nodofi.app, and Studio verifies the DNS record automatically. HTTPS is handled at the edge — nothing to configure.

Scene app support

Projects that use the Scene Manager (NodofiScenes) publish with their scene type flagged, so the App Browser can show them with the right launch behaviour.

Publish site — my-portfolio
Site settings URL slug my-portfolio .nodofi.app Entry page index.html ▾ Custom domain your-domain.com ✓ Live at https://my-portfolio.nodofi.app Save changes Unpublish

A shared database for your app's data

NodoCloudDB gives every Nodofi app a real database, reachable by name over the relay — shared between every user, or wallet-scoped and private.

Provision in one click

Right-click a project → Database… → Provision. Studio registers the project with the CloudDB worker, gives you a data key (keep it — it's shown once), and generates the <script> tag to paste into your HTML.

Shared and private tables

Shared tables store data anyone using the app can read and write — a leaderboard, a feed, a vote counter. Private tables sign every read and write with a wallet key, enforced by the database itself, so each user's rows are invisible to everyone else's.

Self-host or use Studio's instance

Run your own CloudDB worker (see the CloudDB docs) and point your project at it instead. The API is identical either way.

Database — my-app
NodoCloudDB Worker: NodofiCloudDB · relay.nodofi.com ✓ Provisioned Data key: cdk_a4f8…e912 <script src="/js/nodo-clouddb.js"></script> <script> const db = new NodoCloudDB({ project: "…", key: "cdk_…" }); </script> Tables scores shared · 142 rows user_data private (wallet) · 18 rows

Image and file storage, built in

Beezifi Storage gives every Studio project a CDN-backed bucket for images and assets. Drop a file onto the editor and the URL appears at your cursor.

Buckets and visibility

Create public or private buckets. Public assets are served over HTTPS from a CDN. Private assets require a signed URL. Choose per-bucket.

API keys stored encrypted

Your Beezifi Storage secret key is encrypted with AES-256-GCM before being stored — Studio never logs it, and never sends it to the browser once saved.

Insert at cursor

With a bucket set as your active bucket, drag any image onto the editor and its CDN URL is inserted at the cursor position. No tab-switching, no URL copy-paste.

Beezifi Storage
my-bucket public · 14 files · 2.4 MB 🖼️ hero.jpg 84 KB 🖼️ logo.png 12 KB 🖼️ banner.webp 140 KB + Drop to upload https://cdn.beezifi.io/my-bucket/hero.jpg ⎘ Drag any image onto the editor to insert its URL at the cursor.

Sell your app for USDC — keep everything

Set a price for your app and buyers pay in USDC directly from their wallet to yours. No platform fee. No escrow. No KYC. Nodofi never sees the money.

Direct wallet-to-wallet

Every purchase is two on-chain USDC transfers: one to the publisher's wallet (that's you) and one to the node operator's commission wallet. Studio verifies both transfers happened on the blockchain after the fact — it never holds funds.

Commission locked in per app

The node operator's commission rate is set the moment you send your app to a node, and locked — it can't change while your app is hosted there without your consent.

Self-custody wallets

Your MooChedda wallet is just a standard USDC wallet — the same keys work outside Nodofi. No custodian, no withdrawal limits, no approval process.

  • Set any price in USDC, from fractions of a cent to any amount
  • Buyers get a permanent entitlement that follows them across nodes
  • Cryptographic signatures prevent double-spending
  • Nodofi records entitlements so any node can verify a purchase
Send to Node — price this app
Pricing Leave blank to keep the app free, or set a USDC price. Price (USDC) 4.99 USDC Your payout 4.24 USDC Node commission (15%) 0.75 USDC Transfers go directly to both wallets. Nodofi takes nothing. Your MooChedda wallet 0x71C7656EC7ab88b098defB751B7401B5f6d8976F Send to Node →

See how your apps perform on every node

Any node the user links to their Studio account reports hourly request statistics. The App Performance page shows requests, bandwidth, latency histograms and app-level breakdowns.

Link a node with a token

Nodes you manage can link to your Studio account with a stats-only token. The token is shown once, stored as a SHA-256 hash on the server — it can report statistics but nothing else.

Hourly resolution

Requests, cache hits (304 Not Modified), 404s, rate-limited requests, searches, relay connections, peak concurrent connections, average and p95 latency, and per-app breakdowns — all stored per hour, per node.

Live and historical

The performance page updates as new hourly buckets arrive. Historical data stays until you unlink the node.

App Performance — My Node
4,821 requests / 24 h 34 ms avg latency 2.1 GB bandwidth 99.8% uptime REQUESTS LAST 24 HOURS TOP APPS my-portfolio 2,104 req dashboard-app 1,012 req

Everything in one place

Every feature Studio ships with — no plugins, no extensions, no extra accounts.

Monaco code editor

VS Code engine: HTML, CSS, JS, JSON with completions and formatting.

Visual flow builder

50+ blocks: math, HTTP, lists, text, timers, filters, aggregates and more.

Robot simulator

5 worlds, camera vision, sensor readouts, draggable balls — matching real hardware.

Design canvas

Drag-and-drop diagram builder with ER tables, Nodofi components, SQL import.

Live preview sandbox

Isolated iframe preview — same as a real browser, no leakage to Studio's own cookies.

AI assistant

Claude or Ollama, aware of all your files, applies edits directly to the project.

Send to Node

Push any project to any node — live immediately or queued for review.

Package registry

Publish versioned packages, import from others, track provenance.

Site publishing

Live sites at slug.nodofi.app or your own domain, with HTTPS.

NodoCloudDB

Shared or wallet-private database tables, provisioned in one click.

USDC payments

Set a price, receive USDC directly in your wallet, no platform cut.

Beezifi Storage

CDN-backed image buckets, drag-to-insert into the editor.

App performance

Hourly request stats, latency histograms and per-app breakdowns for every linked node.

Folders and projects

Unlimited projects, organized into folders. Share projects across devices by signing in.

Scene Manager SDK

Multi-screen apps with animated transitions — bundled automatically when referenced.

Publish as a service

Deploy a Flow project as a live service any app or flow can call over the relay.

Start building — right now, in your browser

No install, no credit card, no configuration. Sign up and your first project is one click away.

Open Studio free →