Michelangelo never saw a lump of marble.
Strong Engineering Skills
Currently, I wax poetic with ember.js as a software developer on BrowZine’s Front-End Engineering Team - a remote startup in the academic and commercial research space.
Previously, I shipped critical components on both Respoke’s Community Team and Respoke’s Front-End Team - a distributed startup in the communication space. Prior to that, I shipped as a Tech Lead at Nationwide and as a consultant in various industries from banking to education to medical to military simulation and training.
I’ve been fortunate, really fortunate, that my startup experience has been shaped with some of the most talented engineers and business leaders I’ve ever worked with.
I’m currently working with a talented team of co-founders and engineers, leading the retrofitting of our existing ember.js desktop web application with a mobile responsive UI/UX. The project is coming along well so far. Resize your browser to try it out live. :)
The application is built using Ember CLI, Sass and QUnit for testing on the frontend, running atop a Node Express API and Mocha for testing on the backend.
Automated acceptance tests are challenging for desktop presentations. They’re are doubly challenging for responsive presentations, but we’ve even made progress running our automated acceptance tests against our mobile responsive UI.
Learn more about how we got our ember responsive UI under test.
Sometimes you get the chance to write the best code of your life when you least expect it. I got that chance at Respoke, a communication PaaS startup built on WebRTC.
And with these, we built Apollo - A powerful Slack competitor that enables team collaboration with chat, screen sharing, live video and voice.
Respoke Server Libraries
Wrote Respoke PHP and Respoke Java server-side libraries.
respoke-php - PHP serverside library for the Respoke REST API
respoke-java - Java serverside library for the Respoke REST API
Open Source Contributions (OSS)
During an ember-cli upgrade for BrowZine, found a critical bug in a major ember addon called ember-component-css. Analyzed the bug and submitted a PR to fix the same. We found the root cause to be in a dependency of ember-component-css called ember-cli-saas, but this PR helped folks make progress until we could get a fix upstream.
An Ember CLI addon which allows you to specify styles for individual components
Contributed a critical bug fix to Respoke.js which prevented screen sharing from working in Firefox and Chrome.
Contributed fixes to the respective browser plugins.
respoke-firefox-screen-sharing-extension - A base Firefox extension for enabling screen sharing from your domain using respoke
Lead the reorganization and documentation of the Respoke docs to what you see today.
Contribute to docs development by creating an account on GitHub.
Extracted Caramel from a Respoke internal tool I built to facilitate cross-platform rendering of Respoke’s responsive transactional emails in the various email clients (Gmail, Outlook, Yahoo, Mobile, etc).
caramel - Caramel: A responsive HTML email framework
Contributed Yahoo email client fixes upstream to Salted which eventually became the baseline for Respoke’s and Caramel’s responsive email framework.
salted - Salted: A responsive email template
I believe in servant leadership and have always served the developer community first and my interests second.
Demonstrated both patience and empathy while managing external contributors to both Respoke’s open source chan_respoke library and developer documentation.
Added Channel Variables and AMI Event for Respoke Session by gcareri · Pull Request #9 · respoke/chan_respoke
Added two new features: Set of Asterisk Channel Variables related to the Respoke Session AMI (Asterisk Manager Interface) new Event 'respoke_session' in order to show the Respoke Session informat...
Toured the east coast, introducing developers to WebRTC - a powerful HTML5 API for encrypted peer-to-peer Voice, Video and Data communications.
You probably don't know WebRTC as much as you think. I'm not surprised. WebRTC is both amazing and terrifying. No real standards exist between browser vendors. How to integrate WebRTC the right way? WebRTC is but one ingredient to a successful real-time web recipe.
Along with the talk, distributed a small sample signaling app using Node, Socket.IO showing developers how to get started with WebRTC quickly.
native-webrtc-node-socket.io-signaling - Sample app showing how to use the HTML5 WebRTC API
Strong technical writing skills
Take a look at a few screencasts and blog posts I produced along the way.
I'm currently working on a conference talk about WebRTC. One of the foundations of any WebRTC library is some form of Google's original adapter.js, which seeks to normalize the WebRTC API across various browsers. As I was about to build this particular slide, one question started to whisper in my ear, "Is adapter.js a shim or a polyfill?"
Google search result rank number three for the topic.
“@corgrath: The best article I have read so far regarding the shim vs polyfill terminology. Thanks :-)”
Fun technical blog post written for blog.respoke.io mashing up two popular concepts: WebRTC and Instagram Filters.
With more than a $1 Billion valuation and over 75 million daily users, Instagram is arguably one of the most popular social networks today. Did you know more than 55 million photos are posted daily on Instagram? Or that the platform sees over 8,500 likes per second?
In his seminal work, "The Hero with a Thousand Faces", Joseph Campbell put forth the idea of The Monomyth. The idea is based on the observation that a common pattern exists beneath the narrative elements of most great myths, regardless of their origin or time of creation. Simply put, all of mankind's myriad myths are but variations of a single great story. This is the monomyth and is most commonly expressed as a hero's journey....
What’s next exactly…?
I’d love to learn more about the position, the team and the company. Go ahead, email me and we’ll continue the conversation.