Channel Ready, Inc.

Senior Developer & Lead Architect

Oct 2011 - May 2023

In my role as application developer at Channel Ready, I designed and maintained a modular framework for spinning up and administering customer web sites and membership portals. The primary product at Channel Ready was a custom content management system to serve all of Channel Ready's clients. I was brought in to redesign and build a new system from the ground up.

We served different types of clients with different needs, so I took a modular approach that would allow us to enable or disable features for each client, delivering a customized administration environment while maintaining a single codebase. There were standard modules used by all clients such as content management, media, and reports; and there were specialty modules like the catalog module (for product management / ecommerce) or the course development module (for online learning).

The administrative interface was an ASP.NET / MVC project and each module was packaged into it's own .dll. The client web sites were also ASP.NET / MVC projects and would include modules as necessary. Each client web site was customized from a template project, and the modular design allowed us to reuse code for much of the functionality while allowing us to deliver unique web sites for each client.

A brief overview of selected modules

Content Management Module

Allow clients to edit their own content.

Media Module

Allow clients to manage images, videos, and documents.

News Module

Manage timely news items, similar to micro-blogs.

Ad Module

Allow clients to place and track advertising on their web sites.

Catalog Module

Product management for online catalogs and e-commerce sites.

Messaging Module

Enable messaging between users of a client's web site.

Member Module

Add member portal functionality to a client's web site.

Property Management Module

Manage properties for sale or lease.

Client Data Module

Adds custom data management to a project without the need for database changes.

Publication Module

Enable publication workflow, allowing users to make changes and preview them before going live.

Events Module

Create and manage an event calender, including event registration.

Course Development Module

Design curriculum for online training.

Report Module

Add reporting insfrastructure to a project.

Primary Technologies

  • ASP.NET / .NET
  • MVC
  • C#
  • MS Sql Server
  • JavaScript (Vanilla + jQuery)
  • HTML / CSS

Highlights

  • Created a learning management module for internal training at retail stores, allowing for course material management, user evaluation, and progress tracking.
  • Implemented a media module for managing media files and streaming audio/video from customer web sites.
  • Designed an event management/registration module for managing events, calendar display, automated registration, and registrant management.
  • Developed a site search feature with near-real-time updates to dynamic content, including faceted search and full-text capabilities.
  • Created an extensible data framework, allowing for administration of custom data on a per customer basis without the need for UI changes.
  • Designed and built a publication system for previewing dynamic user pages before publishing content to a live web site, letting customers publish their own content.
  • Created a content management module, including a widget system, extending an off-the-shelf HTML editor to allow customers to insert dynamic content into user pages.