01 - Under The Microscope
02 - Survival Guide & WB Way
03 - Clients & Services
04 - Blog
Leaf Feature Spotlight:
With <3, Waterbear
Farmer's are on the go, often more likely to be working in the field or from a truck than an office.
We build every aspect of Leaf to work in-hand, including map-navigation and data visualizations.
Out in the field it can be easy to be at the whim of slow networks, or lose connection entirely.
We help manage user expectations with plenty of connectivity related features.
There are much bigger things to worry about on the farm than software.
We use a variety of actionable notifications, alerts, and messaging to make sure things are going a ok.
Dynamically Supervised OTP Processes monitor each in-field device.
Our architecture allows for millions of sensor readings to be processed by a distributed data pipeline in soft real-time.
Postgresql holds optimized data formats and state backups in case the supervision tree needs to recover from a runtime crash.
(Hint: it hasn't happened yet)
Real-time information isn't just for users.
Leaf is setup for automatic node distribution and clustering.
We can launch local, secure Erlang nodes to inspect the distributed runtime state in real-time, monitor system IO, and support the application as needed.
Each change to the code base undergoes refined code-review by the team.
Leaf has over 75% test coverage including targeted unit and integration tests.
The code base is covered by multiple static analysis tools, and a fully integrated CI/CD pipeline.
And with each system boundary, such as an integration with John Deere, consisting of its own isolated process architecture, we've ensured Leaf will run smoothly for years.
All of the Product Development, UI, UX, and Software Engineering skillsets needed for this project were mixed amongst a single team of 3.
Waterbear fullstack teams allow for flexible allocation of resources, fast iterative cycles, and a tightly-knit feature set.
We were able to work closely with a number of Agriculture industry experts to distribute domain-specific knowledge and behavior throughout the team.
We use functional programming across the stack. This programming methodology reduces cognitive overhead during implementation, allowing us to move quickly, with less human error.
We leverage some of the best open source tools to make sure our software is stable and effective, including Phoenix and React.
We've implemented a sophisticated continuous delivery pipeline that allows for 0 downtime, "one click" deployment.
A suite of CD features such as database migration hooks are built into our pipeline allowing for safe, flexible evolution of the Leaf Platform.