Client Projects

Pitchbook Proposal Generation
This was a project for law firms to create and manage approved marketing content such as Attorney Bio's, case summaries, and general marketing content. Marketing teams could then search for and quickly assemble template based pitchbooks using approved content. This allowed marketing teams to very quickly produce pitchbooks for clients using only pre-approved content which made the marketing team more efficient and reduced errors. This application was based on SharePoint 2013 and ASP.NET. The primary technology used for document generation and assembly was Microsoft Open XML and Open-Xml-PowerTools developed by Eric White.

Retail Sales BI Solution
A custom application hosted in Microsoft Azure that automated data collection from Clover POS data, Magento online web site sales, and wholesale sales data imported from QuickBooks. PowerBI dashboards were developed allowing management access to a variety of sales metrics such as historical sales trends, popular products, sales by location, etc.

Time Tracking and Billing System
A custom time and billing system hosted in Microsoft Azure for a global PR firm. This is a critical line of business application used by all employees to track client billable and non-billable time such as PTO. System supports the creation of monthly client invoices, as well as detailed analytics used for budgeting, capacity planning, etc.

Utility Pole Engineering Survey Tracking
A Microsoft Azure based system used by field engineers to capture survey data from about utility poles. Field engineers used a mobile app from fulcrumapp.com to enter data in the field. Background processes would later import this data from fulcrum. The system contained detailed information from thousands of utility poles including photos, GPS location, detailed field measurements on pole spans, guy wire placements, etc. This data was then reviewed by back office engineers to determine pole capacity for additional services.

Side Projects

Browser Bookmark Manager
I spend a significant amount of time learning and trying to stay up to date with constantly changing technology. One of the ways that I stay up to date with what's new in technology is to follow people on twitter. I do this on a daily basis and this usually results in 6 - 12 articles that I'd like to save and read later. I've tried a number of tools for doing this including browser favorites, OneNote, shelf.io, etc. None of them quite worked the way I wanted so I decided to build my own. I chose CosmosDB as the backend and Azure Functions for the API. I then built a chrome add-in and a Xamarin app (since most of my twitter reading is done on the phone) that let me save bookmarks. When a bookmark is submitted to the API it will crawl the URL, extract and save the page contents and metadata to CosmosDB. Azure Search is used to provide search capability. Then I created an angular application hosted in Azure App Services that lets me browse and search my bookmarks.

Keepass Data Extractor
I use Keepass to centrally store all my passwords. I've tried many password managers and have never liked any of them. Keepass does what I need for now but doesn't quite do everything I'd like. This is in the early stages but so far I have a Keepass plugin that I can use to extract all of my Keepass data. The ultimate goal will be to export this into my own password manager.