// July 2, 2023 4 min read Error Handling in the UI, Beyond “Something Went Wrong” uxerror-handlingfrontendjavascriptui-patternsuser-experience
// June 3, 2023 3 min read When UX and performance conflict, what should be done? uxperformancefrontendoptimizationarchitectureuser-experience
// May 27, 2023 2 min read Notification Design, How to deliver important information without annoying people uxnotificationsfrontenduser-experienceui-patternsdesign
// May 5, 2023 2 min read Is Redis still my first choice for caching? rediscachingbackendperformancememcachedself-hostedgodatabaseinfrastructure
// April 28, 2023 4 min read Hidden bottlenecks in large Angular webapps angularperformancetypescriptchange-detectionlazy-loadingoptimizationfrontend
// April 19, 2023 2 min read Design Systems That Build Themselves, Using Style Dictionary + TailwindCSS design-systemstailwind-cssstyle-dictionarycssdesign-tokenscomponent-libraryfrontend
// March 4, 2023 3 min read My simple automations that save me minutes every day productivityautomationself-hostedhomelabscriptingdaily-workflow
// February 8, 2023 2 min read Connecting Angular with Backend APIs and Dealing with CORS the Right Way angularcorstypescriptapihttprest-apiproxyfrontend
// January 27, 2023 3 min read Optimise energy use on your home server without losing performance homelabself-hostedenergyperformancedockerhardwarelinux
// January 14, 2023 2 min read Data sovereignty at home! why personal data should stay close privacysovereigntyself-hostedhomelabcloud