What is the Hack about?

"Rimshot is an interface for Analysts and Audiences for a typical Model Review/Clash Analysis session. Built as a companion for remote streamed sessions, the real-time data capture spect improves the engagement and also the accuracy of recall by capturing comments and thoughts in one repository during the workshop.

This is not limited to remote sessions, as with no need to wait for a report, participants can continue contemplating their input post-meeting with access to snapshot views and now THANKS TO SPECKLE for continued access to the model - focused on the geometry that was the heart of the issues raised. Tablet access is I think the biggest win.

The hackathon submission consists of:
  • An installed add-in for Navisworks.
  • Geometry conversion from Navisworks to Speckle - with full (perhaps too much) Data for the committed objects.
  • Screen capture from the Navisworks desktop into the app/db
  • An Issue Management workshop capture interface Project (stream) => Workshop => Issues
  • A real-time multi-party data capture app and database for desktop and mobile devices.
  • A pattern for managing Model-based issues within the Speckle interface. Each issue is a nested branch. All commits made from the app are with detached objects"

What inspired us for this Hack?

"During the Great Lockdown of the last two years, in what has so quickly become a remote-working, online-first-meetings, broadcast only way of doing business. One really striking aspect of the AECO world, away from the Teams, Google Docs, Zoom and the like, was that the manner of Model Analysis and review has not been in the same class of technological delivery.

I've sat through many dozens of streamed Navisworks sessions and engagement amongst teams has definitely waned.".

How was the Hack built? What technology did we use?


  • Ultimately I was shooting at a Navisworks to Speckle connector (its imperfect geometry but eminently fixable)
  • I have built other Firebase and Vue apps that leverage the real-time data flow. But an app with entry points from multiple
  • Other than a few utility functions, all code is written for this hackathon.

Stack: Vue + Vuex + Vuetify + CloudFirestore for the app hosted on Firebase. Webhooks <=> Cloud Functions for asynchronous syncing - Python (with SpecklePy) + NodeJS. Chromium web view in .NET (CEFSharp ) to allow for Syncing between app and Navisworks Speckle.Objects A dusting of StackOverflow C# Copypasta to make up for my .NET rustiness.

What accomplishments are we most proud of?

I am pleased I have a working prototype that covers all the challenges I planned to overcome. It's rough around the edges but concept-in-the-round complete.