buildspace: teams integration
Summary of building Talkzy.app during the first week of Buildspace Nights & Weekends.
The first week of buildspace is finishing and I have made real progress on talkzy.app!
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('https://teams.microsoft.com', ['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:
- 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) - 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 :-)
Raúl