During the confinement, as we spent our lives on video-conferences which we all had to attend although most of us were not active participants, but required "information attendees", we set out to build a video-call summarizer for MacOS.<p>The goal was to summarize video conversations, save, and share them with our team easily. So we set out to build a tool to capture video-conversation moments, upload them, run Text-To-Speech solutions on them, and then provide a simple "video editing by text editing" interface to clean and share the videos in a few minutes.<p>We started by building the video recorder itself in Swift, with AVFondation. Swift has all the wanted features of a modern language, but XCode just ruins it. On top of that, the documentation of AVFondation has up to almost no documentation when you implement something out of the ordinary (for instance the function to choose the format of video recordings takes a dictionary where 99% of the values lead to a crash).<p>So to mitigate this issue, we now use ffmpeg to convert the movs created by AVFondation to a good audio and video format for the web and audio-analysis.<p>On the web side of things, we started out by using Python / Django. Frustrated by Django's monolith and poor documentation, we switched to Rust with Rocket, overcoming our fears of lack of maturity. Rocket has just the right level of abstraction, everything being explicit, with a lot of procedural macros to reduce the boilerplate. One limitation we however encountered was that Rocket does not handle well hanging connections, which can be very problematic when uploading videos. This ended up blocking all the threads if the user's connection was reset during an upload, so we had to put Nginx ahead of Rocket.<p>A few months after starting the journey of building Spoke we just launched version 1.0. If you're also bored by attending useless video-conference calls when somebody could've just sent you a summary, feel free to check it out.
Very interesting concept. I always find it surprising that people run online meeting as they would run off-line ones.<p>I think you are onto something, video-call summarizer + transcription will make off-line call so obsolete that they probably won't exist anymore in a few years.