My name is Connor. Welcome to my little corner of the Internet! Before we get down to
brass-tacks, let me share a little bit about myself
I am...
An Engineer
A Designer
A Developer
A Builder
I like to...
Solve Problems
Innovate
Learn
Ski
Tools I Use...
HTML5
CSS3
JavaScript
TypeScript
NodeJS
Industry Experience
Since 2018, I have been giving my all towards working to develop a more sustainable web —
both
for users and developers. During my time in the industry, I have not only worked toward
consilidating user interfaces to ensure a consistent experience for all users, but I have also
sought
to improve the developer experience by utilizing existing web standards in favor of the
"framework
of the week."
Select an item below to learn more about my contributions.
Southern New Hampshire University
Front End Developer
User Experience Developers at Southern New Hampshire University work to maintain brand style by management of a self-developed component design system which leverages the Stencil JS toolchain. This requires in-depth knowledge of Web Components, TypeScript, CSS, HTML, and more. Adherence to WCAG best practices is also a key element of this position. Additional job roles include:
Research the impact Web Components have in a production setting utilizing Google's Core Web Vitals. This led to continued development of the component design system after demonstrating that this technology would result in net-gains to CLS and LCP scores.
Principal development of Stencil JS-based Web Component design system including: front end build processes, CI/CD pipeline integration, dynamic HTML template loading, and more.
SilverTech Inc.
Front End Engineer
Frontend engineers are responsible for translating design prototypes into reusable segments of code to later be picked up and integrated for continued, iterative use within content management systems. This includes authoring custom CSS and Javascript modules when necessary. A heavy emphasis is placed on an ability to scale code effectively. Secondary job roles include:
Testing and validation of all developed layouts across systems and device resolutions. This ensures a given design will perform correctly on mobile devices, as well as across browsers operating in different environments.
Development of Javascript modules to interact with API's, or consume API data in a multitude of formats, ranging from OData to flat JSON or CSV files. One such module is a complex wrapper around Google's Map API to help provide a more intuitive way to merge customer location data with a custom map interface.
P&R Dental Strategies
Application UI Developer
The Applications UI Developer is responsible for wireframing and prototyping easy to use, intuitive, user layouts for use with enterprise-level data analytics applications. Technologies utilized are primarily from the Microsoft stack and include .NET core, as well as ASP.NET and ASP Web Forms. The Applications UI Developer implemented the necessary Javascript in order to improve the user experience and overall application flow. Secondary job roles include:
Secure applications from XSS and CSRF attacks through the use of double token authentication, while also removing vulnerable Javascript libraries and other dependencies.
Explore alternative solutions outside the Microsoft stack in order to help speed up application development and delivery time while also aiding to improve the developer experience.
Pacific Group Resorts Inc.
Webmaster
The Webmaster for Pacific Group Resorts is responsible for overseeing all site maintenance and updates for Ragged Mountain, Wisp Resort, and Wintergreen Resort. Each website is served by a Microsoft IIS server running an instance of Episerver's Ektron CMS. Another core responsibility of the webmaster is to explore modern alternatives to help improve Pacific Group Resorts' online presence while streamlining the content creation workflow. Solutions explored have utilized technologies including MongoDB, Express, React, and Node. Secondary job roles include:
Integrate eCommerce tracking via Google Tag Manager.
Develop and reimagine user experience for key pages of the website.
The Webmaster is also responsible for performing monthly ADA Accessibility compliance audits through the use of Google's Lighthouse Tools.
More Vang
Data Automation Specailist
The Data Automation Specialist's primary job role was to develop automated data workflows which directly correlated to an increase in productivity by reducing hands-on man hours for recurring jobs. This required exceptional problem solving skills, as well as an ability to ensure that tasks were completed with high levels of accuracy. It was crucial to have an in-depth knowledge of Javascript data transformation capabilities, as well as extensive knowledge on a number of other proprietary technologies. Secondary responsibilities included:
Software development to assist workflow logic.
Projects
In addition to my professional experience, I've also taken on a number of personal projects to occupy my time outside the office.
These escapades range from tinkering with data structures to establishing networked applications via the use of WebSockets.
Select an item below for more information on a particular project.
As outlined by the MDN
Documentation, "Web Components [are] a
suite of different technologies allowing you to create reusable custom elements —
with their functionality encapsulated away from the rest of your code — and utilize
them in your web apps."
With the introduction of the Stencil JS toolkit, many of Web Component
API's are
abstracted into toolchain which allows you to author self-contained components which can be
distributed amongst any web application capable of running JavaScript. This very website is
constructed utilizing Web Components authored via Stencil's toolkit.
In addition, an implementation of a JavaScript router (included in Stencil's toolkit)
allows for developers to generate reusable segments of HTML code without the need
for a templating engine like Svelte, Handlebars, or Nunjucks. A prerenering process is then
leveraged to generate static output (static site generation) which can be served from a
web server.
This experiment is mostly the product of a lot of free time, coupled with the desire to
have a location for friends to play tabletop games online. With that in mind, I
cautiously offer you this link
with no other instruction.
While the interface remains half-baked, the real meat is what happens behind the scenes. It
is not immediately obvious, but if new players are added to the board (0-indexed), you will
observe that their “range” is projected onto the board. This is a feature of the
data
structure that contains the board's information.
Each cell in the matrix is linked to the cells around it, making each ”player“
on the board aware of the elements that are in the projected range. This enables the board
to keep
track of pieces that are within striking distance. This data structure could be leveraged
for
a number of games. There is a little more to it than what I have outlined here, but it has
been
the better part of 3 years, and time makes fools of us all!
This application's purpose was to generate large lists in CSV format in order to
track redemption of coupons throughout the course of any particular campaign. Coupons
were tied to a unique identifier, and when redeemed, the back end was updated across
all connected clients via the use of WebSockets. The Socket.io npm package made this
process a breeze.
When looking for cost-effective CMS solutions to help manage the data,
Strapi immediately stood out among the competition.
As a self-hosted option, the cost is difficult to beat. Strapi, oupled with affordable
offerings from MogoDB, made for a robust, developer-friendly CMS.
Upon redemption of a voucher, the client would utilize the existing
WebSocket connection to update the MongoDB instance.
The
server, in turn, would
notify any connected clients of the update, ensuring that these vouchers could not
be redeemed twice. If a client was disconnected at the time, it will be
automatically updated of the voucher's status upon reconnected to the network.
I first became aware of Strapi through
an effort to replace an
aging and inefficient content management system. As a headless CMS, it offered a true
separation of design and content, ensuring that Front End Developers can do the work that
is necessary to present users with rich experiences.
In addition, Strapi's integration with MongoDB provided for a cost-effective
solution that would scale gracefully for smaller clients. As a proof of concept, a few pages
from
an existing web property (the New Hampshire Mountain Inn) were successfully mocked
up utilizing the new stack.
Interactive charts are quickly becoming a staple of modern web interfaces.
When implemented properly, these interfaces provide users with an intuitive way to navigate
large data sets via filtering, animations, and more. ChartJS is but one of many libraries which developers can
take advantage of to help implement these kinds of experiences.
This example was constructed utilizing TSA Claims data captured between the years of 2010
and
2013. Mostly, this data outlined the total numerical values of all claims made during these
years.
All of this information is publicly available on the TSA's web page.
Additional Skills & Certifications
During my professional career, I have been fortunate enough to work in environments that provided
me with opportunites to advance a number of skills which are not related to Web
Development.