UPIC

2006 – 2020 archived

Industry-serving contact & product online search tool where users can find and connect with their peers. Users could search for contact info, find product suppliers or distributors, get credit information and — by being included in the directory — verify the company had been correctly vetted as being a part of the industry.

Context

Large multi-tenant industry data system. Public platform, but has been replaced and is no longer available online.

Architectural Decisions

  • Chose WebForms initially due to ecosystem maturity and team familiarity in 2006.
  • Database storage was Microsoft SQL Server for robust relational data handling and integration with existing systems.
  • Self-contained authentication and authorization model to manage user access within the internal network.
  • Used on-prem Google search device for data indexing and search capabilities.
  • Data layer used mostly stored procedures for performance and maintainability.

Challenges

  • Performance tuning for large user base and data volume.
  • Managing the sheer amount of data items per user and ensuring a good UX.
  • Integrating with external systems (legacy and new) to allow user data management within the application for use in other systems.
  • Provided services to 150,000+ users with varying access levels and data needs.
  • Automating the process of extracting and transforming data from the database into a suitable format for the Google search appliance to index.

Outcomes

  • Served as authoritative source of personal and company data for industry use.
  • Enabled users to manage their own data, improving accuracy and reducing administrative overhead.
  • Facilitated data sharing across multiple external systems via APIs and data exports.
  • Supported complex data relationships between users, companies, and products.
  • Included personal contact data, company contact data, company affiliations, company demographics, product data, and user preferences.
  • Supported integrations for downstream apps (membership portals, event registration).
  • Provided product search capabilites for distributors to find suppliers for specific product needs.
  • Nightly process would export data from SQL Server, transform it into XML files. These files were then crawled by the Google search appliance to keep the search index up to date.

My Role

I was brought in to help finish the original development and first deployment. The project was mostly complete, but internal search performance was so poor it was holding up deployment. We cut the external developers loose and finished up the performance fixes in house.

  • I was brought in to help finish the original development and first deployment.
  • Project was mostly complete, but internal search performance was so poor it was holding up deployment.
  • We cut the external developers loose and finished up the performance fixes in house.
  • I switched the internal search (not using the Google Device) from an enormous store procedure to a dynamic SQL query, which brought the performance to where we could actually deploy the application.

Notes

This application has been replaced by a newer system and is no longer accessible online.

Tech Stack

.NET Framework 2.0 ASP.NET WebForms VB.NET Microsoft SQL Server