Hi there. I'm Tom Rose, a freelance front-end web developer with over 20 years experience building websites with HTML, CSS and JavaScript. I have a strong passion for web standards, clean code and keeping things simple. I love building websites that display content clearly, load fast and are easy to navigate.

I mainly work out of my home office in West Philadelphia, but I’m always excited to join teams onsite when possible. I value face time and building transparent relationships with clients. When I take on a project as a freelancer, I aim to come alongside your organization to understand its culture so I can best provide customized guidance and support. While my primary task is often writing solid front-end code, I also consult on design decisions, accessiblity, performance and optimization. This work ethic has enabled me to work successfully on projects with dozens of amazing organizations over the years.

When I’m not working on web projects, I enjoy traveling and exploring with my wife, listening to music, baking sourdough bread and learning foreign languages. (Ich lerne gerade Deutsch.)

Skills and tools

I’ll often use WordPress as a content management system (CMS), building custom themes by hand with a strong focus on simplicity and usability – both for the editor and the end user. WordPress powers roughly 30% of the internet, so it’s a dependable and trusted CMS. I’m also interested in static site generators like Hugo and Jekyll. These have less overhead than WordPress and are perfect for smaller websites (like this very portfolio site).

Here’s a list of languages and tools I use on an almost daily basis:

  • HTML5
  • CSS
  • Sass
  • SVG
  • JavaScript
  • jQuery
  • PHP
  • Timber/Twig
  • MySQL
  • WordPress
  • GraphQL
  • Hugo
  • Jekyll
  • Gulp
  • Grunt
  • Webpack
  • Git

Of course, I’m always interested in learning new things in order to optimize my workflow. Here’s what I’m digging into these days:

  • WordPress as a headless CMS (JAMstack)
  • GraphQL
  • Gatsby
  • React
  • Flynt
  • Vue.js