> For the complete documentation index, see [llms.txt](https://antsankov.gitbook.io/go-live/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://antsankov.gitbook.io/go-live/misc/iot.md).

# Use with Low-Power Devices

If you're hosting a set of HTML webpages on a device that doesn't change often and is low-power (router, camera, IoT, etc.), we recommend using go-live. Some of the main reasons are listed below:   &#x20;

### Go Ecosystem

* Go is able to be compiled for a variety of different operating systems and compute architectures.&#x20;
* Includes a garbage collector and memory manager in the executable. Avoids Segfaults.
* Static typing encourages supportable code and easy module versioning for open source.&#x20;

### Efficient Performance

* go-live can serve many concurrent requests and file downloads efficiently.&#x20;
* Efficiency means the program can either run faster given a high power system, or can run well on a lower power system with a small chip or power constratins.&#x20;
* Interested in benchmarking go-live? Your results are appreciated.

### Run Anywhere

* On IoT devices, ARM reigns supreme. go-live is able to run on the ARM architecture, including arm32 and arm64.
* Runnable on phones and Rasberry Pis.
* Supports Windows, Mac, and Linux out of the box.
* Not seeing your proper compiled binary? Build the system from scratch and compile it for your system using any Golang compilation flags.

### Low File Size

* One goal of the project is to keep executable size as small as possible, ideally less than 10 MB for a Linux system.

### Use in System on a Chip (SoC)

* One item to research is whether we can use Tamago (<https://github.com/f-secure-foundry/tamago>) to create an entirely self-contained go-live system. It runs exclusively on an ARM processor without needing Linux.
* Once running on an SoC it can serve files on network file system or thumbdrive.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://antsankov.gitbook.io/go-live/misc/iot.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
