- Senior Software Developer2017 - PRESENTSolaborate
Technologies: Node.js, Microservices, React.js, Redis, WebRTC, Kurento
- Integrated Kurento Media Server.
- Implemented a feature for video calls that transferred from P2P to Kurento without dropping the call.
- Transitioned the current monolith app to a microservice architecture by using a WebRTC microservice.
- Formulated and implemented transfer strategy for microservice architecture throughout the entire application.
- Mentored and trained new and existing employees in WebRTC and real-time systems.
- Founder | CEO2016 - PRESENTPerfect.fm
Technologies: Node.js, React.js, WebRTC, Opus
- Developed a basic voice chat functionality for the core feature.
- Implemented a novel voice-recording technique and server-side mixing technology.
- Added lossy audio compression algorithms (Opus) which were implemented in C++ to the React.js project. The C++ code was compiled into ASM.
- Used React.js for the interface to implement an SPA.
- Implemented real-time communication between server and client; used Socket.IO.
- Trainer2014 - 2015Smart Code
- Gave training courses in web technologies for people wishing to become programmers.
- Prepared supplemental training materials for Computer Science students that wished to learn additional skills on top of the ones they learned in university.
- Organized training in WebSockets and other real-time technology.
- Web Developer2013 - 2015Rrota Creative Studio
- Created a Laravel web app from scratch to improve the local government's document management.
- Implemented features in C# and .NET for a shopping center's analytics solution.
- Migrated old websites along with their existing data to new ones implemented in WordPress.
- Supported the National Voting Agency by implementing a voting location app that showed every voter their polling place and navigated them by using OpenStreetMaps.
- WordPress Developer2012 - 2013NineLayers
- Developed custom WordPress themes for sale in the Envato Market.
- Built custom WordPress plugins both for use in our themes and for general purpose releases.