# 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: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
