Previz lets you plan and preview complex 3D content in any modern web browser. No plugins to install, no software to license.
Companies such as the BBC, LinkedIn, and Land Rover use Previz to plan everything from new car launches to worldwide stadium tours.
Working side-by-side with the Previz CTO, I played a major role in implementing the entire Previz application, front-end to back-end.
My primary responsibilities included:
- Advising on key architectural decisions, both in the Laravel application, and the Vue.js templates.
- Designing and developing a fully-documented RESTful API, which drives the entire SPA.
- Implementing a fully-featured permissions system, which supports granular control of user permissions across multiple teams.
- Refactoring and extending the Blender and Cinema 4D plugins (written in Python), which allow users to easily export their 3D models to Previz.
- Integrating the Intercom help chat system with the application, to identify customer pain points, and reduce churn.
The entire project was built by a three-person team (myself, the CTO, and another front-end developer), operating across 15 time zones. Fittingly, it was named “2018 Collaborative Environment of the Year” at the prestigious AV Awards.
- Previz is a single-page application. The Vue.js front-end is powered by a Laravel API.
- The architecture of the Laravel application adheres closely to the SOLID principles. The Vue.js components are modular, and easily testable.
- Client-uploaded assets are automatically transformed and processed using a custom-built Amazon Elastic Transcoder pipeline.
- Custom Blender and Cinema 4D plugins (written in Python) allow users to upload their 3D models directly to Previz.
- A comprehensive test suite—both unit and integration—keeps everything running smoothly.
- The API documentation is written in the API Blueprint format, and generated using Hercule and Aglio.
Want results like these for your clients? Let’s talk.
Stephen worked on many core parts of Previz, and has been pivotal to its success. His work on asset management in particular solved a major pain-point for our users. He also identified—and fixed—serious performance issues on several key application pages.
Thanks to his smart architectural choices, we have a strong foundation for the future. Thanks to his passion for testing, we have a cleaner, and more maintainable codebase.