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.
Having Lighthouse in the cloud and using it as a building block enables new possibilities for a development of modern web applications or PWA.
Treo provides an easy way to write and support end-to-end tests.
- Describe your app as a set of URLs.
- Call Treo API with a curl command after each deploy (works best with CI/CD).
- 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.
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.
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.
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.
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 email@example.com.