Michelangelo never saw a lump of marble.
He saw the Pieta and he would later write in his diaries about releasing the image inside. I do the same thing with code. Code is the raw material, the medium that could become great software. I don’t see eccentricities or quirks. I see the new Basecamp, Hubot and Slack.
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 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.
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 we got 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
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...
In addition to helping developers make progress with Respoke.js, I also acted as an advocate on their behalf; Relaying ease of use issues to the right development team.
I am trying to figure out how to send a JSON object via the client's sendMessage method so that my app can send data back and forth between two different clients. The docs only cover how to send a plain string so I have been stabbing in the dark so far.
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.
Uploaded by Tian Davis on 2015-11-25.
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.