buildspace: teams integration

Summary of building during the first week of Buildspace Nights & Weekends.

The first week of buildspace is finishing and I have made real progress on!

This week was crucial to get the integration with MS Teams up and running. It was a bit more difficult than I expected due to how the website of Teams is created. The videocall itself is an SPA that loads an iframes, so I needed to modify the Puppeteer script I was creating to be able to interact with iframes recursively.

Also, skipping the camera and video prompt from the browser was a bit difficult, but could solve it thanks to these two lines of code:

const context = browser.defaultBrowserContext();
    await context.overridePermissions('', ['camera', 'microphone']);

Once this was solved, the setup I did was abstracted enough and the recording and transcription worked just fine. Next week I will be working on these 5 topics:

  • Onboard a company, Squaads to test the product internally and give me feedback
  • Solve a scaling issue I'm having with the queue system since every meeting is thread-blocking
  • Add support for Webex
  • Finish the custom vocabulary feature
  • Finish the webhooks feature

Last 2 items are pretty much advanced and are just missing to be tested (both automatic and manually). For the scaling issue I'm thinking of 2 approaches:

  1. To run a process with nohup so that the call is handled in a different process in the system. This would work fine up to X calls (depending on the server capacity)
  2. Automatically spin-up small servers in Google Cloud or AWS for different calls, which would be more time consuming but would scale much better

I still don't know which approach to follow, or if even these are the right approaches! Will keep you posted :-)