As a third-party contractor interacting with other teams, I integrated an existing SSO (single sign-on) provider for a new Gilead website. The integration was SAML based, using Okta and Amazon Coginitio on a PHP platform.
This project involved communicating between many different teams (server ops, dev ops, authentication group) and two third-party marketing agencies, which provided to be tricky. However, I was able to get everything I needed and implement the solution.
An internal tool used to manage time estimates, Timtrot communicates with the Basecamp API to pull in todos and allow users to provide estimates for each todo. The frontend is a legacy Angular app while the backend is a Laravel application. I built the backend, which takes advantage of Basecamp Webhooks to provide an accurate todo list and Laravel’s API methods to provide data to Angular.
It authenticates with Basecamp as SSO provider and has varying permissions based on user roles that unlock different parts of the application.
I’ve worked on the Jefferson PVA since the start of my career in 2012. It is a paid service that allows users to search property records and associated details for Jefferson County, the largest county in Kentucky.
There are daily database imports that run automatically with data being sent in from PVA and a Laravel application that can take that data and populate the WordPress website. The subscriptions use a mix of Stripe and Freshbooks, with a custom backend that allows support staff to manage user subscriptions, invoices, and access.
We inherited an older Laravel codebase that used a custom CMS and e-commerce system. Since taking it (and its hosting) over two years ago, I’ve led and implemented the Laravel update (from 5 to 7), upgraded its server from PHP 5.6 to 7.4 (along with other server packages), and have done many feature and bug requests as part of monthly maintenance.
Louisville Institute is a foundation that supports the causes of religion, education, and community development. As part of their mission, they take in grant applications in a multi-step process online completely thru their website. The grants can be managed every step of the way by the LI team thru a custom WordPress backend while users can follow the progress with from an Angular-powered application that pulls data from custom WordPress API endpoints.
The custom backend makes heavy use of custom post types and Corcel to create an easy to use but a robust system. Long-running tasks, such as generating reports, are offloaded to a server that makes use of Laravel jobs.
At VIA Studio we challenged ourselves to create a mobile game with Javascript. After a few iterations, I took over as lead developer on the project and using HTML 5 Canvas and Javascript created Face Paint Peggy. The goal of the game is to catch the correct color drops to progress through the different levels of coloring Peggy’s face. The artwork was done by the amazing artist Patrick Sheehan.
The game works by by having an array containing the drops which include the drop color, position, and direction. There is also an array containing the player position. From this information the game loop draws the drops and every frame will add to the positions, that way they move down the page. The same concept works for the player as well. To move the player, there is an invisible DIV withe the tongue dimensions that is draggable. Since this invisible DIV matches the tongue, the player is able to move the tongue. There is a Javascript to Java bridge on the Android version that allows the game to change the status bar color to match the color of drop the player is collection.
To read more on the development of Face Paint Peggy, I’ve written an article over at VIA Studio that covers it more in depth.
I gave the Team Jeff Wrestling website a modern refresh that mimics the UFC website. It uses new CSS properties such as Flexbox and Grid to create a fun layout that is full of images. In addition, there are animations throughout the site, such as a nav bar that animates in, grows when you hit a point in the page, and buttons with cool transition effects.
A big problem with wrestling in college is the finding colleges that offer wrestling are first off finding those colleges and then trying to get in contact. In response to that problem, I have created Wrestling Recruit, a searchable database with over 380+ colleges, complete with links to their recruit forms and the admissions and academics pages.
Billy Stewart needed a clean and modern website that is mobile friendly and allows people to find out everything they need to know about his campaign. In response, a clean, secure, mobile friendly website was created, complete with a CMS (Grav) so pages can be updated.
The entire website is responsive and pages are preloaded in the background that way the website is quick and a user can find information extremely fast.
I was traveling to Israel and thus I needed a currency convert application for my phone to convert Dollars to New Shekel. I wasn’t happy with what I found on the Google Play Store, with the majority of the applications having a messy or ugly UI or no offline mode. With these complaints in mind I created Another Currency Converter, which features a clean Material design and offline mode. It can be customized to have a default currency and only display certain currencies. The app is a hybrid app created with Vue.js.
As a challenge I redesigned a popular pizza restaurant. The traditional green and red colors were used in a fun, mobile friendly design.
Newb Wired is a small technology blog that needed a fresh, new look to go with a new logo and color scheme. With that in mind, I created a Material Design-esqe WordPress theme.