From be60a51e22ad162e59dc12530ecf29515ebaf5dc Mon Sep 17 00:00:00 2001 From: Naomi Pentrel <5212232+npentrel@users.noreply.github.com> Date: Wed, 8 Oct 2025 20:32:12 +0200 Subject: [PATCH 1/5] DOCS-4340: Update landing page --- assets/scss/_styles_project.scss | 10 +-- docs/_index.md | 102 ++++++++++--------------- docs/operate/hello-world/quickstart.md | 9 ++- 3 files changed, 52 insertions(+), 69 deletions(-) diff --git a/assets/scss/_styles_project.scss b/assets/scss/_styles_project.scss index 5a7d3bd9bb..f0f7d1df57 100644 --- a/assets/scss/_styles_project.scss +++ b/assets/scss/_styles_project.scss @@ -3798,11 +3798,6 @@ footer { flex-wrap: wrap; } -.frontpage .col.hover-card { - margin-left: auto !important; - margin-right: auto !important; -} - .copied { display: inline-block; margin-left: 2rem; @@ -4116,3 +4111,8 @@ footer { } /* Feedback System Styles END */ + +.frontpage .col.hover-card:not(.left):not(.right) { + margin-left: auto !important; + margin-right: auto !important; +} diff --git a/docs/_index.md b/docs/_index.md index e2de53ac3a..de20630aaf 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -1,12 +1,9 @@ --- title: "Viam Documentation" linkTitle: "Viam Documentation" -description: "Viam integrates with hardware and software on any device. Use AI, machine learning, and more to make any machine smarter — for one machine to thousands." +description: "Viam adapts software engineering paradigms to building machines for the physical world." weight: 1 -no_list: true type: "docs" -noToc: true -hide_feedback: true sitemap: priority: 1.0 outputs: @@ -16,7 +13,7 @@ imageAlt: "/general/understand.png" images: ["/general/understand.png"] noedit: true date: "2024-09-17" -updated: "2024-10-11" +updated: "2025-10-08" aliases: - "/getting-started/" - "/getting-started/high-level-overview" @@ -25,70 +22,49 @@ aliases: - "/viam/app.viam.com/" - "/get-started/" - "/platform/" +next: /operate/hello-world/quickstart/ --- -
-
-
-

Viam Documentation

-

- Viam integrates with hardware and software on any device in the physical world. Once you set up your machines, you can use Viam SDKs to program your devices and connected hardware. Everything is managed in the cloud and you can use machine learning, data management, and much more for your projects. -

- -
- App illustration -
-
-
+# Viam Documentation - -
-

The Viam platform - -

-

Viam allows you to control and program any sensor, actuator or other hardware that is connected to a device. The Viam platform offers builtin capabilities to capture data from devices to the cloud, to build and deploy machine learning models, to alert on problems, and much more. With the connection to the cloud, you can configure, control, and manage your devices from anywhere.

-
-
-
- Platform diagram - Platform diagram with connect elements highlighted - Platform diagram with apps element highlighted - Platform diagram with motion elements highlighted -
-
+Viam adapts software engineering paradigms to building machines for the physical world. -
+## Get started with Viam -
+You can build many types of robotics project on Viam, from single-component projects to human-in-the-loop or AI-powered autonomous intelligent systems. -
-

Build & integrate

To get started, install Viam on any device and integrate your hardware. Then you can control your device and any attached physical hardware securely from anywhere in the world.

Learn more

-
+- [Standardized APIs](/dev/reference/apis/): It doesn't matter which robotic arm, motor, or other piece of hardware you are using, the code to operate the hardware is the same. +- [Hardware agnostic](/operate/hello-world/quickstart/#supported-platforms): Viam runs on almost all single-board computers. +- [SDKs](/dev/reference/sdks/): Program machines in your favorite programming language. +- [Module Registry](https://app.viam.com/registry): Find and use a variety of integrations for popular hardware, common logic patterns, machine learning models, and more. +- [CLI](/dev/tools/cli/): Control, manage, and test from the command-line from anywhere. -
-

Work with Data and AI

Viam's data and AI capabilities enable you to capture and sync or upload data, build a dataset, train and deploy ML models, and run inference with computer vision. Then, you can act or alert on inferences.

Learn more

-
+We recommend starting with the [Quick Start](/operate/hello-world/quickstart/) and following the [Tutorial: Desk Safari](/operate/hello-world/tutorial-desk-safari/) to build your first machine. -
-

Deploy, manage, and troubleshoot

Viam’s fleet management tooling allows you to remotely deploy and manage software on any fleet of devices. You can monitor all connected devices and troubleshoot any issues - from anywhere.

Learn more

-
+## Build your projects -
-
+You can use Viam to build entire projects or to add functionality to existing projects. +Before you begin, we recommend reading [How to think about building a machine](/operate/hello-world/building/) to understand the building blocks of a machine and how to go from prototype to production. + +Once you have a good understanding of the building blocks of a machine, [install Viam on your machine](/operate/install/setup/), add existing components and services. +Write modules to for additional components, services, or to add control logic to your machine. +Modules keep your code maintainable as your project grows in complexity because you can make changes to single modules without changing the rest of the project. + +## Use Viam's platform capabilities + +The Viam platform offers many builtin capabilities from which you can pick and choose, such as: + +- [Data Management](/data-ai/capture-data/capture-sync/): Capture data from devices to the cloud. +- [Machine learning and Computer Vision](/data-ai/train/create-dataset/): Build and deploy machine learning models. +- [Alerting](/data-ai/ai/alert/): Send alerts in the form of email notifications or webhook requests. +- [Motion Planning](/operate/mobility/motion-concepts/): Smooth and intelligent motion for arms, bases, and gantries. + +## Productionize and scale + +When you ship machines, use one or more of the following tools: + +- [Provisioning](/manage/fleet/provision/setup/): ship machines with a preconfigured setup so customers can connect them to the internet and get them up and running +- [Role-based access control](/manage/manage/access/): Grant fine-grained permissions as needed. +- [Remote monitoring](/manage/troubleshoot/monitor/): monitor, operate, and troubleshoot machines from anywhere in the world +- [Machine settings](/manage/fleet/system-settings/): manage operating system package updates, network configuration, and system-level logging +- [Billing](/manage/manage/white-labeled-billing/): bill customers for usage through the Viam platform diff --git a/docs/operate/hello-world/quickstart.md b/docs/operate/hello-world/quickstart.md index 3ddab640c9..20e046866a 100644 --- a/docs/operate/hello-world/quickstart.md +++ b/docs/operate/hello-world/quickstart.md @@ -39,10 +39,17 @@ The Viam platform consists of: - A **registry** of modules for popular hardware and common software needs - **Cloud-based architecture** for managing machines and controlling configuration updates - **SDKs** (Python, Go, TypeScript, C++, Flutter) +- **CLI** for managing and operating machines and data from the command line + +
+
+ Platform diagram +
+
## Machines -A machine consists of at least one computer running `viam-server` (often a single-board computer like a Raspberry Pi or Jetson) along with all the hardware components and software services that the computer controls. +A machine consists of at least one computer running `viam-server` (anything from a high-powered rack-mount form-factor to a single-board computer like a Raspberry Pi or Jetson) along with all the hardware and software elements being controlled by that instance of `viam-server`. When you use Viam to build a machine, you create exactly what you need by mixing and matching different building blocks: From 68ce0dd143865ba6f0bbb0ead65eefb7e71d092c Mon Sep 17 00:00:00 2001 From: Naomi Pentrel <5212232+npentrel@users.noreply.github.com> Date: Wed, 8 Oct 2025 20:53:13 +0200 Subject: [PATCH 2/5] Iterate --- docs/_index.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/_index.md b/docs/_index.md index de20630aaf..408f83f219 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -33,7 +33,6 @@ Viam adapts software engineering paradigms to building machines for the physical You can build many types of robotics project on Viam, from single-component projects to human-in-the-loop or AI-powered autonomous intelligent systems. -- [Standardized APIs](/dev/reference/apis/): It doesn't matter which robotic arm, motor, or other piece of hardware you are using, the code to operate the hardware is the same. - [Hardware agnostic](/operate/hello-world/quickstart/#supported-platforms): Viam runs on almost all single-board computers. - [SDKs](/dev/reference/sdks/): Program machines in your favorite programming language. - [Module Registry](https://app.viam.com/registry): Find and use a variety of integrations for popular hardware, common logic patterns, machine learning models, and more. @@ -46,9 +45,10 @@ We recommend starting with the [Quick Start](/operate/hello-world/quickstart/) a You can use Viam to build entire projects or to add functionality to existing projects. Before you begin, we recommend reading [How to think about building a machine](/operate/hello-world/building/) to understand the building blocks of a machine and how to go from prototype to production. -Once you have a good understanding of the building blocks of a machine, [install Viam on your machine](/operate/install/setup/), add existing components and services. -Write modules to for additional components, services, or to add control logic to your machine. -Modules keep your code maintainable as your project grows in complexity because you can make changes to single modules without changing the rest of the project. +- [Modules](/operate/modules/other-hardware/create-module/): The foundational building blocks of machines which keep your machine code maintainable as your project grows in complexity because you can make changes to single modules without changing the rest of the project. +- [Standardized APIs](/dev/reference/apis/): It doesn't matter which robotic arm, motor, or other piece of hardware you are using, the code to operate the hardware is the same. This means you can swap hardware as you iterate. +- [Fragments](/manage/fleet/reuse-configuration/): Reuse configuration chunks across machines. Version control?? +- [Parts and sub-parts](/operate/reference/architecture/parts/): Create arbitrarily complex projects by connecting multiple `viam-server` instances. ## Use Viam's platform capabilities @@ -58,6 +58,7 @@ The Viam platform offers many builtin capabilities from which you can pick and c - [Machine learning and Computer Vision](/data-ai/train/create-dataset/): Build and deploy machine learning models. - [Alerting](/data-ai/ai/alert/): Send alerts in the form of email notifications or webhook requests. - [Motion Planning](/operate/mobility/motion-concepts/): Smooth and intelligent motion for arms, bases, and gantries. +- [Viam applications](/operate/control/viam-applications/): Deploy custom web interface for your machines while Viam handles hosting and authentication. ## Productionize and scale From e9f1cd7ece9b2aeb529c11f16af32e220941131a Mon Sep 17 00:00:00 2001 From: Naomi Pentrel <5212232+npentrel@users.noreply.github.com> Date: Thu, 9 Oct 2025 12:53:02 +0200 Subject: [PATCH 3/5] Add builder UI --- docs/_index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/_index.md b/docs/_index.md index 408f83f219..7552979192 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -34,6 +34,7 @@ Viam adapts software engineering paradigms to building machines for the physical You can build many types of robotics project on Viam, from single-component projects to human-in-the-loop or AI-powered autonomous intelligent systems. - [Hardware agnostic](/operate/hello-world/quickstart/#supported-platforms): Viam runs on almost all single-board computers. +- [Builder UI](/operate/modules/supported-hardware/#configure-hardware-on-your-machine): Configure and test hardware and software with a simple interface. - [SDKs](/dev/reference/sdks/): Program machines in your favorite programming language. - [Module Registry](https://app.viam.com/registry): Find and use a variety of integrations for popular hardware, common logic patterns, machine learning models, and more. - [CLI](/dev/tools/cli/): Control, manage, and test from the command-line from anywhere. From 9ab59fa6bd2cb08d01d40c456f77e19c64dba78a Mon Sep 17 00:00:00 2001 From: Naomi Pentrel <5212232+npentrel@users.noreply.github.com> Date: Mon, 27 Oct 2025 16:27:56 +0100 Subject: [PATCH 4/5] Restructure --- docs/_index.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/_index.md b/docs/_index.md index 7552979192..5fe743bc01 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -29,9 +29,14 @@ next: /operate/hello-world/quickstart/ Viam adapts software engineering paradigms to building machines for the physical world. -## Get started with Viam +## Learn + +We recommend starting with the [Quick Start](/operate/hello-world/quickstart/) and following the [Tutorial: Desk Safari](/operate/hello-world/tutorial-desk-safari/) to build your first machine. + +## Prototype You can build many types of robotics project on Viam, from single-component projects to human-in-the-loop or AI-powered autonomous intelligent systems. +Before you begin, we recommend reading [How to think about building a machine](/operate/hello-world/building/) to understand the building blocks of a machine and how to go from prototype to production. - [Hardware agnostic](/operate/hello-world/quickstart/#supported-platforms): Viam runs on almost all single-board computers. - [Builder UI](/operate/modules/supported-hardware/#configure-hardware-on-your-machine): Configure and test hardware and software with a simple interface. @@ -39,34 +44,29 @@ You can build many types of robotics project on Viam, from single-component proj - [Module Registry](https://app.viam.com/registry): Find and use a variety of integrations for popular hardware, common logic patterns, machine learning models, and more. - [CLI](/dev/tools/cli/): Control, manage, and test from the command-line from anywhere. -We recommend starting with the [Quick Start](/operate/hello-world/quickstart/) and following the [Tutorial: Desk Safari](/operate/hello-world/tutorial-desk-safari/) to build your first machine. - -## Build your projects +The Viam platform offers many builtin capabilities from which you can pick and choose, such as: +- [Data Management](/data-ai/capture-data/capture-sync/): Capture data from devices to the cloud. +- [Machine learning and Computer Vision](/data-ai/train/create-dataset/): Build and deploy machine learning models. +- [Motion Planning](/operate/mobility/motion-concepts/): Smooth and intelligent motion for arms, bases, and gantries. -You can use Viam to build entire projects or to add functionality to existing projects. -Before you begin, we recommend reading [How to think about building a machine](/operate/hello-world/building/) to understand the building blocks of a machine and how to go from prototype to production. +## Iterate - [Modules](/operate/modules/other-hardware/create-module/): The foundational building blocks of machines which keep your machine code maintainable as your project grows in complexity because you can make changes to single modules without changing the rest of the project. - [Standardized APIs](/dev/reference/apis/): It doesn't matter which robotic arm, motor, or other piece of hardware you are using, the code to operate the hardware is the same. This means you can swap hardware as you iterate. -- [Fragments](/manage/fleet/reuse-configuration/): Reuse configuration chunks across machines. Version control?? - [Parts and sub-parts](/operate/reference/architecture/parts/): Create arbitrarily complex projects by connecting multiple `viam-server` instances. -## Use Viam's platform capabilities +## Deploy -The Viam platform offers many builtin capabilities from which you can pick and choose, such as: - -- [Data Management](/data-ai/capture-data/capture-sync/): Capture data from devices to the cloud. -- [Machine learning and Computer Vision](/data-ai/train/create-dataset/): Build and deploy machine learning models. -- [Alerting](/data-ai/ai/alert/): Send alerts in the form of email notifications or webhook requests. -- [Motion Planning](/operate/mobility/motion-concepts/): Smooth and intelligent motion for arms, bases, and gantries. +- [Fragments](/manage/fleet/reuse-configuration/): Reuse configuration chunks across machines. Version control?? +- [Remote monitoring](/manage/troubleshoot/monitor/): monitor, operate, and troubleshoot machines from anywhere in the world +- [Machine settings](/manage/fleet/system-settings/): manage operating system package updates, network configuration, and system-level logging - [Viam applications](/operate/control/viam-applications/): Deploy custom web interface for your machines while Viam handles hosting and authentication. -## Productionize and scale +## Scale When you ship machines, use one or more of the following tools: - [Provisioning](/manage/fleet/provision/setup/): ship machines with a preconfigured setup so customers can connect them to the internet and get them up and running - [Role-based access control](/manage/manage/access/): Grant fine-grained permissions as needed. -- [Remote monitoring](/manage/troubleshoot/monitor/): monitor, operate, and troubleshoot machines from anywhere in the world -- [Machine settings](/manage/fleet/system-settings/): manage operating system package updates, network configuration, and system-level logging - [Billing](/manage/manage/white-labeled-billing/): bill customers for usage through the Viam platform +- [Alerting](/data-ai/ai/alert/): Send alerts in the form of email notifications or webhook requests. From 3a0be830795dab54217c1acc9baaeaf801c0a092 Mon Sep 17 00:00:00 2001 From: Naomi Pentrel <5212232+npentrel@users.noreply.github.com> Date: Mon, 3 Nov 2025 17:41:07 +0100 Subject: [PATCH 5/5] Improve --- docs/_index.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/_index.md b/docs/_index.md index 5fe743bc01..210fae89d7 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -36,7 +36,7 @@ We recommend starting with the [Quick Start](/operate/hello-world/quickstart/) a ## Prototype You can build many types of robotics project on Viam, from single-component projects to human-in-the-loop or AI-powered autonomous intelligent systems. -Before you begin, we recommend reading [How to think about building a machine](/operate/hello-world/building/) to understand the building blocks of a machine and how to go from prototype to production. +What makes Viam special is the ability to rapidly create prototypes using: - [Hardware agnostic](/operate/hello-world/quickstart/#supported-platforms): Viam runs on almost all single-board computers. - [Builder UI](/operate/modules/supported-hardware/#configure-hardware-on-your-machine): Configure and test hardware and software with a simple interface. @@ -44,27 +44,34 @@ Before you begin, we recommend reading [How to think about building a machine](/ - [Module Registry](https://app.viam.com/registry): Find and use a variety of integrations for popular hardware, common logic patterns, machine learning models, and more. - [CLI](/dev/tools/cli/): Control, manage, and test from the command-line from anywhere. -The Viam platform offers many builtin capabilities from which you can pick and choose, such as: +The Viam platform also offers many builtin capabilities from which you can pick and choose, such as: + - [Data Management](/data-ai/capture-data/capture-sync/): Capture data from devices to the cloud. - [Machine learning and Computer Vision](/data-ai/train/create-dataset/): Build and deploy machine learning models. - [Motion Planning](/operate/mobility/motion-concepts/): Smooth and intelligent motion for arms, bases, and gantries. +Before you begin, we recommend reading [How to think about building a machine](/operate/hello-world/building/) to understand the building blocks of a machine and how to go from prototype to production. + ## Iterate +As you go from prototype to production, Viam reduces complexity with sensible design patterns: + - [Modules](/operate/modules/other-hardware/create-module/): The foundational building blocks of machines which keep your machine code maintainable as your project grows in complexity because you can make changes to single modules without changing the rest of the project. - [Standardized APIs](/dev/reference/apis/): It doesn't matter which robotic arm, motor, or other piece of hardware you are using, the code to operate the hardware is the same. This means you can swap hardware as you iterate. - [Parts and sub-parts](/operate/reference/architecture/parts/): Create arbitrarily complex projects by connecting multiple `viam-server` instances. ## Deploy -- [Fragments](/manage/fleet/reuse-configuration/): Reuse configuration chunks across machines. Version control?? -- [Remote monitoring](/manage/troubleshoot/monitor/): monitor, operate, and troubleshoot machines from anywhere in the world -- [Machine settings](/manage/fleet/system-settings/): manage operating system package updates, network configuration, and system-level logging +As you start deploying machines, Viam supports you with the tools you know and expect from software development: + +- [Fragments](/manage/fleet/reuse-configuration/): Reuse configuration chunks across machines. All with version control. +- [Remote monitoring](/manage/troubleshoot/monitor/): Monitor, operate, and troubleshoot machines from anywhere in the world. +- [Machine settings](/manage/fleet/system-settings/): Manage operating system package updates, network configuration, and system-level logging. - [Viam applications](/operate/control/viam-applications/): Deploy custom web interface for your machines while Viam handles hosting and authentication. ## Scale -When you ship machines, use one or more of the following tools: +When you ship machines, Viam provides the infrastructure to support your needs: - [Provisioning](/manage/fleet/provision/setup/): ship machines with a preconfigured setup so customers can connect them to the internet and get them up and running - [Role-based access control](/manage/manage/access/): Grant fine-grained permissions as needed.