Introducing Treo: Lighthouse as a Service

Introducing Treo! A cloud infrastructure for Lighthouse that provides end-to-end testing, geographical regions, scalable API, and integrations with Github & Slack. In this post, I’ll cover main benefits of the product, my motivation to build it, and plans for future development.

Lighthouse + Cloud = Treo

Note: Lighthouse is a tool by Google Chrome team, that provides reliable audits for performance, accessibility, best practices, and PWA.


Benefits

Having Lighthouse in the cloud and using it as a building block enables new possibilities for a development of modern web applications or PWA.

End-to-end testing

Treo provides an easy way to write and support end-to-end tests.

  1. Describe your app as a set of URLs.
  2. Call Treo API with a curl command after each deploy (works best with CI/CD).
  3. Treo executes each URL, automatically compares results with previous runs and reports about regressions. It supports custom marks to set expectations, median runs to detect performance regressions, and more.
Test Run Results

Usually, end-to-end tests are slow, unreliable, and hard to debug. Treo provides completely different experience. Minimal setup, parallel execution, automatic snapshots, approve new changes from UI, and Github integration.

Github Status

Lighthouse++: regions, custom networks, median runs

Treo extends Lighthouse with new capabilities that are not possible without the Cloud:

  • Execute Lighthouse audit from different locations (US/EU) and use custom network presets (Slow 3G/Fast 3G/Wi-Fi) for throttling.
  • Perform multiple audits in parallel and select a median with the most accurate results.
  • Store and share results inside your team.
Lighthouse Report in Treo

API & infrastructure

Treo provides a scalable infrastructure to run Lighthouse. Use Treo API and build custom workflow using Lighthouse as a building block. Treo scales automatically and runs on real Linux machines with dedicated browser instance for each Lighthouse audit.

There’re more powerful features, like team collaboration and slack/email reporting. Give it a try on https://treo.sh.


Motivation to build Treo

I love the Open Web, and I believe this is the best platform. I started to work on Treo with the mission to improve the general quality of web applications and push the web forward.

Lighthouse forces developers to think about web performance, mobile connection, and accessibility. It makes code splitting a requirement. For new frameworks scoring 100 on Lighthouse is a feature. For example, Stencil, a compile to JS framework, has been built to avoid initial load bloat and designed to be minimalistic, performant, and score 100 on Lighthouse.

If we build next generation of mobile apps as PWA, they have to be fast, they have to load progressively, they have to be accessible and secure. And we need new kind of tools, that help us to handle these requirements and not lose focus. Treo is this kind of tool.

Next steps

I’m planning to continue making Treo simpler and more useful. I have a few features in a pipeline:

  • Access to Lighthouse configs. There’re a lot of fantastic audits, which are not shipped/enabled by default, like SEO, Security, FastMode.
  • Discover new use cases, like performance monitoring, uptime monitoring with full page load, security monitoring.
  • Release the first version of public API.

I’m looking forward to hearing feedback from the web community. If you have any question, please contact me on info@treo.sh.