WIDITS (What I Do In The Shadows) we came up with the idea while talking about secrets everyone has. The title is inspired in an european movie about vampires, with some flavors from an animated Cuban movie “Vampiros en La Habana”, - I guess you already noticed that we like vampires. What is worth to keep in the shadows? Maybe a diary, or a password for something really valuable, that no one else will have access to. There are many authentications systems, but your voice is unique, it is the only key to unlocking your secrets behind the WIDITS walls.
What it does
WIDITS is a notes application with voice authentication using Knurld API, providing a high level of security. WIDITS structure consist of a Web Application and a Mobile Application for Android and iOS, all using our own WIDITS API wrapper of the Knurld API. Users can access, edit, and create notes using any of the above platforms after a voice authentication.
How we built it
The Backend is the most important part of the project because allow the interaction of many kinds of clients ( mobile, web, desktop ), the backend is built in Node js using some technologies like:
- Base code in NodeJS
- Route system in Restify
- Database using MongoDB
- File storage of the audios on Amazon
The Mobile Applications are built using Cordova and Ionic Frameworks. The Web App is built on top of Angular Material.
Challenges we ran into
One of the biggest challenges we ran into is how to record, and save voice for each individual platforms. We used Cordova Media API to record and play user's authentication messages. Each platform file system has their own access rights, that is why the audio files are stored in the application’s external directory for Android and on the temporal directory for iOS. On the specific case of iOS a file needs to be created before start recording using their native
The other biggest challenge we ran into was the native type of file for Android. The Knurld API expects .wav files, which is the default audio extensions for iOS, but for Android the audio files are .amr. We created an endpoint on our WIDITS API to upload and convert those .amr files into a .wav files to be processed by the Knurld API.
Accomplishments we are proud of
Having a user friendly, cross platform, mobile application with voice authentication that allow users to have a high security place to store sensitive information.
What I learned
This project allowed us to explore Knurld, and the infinite possibilities that this API can provide us in our future voice related projects.
This project allowed us to dive deep in the Cordova Media API.
What's next for Widits
- Incorporate the ability to add pictures
- Create a Desktop version
- Export, import, and share content