jano[dev]
a site by Jesse Janowiak

Who is Jesse Janowiak?

I have been a web developer since the year 2000. When I started, I had to make sure my sites supported Netscape Navigator 4.7.

Today, I build modern, performant, and accessible sites both independently and with my colleagues at NewCity*.

Check out my résumé

The jano[dev] philosophy

jano[dev] is not based on specific languages, frameworks, or processes. A good developer can learn how to use any of those, especially if they surround themselves with other good developers. Instead, jano[dev] is a set of principles that I have learned are always applicable in web every web development project, regardless of the tools being used.

Iterative design

As tempting as it can be to spend weeks in isolation followed by a dramatic reveal of a beautiful finished product, years of experience have taught me that it usually ends in disaster. There is no substitute for quickly building something functional and showing it to another person. Whether that person is a client, a co-worker, or a test subject, early feedback is critical to the long term success of any project. There are a lot of buzzwords that people use to describe this idea — “Agile development,” “Minimum Viable Product,” and “Rapid Prototyping” come to mind — but you don't need jargon to understand that you can’t test something that hasn't been built.

Component-based design systems

Websites can be complex. Even the simplest site is much easier to build and maintain if you plan, design, and code with reusable components. The specific tools I use depend on the project — it could be React components, Twig partials, or even just well-structured HTML — but I always break my page designs down into manageable chunks before I dive into the coding of a site. For large sites with multiple page templates and interactive features, I like to document of all of the site’s components in a library using a tool like Fractal or Pattern Lab.

Automated testing and deployment

When it comes to fixing — and preventing — bugs on a site, I'll take all the help I can get! I'm always happy to let computers stop me from making a fool of myself. That's why I use linters like ESLint and PHPCS while coding; run automated tests with Jest, Aria, or PHPUnit; and even add those tests directly into my continuous deployment pipeline to stop any last-minute bugs from making it onto a live site.

Recent Work

College of Health and Human Sciences at Colorado State University

Project Highlights:
Extra focus on accessibility, WordPress Multisite
My Role: CMS integration, Custom JavaScript
This project involved a heavy focus on accessibility, for which we worked closely with consultants from WebAIM. In addition to integrating the front-end components into the WordPress theme, I also built custom interactive features including a faculty & staff directory built with Vue.js.
More about the CHHS project

“Texas A&M Today” News Site

Project Highlights:
Large number of articles to import, client designer
My Role: Front-end and back-end CMS integration
Texas A&M’s news site was an interesting experience because the design and content were all handled by the client team, leaving NewCity responsible only for writing the code and technical setup. Working with a designer that was unfamiliar to me, two timezones away, allowed me to see the work from a different perspective.
Live Texas A&M Today site

Warren Wilson College

Project Highlights:
Highly flexible page templates
My Role: Pattern library, CMS integration
When I began working on the Warren Wilson project, the college was wrapping up a major rebranding initiative with another vendor. It was exciting to bring the new brand's design elements to life with a completely rebuilt website.
More about the Warren Wilson project

Disclaimer

All opinions expressed on this site are my own and do not reflect those of my employer or clients.
© 2021, Jesse A. Janowiak