NVISION Eye Centers
I was one of two backend developers. NVISION is a network of eye surgery centers doing LASIK, cataract surgery, and general ophthalmology. Replaced a WordPress site with an Umbraco build where pages are composed rather than templated:
- Everything Is a Component. There were no page templates in the usual sense. A page is a stack of components, and an editor picks which ones and in what order. Each component rendered into the page as JSON.
- A Shared Library and a Site-Specific One. About two dozen of the components were general purpose and reused across projects: grids, callouts, images, image banners, maps, rich text, video, search results, sitemaps, and paged lists of page previews. The rest were built for this site, including the menus, the appointment form, the homepage slideshow, the location finder, the doctor search, testimonials, news, and the service and team lists on each location page.
- The Network Was Not Uniform. Not every location was an NVISION center. Some were NVISION companies and some were partner practices, and each kind was labeled and linked differently in results. Surgeons were modeled apart from locations and attached to one or more of them, so someone operating out of two centers appeared correctly under both, and a location page and a doctor page could be built from the same data.
- Built to Survive a Failure. The site ran on Windows on AWS: two web servers behind a load balancer, sharing uploaded media through a distributed file system so either could serve any page, and a pair of database servers in a SQL Server availability group so it kept running if the primary went down. A single machine failing would not cause an outage.
Building this site is what prompted me to get my own vision checked, which is how I ended up with my first pair of glasses.
NVISION has redesigned the site since we built it. Below are the designs the build worked from, the site as it ran, and the one it replaced:


















