I make robust, performant websites and web applications using the tools appropriate for the job.
Years of industry experience have guided my philosophy that simplicity is paramount in development and User Experience (UX) design - which is the most difficult part of the development process. Complexity is inevitably present but keeping the User Experience as close as possible to the domain model makes concepts clearer for everyone, especially your users.
Similarly, I believe there are very few cases where single page applications (SPAs) are a better choice than relying on traditional web technologies like HTML form submissions and server-side rendering. Your users know how their browser works so let it do what it was built for instead of re-implementing features in JavaScript and introducing unnecessary complexity (looking at you, client-side routing!). Web apps are not, and should not try to be, native apps but they can provide equal utility in less development time with more platform portability.
I'm thrilled to now use Elixir after more than a decade working with Ruby, PHP, Python and JavaScript. The Elixir/Erlang programming paradigm lets me build fault-tolerant, performant applications without turning a project into a grab-bag of supporting technologies (e.g. Redis, ElasticSearch, RabbitMQ, K8s). And with the Phoenix framework and LiveView in the mix, so much is possible!
During my career, my front-end experience has involved everything from turning wireframes and mockups into HTML/CSS to implementing complex javascript map-drawing applications backed by data APIs (an appropriate use case!) both with and without front-end frameworks. On the back-end I've build large-scale content management systems (CMS), applications, API & e-commerce integrations and more. I once even built an FFmpeg-powered video editor in PHP ().
Want some jargon? Here's a small sample of the jargon I've built things with professionally:
Elixir, Phoenix, LiveView, Javascript (ECMA Script), Python, PHP, Ruby, React, Redux, Git, Mercurial, AngularJS, LESS, SASS, MySQL, PostreSQL, Django, Learning Management Systems (LMS), Dojo Toolkit, Backbone, Fabric, ExtJS, Canvas, jQuery, Stripe, Apache Solr, FFmpeg, Leaflet, OEmbed, AWS, CoffeeScript, Gulp, Functional Programming (FP), Object-Oriented Programming (OOP), Tailwind, Bootstrap