Open Source

All my open source projects are available on my Github Account.

Autodesk Connector for ArcGIS

Autodesk Connector for ArcGIS

As part of a new partnership between ESRI and Autodesk the Autodesk Connector for ArcGIS was created. The connector is designed for seamless integration between the Autodesk suite of products and ArcGIS Online data.

This project consists of a data selection component and a separate data provider (FDO). I served as lead developer for the selection component and developed the C++ library and Javascript UI. The FDO provider was developed independently.

The initial target product for integration was Autodesk Infraworks. Since Infraworks is a Qt-based product the library was built using Qt to allow for a more seamless integration. There is ongoing work to integrate the connector into other Autodesk products such as Map3D and Civil3D. The C++ library manages authentication, data and the embedded web view for displaying the UI.

The client is built around the ArcGIS SDK for Javascript which is built on the Dojo framework. The Connector UI was initially heavily dependent on Dojo but late in the development cycle the Autodesk HIG project had been developed and had reached stability. The Autodesk HIG project was an initiative to standardize Autodesk's UI/UX patterns across their entire product line. The project made available a library of React components to aide in conforming to the standard. To use these components we converted the client to a React project in order to start using the HIG components.

Initially I was the sole developer on this product for a 6-8 month period. However, as the product reached production more developers from the Autodesk side started to contribute. The product was slowly transitioned to Autodesk for ongoing maintenance and product integration.



NatAlliance is a mid-sized regional broker-dealer based out of Austin, Texas with a strong focus in fixed-income trading and sales.

Bloomberg Trade Order Management System (TOMS) is an integral part of NatAlliance's front-office. The majority of fixed-income trading/sales staff use the system to book their trades. As a result NatAlliance had developed a back-office system to process the data from TOMS and generate monthly P&L and commissions reports.

Unfortunately the system was not well maintained and contained several defects and issues. The back-office staff had to perform several manual steps every month to work around the problems: manual P&I updates, manual override of unsupported/bugged ticket types and incorrect output. I was contracted to develop a new system that would improve the output accuracy, eliminate the current inefficiencies and automate the workflow.

The core of my solution was a new algorithm that could calculate P&L and commissions from raw TOMS data without requiring a secondary manual input of extra data (e.g. coupon payments, mortgage payments, calls, etc.). This greatly reduced the complexity of the process and simiplified the back-office work flow. Another strong feature of the algorithm is that it can "show its work" as it tracks all the matched tickets for every realized P&L event. This allows for transparent, detailed P&L reports where the final calculation is readily auditable.

The algorithm is driven by a django application for multi-tenancy and easier deployment. It supports basic features such as parallel report generation, user management, data feeds and report/upload history. The entire system requires no intervention except for a regular upload process to update the internal dataset. As a result, the previously manual monthly process for building P&L reports is now completely automated