About Me

Hey 👋 I’m Joe.

I’m a Cincinnati-native software engineer with a journalism degree. Building things and interactive storytelling are fundamental to who I am.

I’ve been doing web development for something like 15 years, with most of my work involving full stack development across content management systems of all flavors. I probably started with other general purpose languages as many years prior to that.

These days, I specialize in full stack Javascript. Being able to use the same language across the whole stack is an incredible value proposition, as is JS’s robust ecosystem and community.

I built this site using Sveltekit on the frontend with PayloadCMS for data. Payload is an amazing CMS, but for the purposes of my own website I now compose most of the content with Markdown. Using MDsveX I can intersperse Svelte components with my content as needed to tell any story. This is as expressive as it gets for someone who codes and also writes. I ultimately chose that power and ease-of-storytelling over the ability to publish from anywhere.

Don’t worry – I’m still reaching for Payload, Drupal, or any other solid, well-documented CMS for products where I need to empower less-technical authors who need to tell stories, convey ideas or log and share data. Here, I use Payload for my custom analytics and form submissions.

I’m the type who’s always learning, and constantly thinking about how things work. As a consequence of my curiosity, I’ve learned to do things all over the gamut of software and music.

  • CMS/Monolith: Drupal, PayloadCMS, Express/Fastify, .NET, Sitefinity, ModX, OpenCart, SugarCRM, Wordpress & other odds and ends
  • Backend: PHP, Node.js/Typescript, GraphQL, C#, learning Elixer
  • Frontend: JavaScript components (primarily Svelte), Vite, Rollup, newer approaches to CSS (PostCSS, TailwindCSS) as well as older (Sass, Less, Bootstrap, Foundation and other pre-Flexbox/grid frameworks), older names in JavaScript (jQuery, Backbone, Underscore), lots of various packages in the JS ecosystem
  • Database: MongoDB/NoSQL, SQL/MySQL/MariaDB, some Postgres, EdgeDB and Oracle
  • Devops/Project: Git, PM2, systemd, package.json scripting, RHEL & Debian administration, bash, zsh and other shells, most package managers (Composer, npm, pnpm, yum, yarn, cargo, apt, brew and whatever comes next), CI/CD (Travis, Bamboo, Azure Pipelines, Acquia), Linux setup and hardening, various hosting platforms and strategies (managed/cPanel, DigitalOcean VPS, Vercel, AWS and Azure)
  • Soft: copywriting, copyediting, some design and layout, Adobe Creative Suite
  • For fun: Drums, guitar, music production, weight training, checking out the latest buzz-generating framework or language

©2023 Joe Castelli