I was hired by a team of graduate students at McMaster University for their Entrepreneurship program. Their business idea was to build a networking platform to facilitate contracts between manufacturers and toolmakers.
The site would allow businesses to make profile pages, post projects, bid on projects, and add geolocation data to find businesses in their area. After considering a few options we decided to build a site in MeteorJS/NodeJS with a React frontend, and a few cloud services to help with language, mapping, storage and media processing.
Business profiles were media rich, and MeteorJS is not built for handling media, so I rigged up a service for uploading images and other file types using Google App Engine. On Google’s end I used a python script to process and accept the files to Google Storage. Different files were handled in different ways, but an image upload would return a link, that could be used to display an image of any dimensions. This reduced the financial and resource costs of processing media on the Meteor server, and the ability to call optimized images of any size sped up load times for users and reduced server costs.
The clients were sometimes from different parts of the world from each other, so I build a chat module that would allow users to easily communicate with real time translations using Google Translate. The chat would show the original message in it’s native language, then the translated version once the asynchronous call to Google was complete, usually within a second.