Node.js, Next.js, React, MeshRoom, 2020
What is it?
Meshworks is a Photogrammatery-As-A-Service web application. Meshworks strives to make the 3D capture of real-world assets effortless and accessible to anyone, anywhere.
This project was born out of Stanford’s CS210: Software Project Experience with Corporate Partners course, with advising from Facebook Reality Labs’ EdMod team and the Berlin-based photogrammetry startup Realities.io.
User flow is comprised of 3 different steps.
1. Upload Photos
The user first uploads a series of self-taken photos of an object, following best practices in shooting for photogrammetry. The file uploader supports up to hundreds of photos.
2. Email Notification
Once the photos are uploaded, it takes some time for the backend server to run the photogrammetry pipeline using the uploaded photos. For this process to run as smoothly as possible the application sends notifications to the user via email.
The first email is sent upon upload to confirm that process has started.
A second email is sent when processing is complete and a 3D mesh is ready. A link is sent with the email that leads to the completed mesh page.
In the above example there are only a few photos so the process only takes a minute as shown in the example; however, for larger files it may take much longer.
3. Mesh Complete
A link in the mesh complete notification email leads to a mesh viewer webpage displaying the generated mesh and relevant tags. The mesh is displayed in 3D using Google’s <model-viewer> component, and so is fully rotatable and interactive. The mesh is available to download in a glTF format.
The unique URL for this page can be shared externally.
Semantic-UI as the UI design framework.
Output mesh is converted to glTF and served to a sharable page.
Nodemailer integration for status update email notifications.
Above is a demonstration of the Meshroom photogrammetry software that is powering the backend.