Loadify
In the telecom world, load-testing call centers is a tedious and expensive activity. The client had a novel approach to the load-testing challenge, which leveraged the Twilio API to perform the same testing at a much lower price.After refactoring their Python and Django proof of concept to bring it up to enterprise standards, I designed an interface using D3.js and C3.js, which displayed—in real-time—the progress of the ongoing load test. Engineers could then visualize when failures were occurring, get the details of each failed call, then use that information to diagnose and resolve the issues in their technology.The client presented Loadify at the Twilio Engage conference in Sydney, where it garnered much interest. We then used it as the first service of their SaaS platform while complementing it with a few additional capabilities like load-test scheduling, whitelisting, and Slack notifications. In this project, we used Twilio, Python, Django, data visualization, MySQL, Apache, AWS, D3.js, C3.js, jQuery, Ajax, and Bootstrap.
Email SaaS Platform
The email has been around for 40+ years, and its age is starting to show: its interfaces and capabilities seem stuck in the 20th century, oblivious to the host of changes in technology, design, and culture since its birth almost a half-century ago.How much time have you wasted trying to find an attachment you were sent or a conversation you had with someone? Yet despite this, and despite the development of new communication channels such as SMS, MMS, WhatsApp, and Slack, email is and will remain the gold standard for inter-business communication.I designed a modern, messaging-style interface and application for email, then architected and developed a SaaS platform to support it. For individuals, the interface is a dramatic improvement for reading, filtering, and searching folders, threads, and messages, while delivery—and read—receipts provide users with intelligence on each message's status after they hit the send button. On an organizational level, admin management of a domain's accounts and users is the best and easiest to use in the industry. It's currently in beta. Technologies used were SaaS, PHP, MySQL, Symfony, email, user interfaces, architecture, and APIs.
Mint
As application developers shift their approach away from using large frameworks and toward microservices, the PHP world is finding itself a bit behind the eight ball. I have been working with PHP and MySQL for many years—both are extraordinarily sophisticated and capable. But in a microservices approach, you wouldn't want to load up a whole framework with its ORM. Usually, a developer will parse the HTTP request, perform a few database queries, and return a JSON response.Mint is designed to fit perfectly in this approach, allowing users to quickly and easily execute MySQL and SQLite queries using PHP. It's simple, lightweight, fast, and secure. There are shorthand methods for all of the basic CRUD operations, e.g., $mint->selectOneById('tablename', {id}).For complex and custom requests, users can hand in their parameterized query and an associative array of values. It will bind parameters, execute the query, and return the requested result. Technologies used include PHP, MySQL, SQLite, and PDO.
Enterprise SDK
In close coordination with the client's development team, I developed a PHP SDK to streamline and unify how developers interact with the organization's core data assets. The result is a proprietary Composer package that provides a fluid, consistent, object-oriented interface to interact with and manage various data or relationships and is implemented across the client's many applications.