Category Archives: Projects

Portico API

Sidwell’s flagship web product, Portico, is growing in so many ways. In addition to maintaining the original Silverlight control, I’ve developed a mobile website, and I am about to develop a whole new application containing several “widgets” using the Web AppBuilder for ArcGIS. We also have an Advanced Print Preview and some custom reports that access the backend. Portico has become so much more than a website — it’s a development platform — and I certainly will not predict the next applications to be built on this platform. So, I decided the time has come to separate the traditional Portico website from it’s backend services, and deliver the backend through a new API.
Continue reading Portico API

Advanced Formatted Printing

Usually, folks brag about an exciting new feature they’ve implemented. In this case, I want to brag about how I was able to make an application smaller. Of course, a smaller application means less custom code that has to be maintained. I was able to reduce the application’s footprint by leveraging the new print services in the ArcGIS platform, and remove our custom print services. In the end, this move allowed me to take advantage of additional platform features to actually add functionality.
Continue reading Advanced Formatted Printing

Portico Mobile Website

Sidwell’s flagship web product, Portico, was originally developed when Silverlight was ESRI’s preferred web platform, and it provided a stunningly rich, smooth graphical experience at the time. Along with the impending demise of browser plugins, Silverlight will not run on most mobile devices. So, my first assignment at Sidwell was to provide an answer for a users who were asking “Why can’t I use this on my phone?”
Continue reading Portico Mobile Website

GeoServices API Implementation

The agency I work for has not deployed ArcServer. But, our biologists really need to see their dots on a map, and they need to create dots on a map, to say nothing of some of the more complicated tasks like editing geometries and linear referencing. Installing ArcServer is outside of my control. So, to provide our biologists with the geospatial tools they required, I decided to build a spatial server into my application myself.
Continue reading GeoServices API Implementation

WGFD Wildlife Permitting

The Wildlife Division had five separate Access databases, accessible from only one location. Not only were the databases functioning poorly, they had also become a chokepoint in the workflow of one of the Game & Fish Department’s core functions. The project involved migrating these databases into a single subsystem of an existing ASP.NET MVC web application running on a SQL Server enterprise database.
Continue reading WGFD Wildlife Permitting

WGFD Stream and Lake Database

The WGFD Fish Division maintains a database of Streams and Lakes, the characteristics of the waters, the hydrologic boundaries, and also the species presence and abundance on all of those waters. This data is one the Division’s most critical assets, containing historical observations going back nearly 100 years. The data was originally stored on index cards, and later moved to an N-able database. Then, it was migrated to Access, and finally to SQL Server, .NET web application.
Continue reading WGFD Stream and Lake Database

Discovery Management System

For a criminal defense attorney, I developed a document management system to catalog large volumes of discovery. The system was built using PHP and MySQL. As Each piece of discovery is viewed and assigned keywords. Discovery could then be retrieved by keyword, saving a dramatic amounts of time during trial preparation. In very large, high profile cases, the system provided a competitive advantage that was instrumental in responding to otherwise impossible inquiries from attorneys.

Let’s Go…

Let’s Go… was founded to address the needs of individuals with developmental disabilities aged 15 and over. The mission of Let’s Go… was to facilitate the building of friendships, natural supports and connections between individuals with developmental disabilities and the community at large.


I developed the online presence and information management systems using PHP and MySQL. This included building the event management system, which used VoiceXML to interface with an IVR system, allowing customers to access event schedules without using a computer. This also included building the the photo sharing and carpool network subsystems.

Download: Let’s Go Brochure

Northwest Municipal Conference

NWMC was seeking a comprehensive website redesign, and HBI recommended a the Java-based Jahia CMS. The project involved graphic design, template development, and custom Java development in the members-only intranet. A key challenge was working with HBI’s design team to develop a look-and-feel that was pleasing to the client, and could also be deployed in a template-based CMS.

Curriculum Design Assistant

The CDA is a tool designed to decrease the existing gap between standards, assessments, and day-to-day classroom lessons using effective practices and technology-based mechanisms. The CDA is built with an open, layered architecture, with strict Model-View-Controller separation.

  • Struts framework for View and Controller, Oracle database using Jakarta DBCP for Model
  • Quarts job scheduler triggers nightly merge with enterprise data store
  • Container-managed authentication for user/role based authorization
  • JNDI parameters allowing system administrators to customize environment at deploy-time
  • Automated test framework including JUnit and JUnitEE to perform unit and performance testing
  • Ant build process to automate build, test and deploy activities
  • Production system on Solaris with Apache, Tomcat and Oracle
  • Designed and built a training program for nine trainees in web development with Java using the Struts framework. Trainees were assigned to MVC teams based on their performance in the program.

Judicial Independence Bibliography

The Brennan Center for Justice required a searchable database of bibliographic references. The project involved data modelling, development, and data migration. Articles were searched by keyword, browsed by topic, or viewed in a printable version. A key challenge involved categorizing articles in an indefinite hierarchy of topics and subtopics. The project was built using PHP and MySQL.

reEmploy is a staffing and agency that allows key knowledge workers to return to their former employers after retirement. The project involved working with the client and a payroll agency to develop a business process model. All operations for time tracking, verification, payrolling, and invoicing were brought online through the system, which was built using object-oriented PHP and backed by a MySQL database.

Homeboyz Training System

Designed, built and deployed one-of-a-kind training system based on the “cafeteria of learning”.

  • Student-centered, exercise-driven approach in which trainees move at their own pace, offering multiple pathways through the curriculum based on former client projects.
  • Online self-quiz with tutorial response offers an additional method for students to assess their own learning, and then target weaknesses.
  • Daily online journal encourages trainees to be reflective learners, and provide a communication conduit between staff and trainees, encouraging trainees to practice writing in general, and technical writing in particular.

Milwaukee Municipal Court

Maintained an application written in Magic 5.6, using a Btrieve database, running on a Novell network. Wrote and executed unit, system and regression test scripts. Wrote technical documentation, user reference documentation, and release notes. Trained court personnel on new functionality.

  •  Built an online Ad Hoc query function to define and create custom reports on demand
  • Designed an built a two-way electronic interface to a collection agency
  • Built an electronic interface to report violations to the Department of Transportation
  • Modified several online accounting programs to accommodate changing business rules

Compuware Professional Development Program

Completed a comprehensive 11-week Professional Development Program in Detroit, MI. Earned the highest possible rating, achieved by only 3% of program graduates.

  • Developed several CICS programs for an integrated human resources system. The programs were executed through menu screens that were developed using BMS
  • Developed a sample Automated Teller Machine using one large CICS program. Implemented a PIN security system and facilitated deposits, withdrawals, transfers and advances between checking, savings, credit and loan accounts using a single VSAM
  • Developed two DB2 programs that read data from several DB2 tables, and created reports utilizing that data. Used SPUFI and DCLGEN to assist in developing DB2 commands as needed
  • Coded, tested, debugged, and documented a sample customer information reports program. Wrote the program in structured COBOL using TSO/ISPF and QSAM flat files. The report tracked orders and customer information.

Senior Project in Computational Models

Developed and optimized velocity prediction models of a 30-foot sport boat. Used Maple to facilitate creation of nonlinear, polynomial regression models. Transformed visual representation to Cartesian, Polar and Cylindrical coordinates. Used Visual Basic 5.0 to build a simulation application, allowing the models to be tested under realistic conditions. Implemented stochastic methods to simulate wind speed.