Skip to Content
Introduction

Develop an app on Wandelbots NOVA

You’ve been writing robot programs in Python using the NOVA SDK - planning motions, visualizing with Rerun, and executing commands. Now you’re ready to take the next step: turning those programs into full applications that can be deployed, shared, and integrated into larger systems.

Seems like you’ve completed the hard part. Writing robot logic is the complex piece. App development is about packaging what you’ve already built so robot programs can be deployed to production cells, shared with other users or teams via a custom UI, and integrated with other systems including existing hardware.

Prerequisites

To go from Python programs to apps, all following instructions assume that you’ve already written Python robot programs using decorators like @nova.program. If you don’t know what that means, complete the pathplanning introduction first.

Available client libraries

Wandelbots NOVA provides client libraries for two primary languages supported for app development; Python and Typescript.

Use the programming language that you’re most comfortable with or that best fits your use case.

Python

The Wandelbots NOVA Python SDK provides comprehensive robot programming capabilities for you to create robotic programs. All robot control logic on Wandelbots NOVA uses the Python SDK with @nova.program decorators.

Python is ideal when you want to leverage existing Python libraries, e.g., for machine learning, or when building robot programs directly.

Typescript

The Wandelbots NOVA TypeScript SDK provides a convenient way to build web applications that interact with the Wandelbots NOVA platform.

Typescript is ideal for custom UIs leveraging modern web development technologies like React.

It offers:

It offers:

  • API client
  • Convenient API
  • App templates (NOVA CLI)
  • Example projects
  • 3D assets
  • UI kit

All app templates can be created using the Wandelbots NOVA CLI 

Development approaches

  1. Develop apps using one program language only.
  2. Develop a multi-language web application with a Python backend and any frontend technology.
    • Python backend: Use the NOVAx framework to create FastAPI servers that expose robot programs as REST APIs.
    • Any frontend: TypeScript, React, Vue, Angular, or any other frontend technology can consume the REST API endpoints.
  3. Use built-in web interfaces provided by FastAPI at /docs.

App definition

The introduction has been referencing custom apps, but what exactly is a custom app on Wandelbots NOVA?

Architecture Overview

Deployed as Docker containers

Custom apps are containerized web applications running a web server listening on a port. Each app is installed on a cell and reachable under the subroute /cell/<your-app-name>. NOVA treats your app as a containerized web app that gets deployed into your cell.

Appear as a tile on home screen

When you build an app, you’re creating a standard HTTP service that NOVA automatically adds to the home screen as a clickable tile, handles networking and service discovery for, and integrates into the broader robotics environment. Once the container is deployed, NOVA adds the tile to the instance’s home screen and opening it launches the service UI in the browser.

Built with any tech stack

As long as your Docker image meets the platform requirements, you can use any technology stack. The platform provides three core operations: AddApp to deploy your container, UpdateApp to modify configuration without rebuilding, and DeleteApp to clean removal. Your app gets a predictable URL structure and NOVA injects environment variables so it knows how to integrate with other services and the NOVA API.

Configured via YAML manifest

The configuration is declarative: You specify what the app needs, e.g., container image, resources, storage, environment variables, and NOVA handles the deployment details. This lets you focus on the app logic while the platform manages infrastructure concerns like networking, resource allocation, and UI integration.

Get started

You’re ready to start building your first app. Choose your preferred programming language and follow the respective quickstart guide:

Last updated on