Tools

Some words about the tools we use and Love!!! ❤️💛💚


Embedded Logic

Embassy is an embedded library that allows abstraction over various embedded device families and offers an async API for understandable parallel coding. Embassy compiles to bare metal (no OS), yet provides RTOS-like primitives.

Rust is a programming language with a reputation of being hard to learn. That’s not necessarily warranted - the language has an ownership-based paradigm that’s new to many existing programmers. This very paradigm brings many benefits, especially to mission and safety critical systems, which is why major cloud vendors (AWS, Azure, Google, Cloudflare) are actively moving towards it.

Rust can also be used for hobbyist projects of just ~100’s of lines of code, with ease. There is no need to prototype in some “easy” language, then change later to a professional one.

By focusing solely on Rust and EcmaScript (see below) as languages, FinalYards keeps the focus sharp and gathered expertise deep.

Edge of the Cloud

Cloudflare is a 2020’s way of making “full stack” and “serverless” web applications|1|. It is a full web app development environment, like those from AWS, Azure, or Google Cloud. To the author, its abstraction feels better, its documentation is great, and its tooling is innovative. Developing for Cloudflare feels like the way web was intended to be dealt with!!

Cloudflare pulls this through by having more data centers, closer to the end users. And their technical choices, e.g. on Durable Objects are truly innovative, prioritizing performance, reliability and ease of development. The simplicity is unique, and simply means less bugs, faster development, happier everyone!

Cloudflare development doesn’t need one to think about:

These are two of the reasons why the author thinks Cloudflare is on a league of its own (as of 2025), when it comes to cloud development tools. The abstraction is finally correct for making code that runs on the cloud. It’s simple!!!

If you want to study Cloudflare more, check out e.g. What is edge computing?.

NOTE: The author doesn’t claim to know all about Workers, but will learn. We can make web applications that integrate with other web providers but for new code, the Workers is the preferred platform.

References

|1| Such terms arise from the previous era of web services. Cloud Workers are more - they are cloud native - or “edge apps”, due to their proximity to the user.

SvelteKit

Web frameworks matter since — like libraries — they form the developer’s abstraction level in addition to the HTML, CSS and JavaScript standards. Svelte nicely extends on the proven HTML, CSS and JavaScript trio, instead of fighting it. Framework choices are not only an implementation detail - they matter for maintainability of your code base. Changing frameworks normally means rewriting the web app from scratch, since while the end product looks the same, the way it’s described for the computer is widely different.

To get a fast hang of Svelte(Kit) in action, you can visit its online Tutorial.

SvelteKit provides the server/client abstraction that allows building not only web apps, but backing them with server side features as well. These can be implemented e.g. by Cloudflare Workers - the SvelteKit adapter system takes care of bending your SvelteKit code to run on the given service provider. If your project involves exposing APIs, you can craft them in SvelteKit, but the framework does not demand one to define any APIs - it can do that integration for you |2|.

As long as you are on this level, deploying to various cloud vendors is trivial. When going a step deeper (storing server-side state, feeding or consuming data streams, processing scheduled events, or doing AI inference), the specific features of Cloudflare Workers (or some other web backend) come to play.

|2| Remote Functions are coming to SvelteKit - and they are amazing! (Youtube; 41.23)

Physical prototypes

Espressif

Prototypes we make are based on ESP32 RISC V development boards like the ESP32-C3-DevKitC-02 or ESP32-C6-DevKitM-1.

These boards are great for wireless applications; they include WLAN and Bluetooth Low Energy circuitry, built right in. They are also low cost and have good availability. To top it all up, Espressif provides top-of-the-hill embedded Rust support for their chips esp-hal.

If you only need 1..100 devices, making use of the development board ecosystem is likely the best way forward. Later, you may have the need for larger batches and cost/space optimization. In that case, you should have a person in-house, managing such decisions and the logistics, testing etc. involved. We can help, of course. Our aim is smooth transitions from plan to prototype, and prototype to maintainable production, with iterations.

Note that the Rust/Embassy approach allows the same code to advance from prototype to production, and scaling.

Comparing such boards to the popular Arduino ecosystem, the standardization happens in a different level (the Embassy SDK, not the physical pin layout). While pin layouts between Embassy-running boards do differ widely, it’s trivial with Rust to conditionally target them all, from a single code base and using the same tools for all variants.


That’s it for the tools! ☺️ If you are a customer, you don’t really need to know anything about these - we can walk you in, during the project.

What matters most is getting from Plan to Prototype fast and safe. Let’s turn the page!