0766719180 [email protected]


Web App Development, Full-stack Web Development, NodeJS, MongoDB, AWS S3, AWS Transcribe, Docker, DigitalOcean


A client from Fiverr Pro asked me if I can help him with a transcription app / serivces. He is a pilot that frequently flyes around Prescott Regional Airpot (KPRC). The problem is that he cannot always listen to the TOWER for weather data. Because he doesn’t want to miss it, he wants to have everything recorded in app. The audio/radio connected to the tower is public, and everyone can listen to it on the internet. This app needs to listen to that radio from the tower and convert every reply from pilots or tower controllers to text, using artificial intelligence.


We created a system that works in a couple of steps. The web page that displays the information is only the last step, and it’s actually the easiest to create.  So here is how the app works, step by step.
  1. It records everything in a large audio file
  2. It splits the audio file by reply using FFMPEG. Everytime someone speaks, an audio file is being created. If there is a pause, a new file will be created.
  3. It records every file’s name, parent folder name and date into a database.
  4. It uploads the audio file to Amazon S3.
  5. The file is than sent to be processed by Amazon’s AWS Transcribe system, which is based on Aritifical Intelligence.
  6.  After a couple of seconds, a response is generated, based on what AWS Transcribe thinks it has being said.
  7. The system grabs the generated response from AWS Transcribe and inserts it into the database, corelated with the audio file that was used as input for the transcription process.
  8. Finally, all the responses from the database can be accessed through a web page. The messages are displayed in a reverse chronological order, and can be filtered based on certain words.



Tech used

The system records the “radio” using streamripper. The files are being split using FFMPEG (based on silence periods). The generated files are being processed using NodeJS. The filename, folder and date are being stored on MongoDB. Than, each file is sent to Amazon AWS S3. After uploading to AWS S3, the file is being sent for processing to Transcribe, another tool from Amazon AWS. The response is than inserted into the same MongoDB database. The results from the database are being displayed using a basic NodeJS web server. The web page(s) have basic styling, making use of the free version of Material Bootstrap.  Everything is wrapped into a docker container. The docker container “lives” in a Digital Ocean droplet.