This is a place where I make
I hope you enjoy your stay!
Hi! I'm Michael Ruffell, and I'm a Canadian fullstack developer who gets far too much enjoyment out of seeing what weird and wonderful things can be accomplished after a bit of creative negotiation with CSS and JavaScript.
My education involved both a Bachelor of Science in Computer Science and a Bachelor of Arts and Science in Interactive Systems Design from the University of Saskatchewan. Since then, I've been a fullstack developer for about 6 years now.
I've worked on everything from e-commerce stores integrating with Stripe and Shopify, to political campaigns with time-sensitive reveals. I've made full-featured REST APIs and created interactive Google Maps integrations. Let's not even get into metrics like swear-words-per-hour when handling things more on the IT-side like DNS management and email deliverability.
Whether you're looking to build an informational brochure site, or a fully interactive experience, I've probably worked on something similar to it. I've learned enough of the arcane runes and rituals the web runs on that I'd be happy to help out.
On the personal side, I'm a forever-nerd at heart. I love learning random information and playing games with my friends. I've even managed the occasional raid group, which basically means that I'm a professional cat herder.
Don't hesitate to reach out! I love hearing from new people. Doubly so if I can help them out.
My mainstays are Nuxt.js and Node.js, with a focus on building fully customized sites utilizing a headless CMS. I like to focus on both the frontend and the backend, but I love when the two don't depend on each other. Few things are as satisfying as swapping out the entirety of a frontend system without any changes to the backend, and everything "just works".
But that isn't to say that's all I can be involved in. I've built more WordPress sites than I can count, customizing them with PHP for theme and plugin files. I always try to focus on making sure my that clients can customize and change the site on their own without relying on a developer like me to do such things. My goal is always that my clients aren't handcuffed to continue working with me, and that they don't need to seek me out to change minor details.
CSS is my daily bread-and-butter. Few people care about how well something works if it looks bad. In turn, I've yet to come across a request from a designer that I couldn't implement in one form or another, with a healthy helping of JavaScript for functionality. I've also done a lot of regular sysadmin-type stuff for Linux web servers, so I'm more than happy to take the command-line out for a spin when it's needed.
By nature, I'm a people pleaser. I like listening to problems, and I love solving them even more. Gathering client requirements and trying to find the root of an issue are actually enjoyable for me, since I know that it's the first step towards making those clients happy.
That people pleasing nature also extends into professional relationships. I try to see things from everyone's perspective, and am great at de-escalting conflicts before they even become conflicts. Talking with people and making compromises are surprisingly effective at getting things done. It's to the point that multiple coworkers have straight-up told me that they view me as the glue that holds the office together.
I've also got a pretty decent command of the written word. I spend more time than I want to admit proof-reading some of my coworkers' communications before they go out to make sure they sound professional enough, and have been told by multiple different ESL coworkers that I should teach English as a hobby.
The design of this portfolio site might make you question this statement, but I've dabbled in plenty of design work. Though I'm a far cry from a professional designer, the reason I mention this is because I can actually speak the language of designers, and know how to provide feedback to them in a way that's more productive than "invisible red ink." At the same time, I'm fairly good at translating designer jargon into regular language when it seems like a designer is having difficulties communicating an idea. So, the main other skill I want to mention here is that I can make a fairly decent liaison when it comes to team communications.