
Inspiration
Sparc Cooperative is a global team with employees from all over the world. English is not the first language of all of our team members, yet we communicate in English in our day to day. Most other businesses require their team to speak a single language for work communications. However, due to the diversity of our team, we were inspired to create a tool that allowed for clear communication across different languages, cultures, and backgrounds. We wanted to create something that was accessible and would revolutionize the way we work and communicate audibly and visually. This would then make communication within our own team more inclusive, as well as our communication with clients and potential partners around the world.
What it does
Ibis is a communication app that uses real-time translation, speech-to-text, and text-to-speech engines to enable folks to communicate in the way that works best for them. Users of Ibis choose the language they want to read or listen to, and the voice they wish to portray themselves as, and Ibis provides a communication space where everyone can come as they are and communicate with one another without language or accessibility barriers.
How we built it
Ibis is built almost exclusively with Microsoft technologies. We use:
- .NET 7, the latest release of Microsoft's application development framework,
- Blazor Server for marketing and login pages,
- Blazor Web Assembly for the Ibis application itself,
- Azure Cosmos DB for schemaless message storage,
- Azure Storage for file storage,
- Azure AD B2C for authentication,
- ASP.NET Web API for the application logic and backend,
- Azure App Services for app hosting,
- Azure Cognitive Services for the translation and transliteration, connecting them together in a novel way to enable end-to-end translation of any style of communication.
Along the way, we also built a few custom architectures to solve various development challenges:
An open-source real-time events framework for .NET and Blazor, so that Ibis could easily react to server-side events and broadcast them to others in the rooms as needed.
A secure passwordless authentication flow for Microsoft Identity, so that Ibis can send one-click magic links to folks invited to an Ibis room.
An automatic site translation component library for Blazor. With a single Nuget package and one line of code, this component will use Ibis's API to extract the text from your entire website, translate it automatically into the user's language, and serve only their native language. We are already using this library to translate Sparc's homepage and even Ibis itself.
Additionally, we incorporated all of these frameworks into Blossom, an open source architecture on top of .NET that Sparc has been building over the last couple of years. The release of Ibis coincides with the release of Blossom 7.0, including all of the additions mentioned above.
Challenges we ran into
Limitations of translation AI: A computerized translation can only take you so far, and this is a barrier to more nuanced communication. So, we added the ability for a human to edit any translations generated by Ibis. This is especially useful when Ibis is used as a content engine for websites and blogs.
Lack of availability of real-time web architectural frameworks: So we created one from scratch.
Limited UX patterns for native-first language experience: Almost all translation tools put the original language first, only offering an option to the user to click a button to translate the content into their native language. We rejected this premise, as we felt that people should naturally experience the web and communications with others in their own native language and communication style. The lack of available patterns for this idea means that there is much more research to be done to get the communication flow just right. But we feel Ibis is already leading the way.
Accomplishments that we're proud of
We expanded Ibis to be used as a full-fledged content management system for websites and blogs. When you post your content through Ibis, you can retrieve that content through the Ibis API and take full advantage of Ibis's capability to translate all of your content into nearly every language, without lifting a finger. And if you have access to human translators, you can grant them access to your Ibis content to further improve the neural translations.
Ibis is 100% open source and equally owned by all of the members of Sparc Cooperative. The pricing model is fair and usage-based, and Sparc Cooperative is a non-profit worker cooperative. This simple combination of ideas ensured that we were building something beneficial to humankind, not to our bottom line.
What we learned
Communication is at the center of nearly every interaction with humankind. The more communication barriers that tech can eliminate, the closer together we may come. Ibis is our offering for this vision.
What's next for Ibis
- Expansion of communication platform options into phone and SMS
- Continued streamlining of the Ibis content engine
- Adding video and audio chat capabilities to the Ibis engine
Built With
- azure
- azure-cognitive-services
- blazor
- cosmos-db
- sparc-blossom
Log in or sign up for Devpost to join the conversation.