<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Aron Schüler - Software Engineer</title><description>Explore Aron&apos;s tech journey, a full-stack developer with a passion for web development, devops, and system administration. Dive into insightful blog posts about his tricks and experiences.</description><link>https://aronschueler.de/</link><item><title>Automating reddit marketing with o4-mini - Dev Diary 3</title><link>https://aronschueler.de/blog/2025/05/13/dev-diary-3/</link><guid isPermaLink="true">https://aronschueler.de/blog/2025/05/13/dev-diary-3/</guid><description>In this dev diary I talk about how I manage to automate a personal and direct approach to marketing on reddit.</description><pubDate>Tue, 13 May 2025 17:23:50 GMT</pubDate></item><item><title>Dev Diary 2 - Google Ads, Youtube and landing pages vs demos</title><link>https://aronschueler.de/blog/2025/04/28/dev-diary-2/</link><guid isPermaLink="true">https://aronschueler.de/blog/2025/04/28/dev-diary-2/</guid><description>In this dev diary I talk about my struggles with Google Ads, the new Youtube video and the difference between landing pages and demos for marketing.</description><pubDate>Mon, 28 Apr 2025 13:42:54 GMT</pubDate></item><item><title>Dev Diary - Episode 1</title><link>https://aronschueler.de/blog/2025/04/26/dev-diary-1/</link><guid isPermaLink="true">https://aronschueler.de/blog/2025/04/26/dev-diary-1/</guid><description>In this dev diary I&apos;ll share what I was working on last week, what fixes I had to implement and whats next on my todo list.</description><pubDate>Sat, 26 Apr 2025 13:42:54 GMT</pubDate></item><item><title>Guerilla Marketing at Conferences: My Cheap Approach to Getting Noticed</title><link>https://aronschueler.de/blog/2025/06/12/guerilla-marketing-at-conferences/</link><guid isPermaLink="true">https://aronschueler.de/blog/2025/06/12/guerilla-marketing-at-conferences/</guid><description>Simple, authentic ways I&apos;ve learned to promote myself and my projects at tech conferences without being pushy or salesy.</description><pubDate>Thu, 12 Jun 2025 00:00:00 GMT</pubDate><category>best-practices</category></item><item><title>How I vibecode to build more sideprojects faster</title><link>https://aronschueler.de/blog/2025/09/11/vibecoding-building-web-apps-fast-with-ai/</link><guid isPermaLink="true">https://aronschueler.de/blog/2025/09/11/vibecoding-building-web-apps-fast-with-ai/</guid><description>Learn how to leverage AI coding assistants like Claude Code and Cursor to build web applications rapidly while maintaining quality and architectural control.</description><pubDate>Thu, 11 Sep 2025 00:00:00 GMT</pubDate><category>best-practices</category></item><item><title>Migrate GitLab CI from Kaniko to BuildKit with AWS ECR</title><link>https://aronschueler.de/blog/2025/09/15/migrate-gitlab-ci-to-buildkit-with-aws-ecr/</link><guid isPermaLink="true">https://aronschueler.de/blog/2025/09/15/migrate-gitlab-ci-to-buildkit-with-aws-ecr/</guid><description>Step-by-step guide to migrating from deprecated Kaniko to BuildKit in GitLab CI pipelines. Includes complete AWS ECR authentication and push configuration with working examples.</description><pubDate>Mon, 15 Sep 2025 00:00:00 GMT</pubDate><category>tutorials</category></item><item><title>Fixing the PostgreSQL 18 PGDATA Error in Docker Compose</title><link>https://aronschueler.de/blog/2025/10/30/fixing-postgres-18-docker-compose-startup/</link><guid isPermaLink="true">https://aronschueler.de/blog/2025/10/30/fixing-postgres-18-docker-compose-startup/</guid><description>Struggling with a PostgreSQL startup error after updating to version 18+ in Docker Compose? Learn why the PGDATA path changed and how to fix your volume mounts in seconds.</description><pubDate>Thu, 30 Oct 2025 00:00:00 GMT</pubDate><category>fixes</category></item><item><title>How to vibecode on your iPhone</title><link>https://aronschueler.de/blog/2025/09/09/how-to-vibecode-on-iphone/</link><guid isPermaLink="true">https://aronschueler.de/blog/2025/09/09/how-to-vibecode-on-iphone/</guid><description>How to create a complete development environment using just your iPhone, SSH, and cloud services</description><pubDate>Tue, 09 Sep 2025 00:00:00 GMT</pubDate><category>tutorials</category></item><item><title>Using husky Pre-Commit Hooks to Ensure Playwright Version Consistency</title><link>https://aronschueler.de/blog/2024/06/18/using-husky-pre-commit-hooks-to-ensure-playwright-version-consistency/</link><guid isPermaLink="true">https://aronschueler.de/blog/2024/06/18/using-husky-pre-commit-hooks-to-ensure-playwright-version-consistency/</guid><description>A step-by-step guide to setting up a pre-commit hook to ensure Playwright versions match between package.json and .gitlab-ci.yml.</description><pubDate>Tue, 18 Jun 2024 00:00:00 GMT</pubDate><category>tutorials</category></item><item><title>How to Send Automated Welcome Emails in Firebase with Cloud Functions</title><link>https://aronschueler.de/blog/2025/06/15/how-to-send-automated-welcome-emails-in-firebase-with-cloud-functions/</link><guid isPermaLink="true">https://aronschueler.de/blog/2025/06/15/how-to-send-automated-welcome-emails-in-firebase-with-cloud-functions/</guid><description>Learn how to automatically send beautiful welcome emails to new users using Firebase Cloud Functions, the Firestore Send Email extension, and custom HTML templates.</description><pubDate>Sun, 15 Jun 2025 00:00:00 GMT</pubDate><category>tutorials</category></item><item><title>Publish Playwright Test Reports with GitLab CI/CD Artifacts</title><link>https://aronschueler.de/blog/2024/12/03/automatically-publishing-playwright-test-reports-gitlab-pages/</link><guid isPermaLink="true">https://aronschueler.de/blog/2024/12/03/automatically-publishing-playwright-test-reports-gitlab-pages/</guid><description>A step-by-step guide to configuring Playwright and GitLab CI/CD to automatically publish HTML test reports with clickable links.</description><pubDate>Tue, 03 Dec 2024 00:00:00 GMT</pubDate><category>tutorials</category></item><item><title>Implementing Stripe Subscriptions with Firebase Cloud Functions and Firestore</title><link>https://aronschueler.de/blog/2025/03/17/implementing-stripe-subscriptions-with-firebase-cloud-functions-and-firestore/</link><guid isPermaLink="true">https://aronschueler.de/blog/2025/03/17/implementing-stripe-subscriptions-with-firebase-cloud-functions-and-firestore/</guid><description>In this blog post I will explain how to integrate Strip with Firebase Cloud Functions and Firestore, so your SaaS can process subscriptions easily.</description><pubDate>Mon, 17 Mar 2025 14:33:34 GMT</pubDate></item><item><title>In-Source Testing with Vite and Vitest</title><link>https://aronschueler.de/blog/2024/09/26/In-Source-testing-with-vite-and-vitest/</link><guid isPermaLink="true">https://aronschueler.de/blog/2024/09/26/In-Source-testing-with-vite-and-vitest/</guid><description>Learn how to write Vitest In-Source tests through automatic test discovery.</description><pubDate>Thu, 26 Sep 2024 00:00:00 GMT</pubDate><category>tutorials</category></item><item><title>Fix no exported member &apos;ReactComponent&apos; when importing svg in react and vite</title><link>https://aronschueler.de/blog/2024/04/25/fix-no-exported-member-&apos;reactcomponent&apos;-when-importing-svg-in-react-and-vite/</link><guid isPermaLink="true">https://aronschueler.de/blog/2024/04/25/fix-no-exported-member-&apos;reactcomponent&apos;-when-importing-svg-in-react-and-vite/</guid><description>This blog post fixes error TS2614: Module &apos;&quot;*.svg&quot;&apos; has no exported member &apos;ReactComponent&apos; by changing the way svgs are imported.</description><pubDate>Thu, 25 Apr 2024 09:00:01 GMT</pubDate></item><item><title>Setting Up NGINX Proxy Manager for Docker Containers</title><link>https://aronschueler.de/blog/2024/11/06/setting-up-nginx-proxy-manager-for-docker-containers/</link><guid isPermaLink="true">https://aronschueler.de/blog/2024/11/06/setting-up-nginx-proxy-manager-for-docker-containers/</guid><description>A step-by-step guide to configuring a reverse proxy using NGINX Proxy Manager for Docker containers.</description><pubDate>Wed, 06 Nov 2024 00:00:00 GMT</pubDate><category>tutorials</category></item><item><title>Filtering &quot;Failed to Fetch&quot; Errors with Sentry&apos;s `beforeSend` Configuration</title><link>https://aronschueler.de/blog/2024/06/20/sentry-beforeSend-google-analytics-noise-filter/</link><guid isPermaLink="true">https://aronschueler.de/blog/2024/06/20/sentry-beforeSend-google-analytics-noise-filter/</guid><description>Learn how to use Sentry&apos;s `beforeSend` configuration to filter out non-actionable &quot;Failed to fetch&quot; errors caused by adblockers in your web applications.</description><pubDate>Thu, 20 Jun 2024 00:00:00 GMT</pubDate><category>tutorials</category></item><item><title>Create Astro front matter with Templater in Obsidian</title><link>https://aronschueler.de/blog/2024/01/31/create-astro-front-matter-with-templater-in-obsidian/</link><guid isPermaLink="true">https://aronschueler.de/blog/2024/01/31/create-astro-front-matter-with-templater-in-obsidian/</guid><description>In this blogpost I want to show how I create Astro front matter with Templater in Obsidian.</description><pubDate>Wed, 31 Jan 2024 09:55:15 GMT</pubDate></item><item><title>Securing Firebase Firestore with basic security rules</title><link>https://aronschueler.de/blog/2024/01/13/securing-firebase-firestore-with-basic-security-rules/</link><guid isPermaLink="true">https://aronschueler.de/blog/2024/01/13/securing-firebase-firestore-with-basic-security-rules/</guid><description>A blog post on how to secure your Firebase Firestore with basic security rules. We will allow read access to public data and read+write access to user-specific data.</description><pubDate>Sat, 13 Jan 2024 15:37:39 GMT</pubDate><category>tutorials</category></item><item><title>Creating vitest testcases with ChatGPT</title><link>https://aronschueler.de/blog/2024/01/10/create-vitest-testcases-with-chatgpt/</link><guid isPermaLink="true">https://aronschueler.de/blog/2024/01/10/create-vitest-testcases-with-chatgpt/</guid><description>In this blogpost, I show how to create testcases for vitest with ChatGPT and achieve high coverage.</description><pubDate>Wed, 10 Jan 2024 16:33:05 GMT</pubDate><category>tutorials</category></item><item><title>Building a Two-Factor Authentication Form in React Using SMS Verification</title><link>https://aronschueler.de/blog/2024/06/25/building-2fa-form-in-react-using-sms-verification/</link><guid isPermaLink="true">https://aronschueler.de/blog/2024/06/25/building-2fa-form-in-react-using-sms-verification/</guid><description>A step-by-step guide to building a Two-Factor Authentication (2FA) form in React using SMS for verification, highlighting the use of react-hook-form and the autoComplete=&quot;one-time-code&quot; attribute.</description><pubDate>Tue, 25 Jun 2024 00:00:00 GMT</pubDate><category>tutorials</category></item><item><title>Global error handling with vue-query</title><link>https://aronschueler.de/blog/2024/02/23/global-error-handling-with-vue-query/</link><guid isPermaLink="true">https://aronschueler.de/blog/2024/02/23/global-error-handling-with-vue-query/</guid><description>This blog post describes how to handle errors with vue-query on a global level by using axios interceptors.</description><pubDate>Fri, 23 Feb 2024 09:32:52 GMT</pubDate></item><item><title>Adding a HP printer on Arch Linux</title><link>https://aronschueler.de/blog/2021/09/16/adding-a-hp-printer-on-arch-linux/</link><guid isPermaLink="true">https://aronschueler.de/blog/2021/09/16/adding-a-hp-printer-on-arch-linux/</guid><description>Quick note on how to install a (HP) printer under Arch Linux.</description><pubDate>Thu, 16 Sep 2021 09:59:36 GMT</pubDate><category>Tutorials</category></item><item><title>How to Configure Zed Editor Linting and Formatting for Nuxt Development</title><link>https://aronschueler.de/blog/2025/10/21/configure-zed-editor-for-nuxt-linting-and-formatting/</link><guid isPermaLink="true">https://aronschueler.de/blog/2025/10/21/configure-zed-editor-for-nuxt-linting-and-formatting/</guid><description>Learn how to properly configure Zed editor for Nuxt.js development with the right ESLint and Prettier settings. This step-by-step guide helps you set up your .zed/settings.json for optimal Nuxt workflow.</description><pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate><category>tutorials</category></item><item><title>Monitor websites with Grafana, Prometheus and Blackbox Exporter</title><link>https://aronschueler.de/blog/2021/09/28/monitor-websites-with-grafana-prometheus-blackbox-exporter/</link><guid isPermaLink="true">https://aronschueler.de/blog/2021/09/28/monitor-websites-with-grafana-prometheus-blackbox-exporter/</guid><description>This post will describe how to setup Grafana, Prometheus and the Blackbox exporter quick and easy, allowing you to monitor your websites.</description><pubDate>Tue, 28 Sep 2021 10:29:41 GMT</pubDate><category>Tutorials</category></item><item><title>Run your own VPN with OpenVPN</title><link>https://aronschueler.de/blog/2021/10/04/run-your-own-vpn-with-openvpn/</link><guid isPermaLink="true">https://aronschueler.de/blog/2021/10/04/run-your-own-vpn-with-openvpn/</guid><description>In this post I lead you through the installation process of OpenVPN, so that you can easily run your own cheap and 100% private VPN.</description><pubDate>Mon, 04 Oct 2021 10:38:04 GMT</pubDate><category>Tutorials</category></item><item><title>Fix slow ZSH startup due to NVM</title><link>https://aronschueler.de/blog/2021/12/10/fix-slow-zsh-startup-nvm/</link><guid isPermaLink="true">https://aronschueler.de/blog/2021/12/10/fix-slow-zsh-startup-nvm/</guid><description>portion of code to your .zshrc to enable autocompletion. This, in turn, slows the startup of your shell quite a lot.
But we can easily fix this slow zsh startup! Instead of always loading your nvm autocompletion, we can command oh-my-zsh to just load nvm ressources on-demand, also known as lazy-loading.
</description><pubDate>Fri, 10 Dec 2021 11:09:12 GMT</pubDate><category>fixes</category></item><item><title>HOW TO: Bluetooth on Arch Linux</title><link>https://aronschueler.de/blog/2021/12/29/how-to-bluetooth-on-arch-linux/</link><guid isPermaLink="true">https://aronschueler.de/blog/2021/12/29/how-to-bluetooth-on-arch-linux/</guid><description>As some may struggle to get their bluetooth connections up and running under Arch Linux (and I have to google this each time I install as well) I decided to write a post on it. Hope you benefit from it!</description><pubDate>Wed, 29 Dec 2021 13:57:43 GMT</pubDate><category>Tutorials</category></item><item><title>Arch Linux: Cannot find shared library libffi.so.7</title><link>https://aronschueler.de/blog/2021/10/21/arch-linux-cannot-find-shared-library-libffi-so-7/</link><guid isPermaLink="true">https://aronschueler.de/blog/2021/10/21/arch-linux-cannot-find-shared-library-libffi-so-7/</guid><description>A short post on how to fix the library error mentioned in the title. We fix this by downgrading libffi or installing libffi7 from the AUR.</description><pubDate>Thu, 21 Oct 2021 08:23:52 GMT</pubDate><category>Arch Linux</category><category>fixes</category></item><item><title>Securing TrueNAS with a cheap backup to the cloud</title><link>https://aronschueler.de/blog/2021/11/06/truenas-cloud-backup/</link><guid isPermaLink="true">https://aronschueler.de/blog/2021/11/06/truenas-cloud-backup/</guid><description>Backups with Time Machine, Nextcloud, iSCSI storage - all is stored on my TrueNAS VM. It&apos;s running in proxmox with raid controller passthrough. As my proxmox machine just crashed due to faulty ram / ECC errors two days ago, I thought that I might be better off with an offsite backup for all these important storage pools.
Thats where I discovered TrueNAS&apos; capability of running Cloud Sync Tasks, which periodically run a TrueNAS backup to cloud providers you choose.
</description><pubDate>Sat, 06 Nov 2021 12:09:18 GMT</pubDate><category>Tutorials</category></item><item><title>PyCharm + Docker Compose: Couldn’t refresh skeletons for remote interpreter</title><link>https://aronschueler.de/blog/2022/01/27/pycharm-docker-compose-couldnt-refresh-skeletons/</link><guid isPermaLink="true">https://aronschueler.de/blog/2022/01/27/pycharm-docker-compose-couldnt-refresh-skeletons/</guid><description>A recent upgrade of docker-compose might cause a nasty error. In this post I explain what to do to restore your debugger and the big why.</description><pubDate>Thu, 27 Jan 2022 17:36:34 GMT</pubDate><category>fixes</category></item><item><title>[AUR] ERROR: One or more PGP signatures could not be verified</title><link>https://aronschueler.de/blog/2022/01/28/aur-error-one-or-more-pgp-signatures-could-not-be-verified/</link><guid isPermaLink="true">https://aronschueler.de/blog/2022/01/28/aur-error-one-or-more-pgp-signatures-could-not-be-verified/</guid><description>This post explains how to fix the PGP signature verification on AUR packages. If the key of a signed PKGBUILD is not present in your public key ring, you will otherwise see   &quot;ERROR: One or more PGP signatures could not be verified&quot;</description><pubDate>Fri, 28 Jan 2022 11:42:40 GMT</pubDate><category>fixes</category></item><item><title>React: Could not find router reducer in state tree, it must be mounted under “router”</title><link>https://aronschueler.de/blog/2022/02/14/router-reducer-must-be-mounted-under-router/</link><guid isPermaLink="true">https://aronschueler.de/blog/2022/02/14/router-reducer-must-be-mounted-under-router/</guid><description>A possible fix for the error Could not find router reducer in state tree, it must be mounted under &quot;router&quot; with connected-react-router</description><pubDate>Mon, 14 Feb 2022 12:12:23 GMT</pubDate><category>fixes</category></item><item><title>Serve your build locally with nginx through docker</title><link>https://aronschueler.de/blog/2022/04/11/serve-your-build-locally-with-nginx-through-docker/</link><guid isPermaLink="true">https://aronschueler.de/blog/2022/04/11/serve-your-build-locally-with-nginx-through-docker/</guid><description>Sometimes you might want to debug problems or behavior of your produdction build locally. To do so, you have to somehow serve it. This post explains how!</description><pubDate>Mon, 11 Apr 2022 09:19:02 GMT</pubDate><category>fixes</category><category>frontend</category></item><item><title>Tailwind + SCSS: resolve-url-loader: error processing CSS, invalid mapping</title><link>https://aronschueler.de/blog/2022/03/31/tailwind-scss-resolve-url-loader-error-processing-css-invalid-mapping/</link><guid isPermaLink="true">https://aronschueler.de/blog/2022/03/31/tailwind-scss-resolve-url-loader-error-processing-css-invalid-mapping/</guid><description>This post describes how to fix a tailwind error, where using @apply directives would cause &quot;resolve-url-loader: error processing CSS, invalid mapping&quot; errors during your build.</description><pubDate>Thu, 31 Mar 2022 15:47:10 GMT</pubDate><category>Fixes &amp; Tricks</category><category>JavaScript</category><category>TypeScript</category></item><item><title>Optimizing screenreader accessibility for icon-only buttons</title><link>https://aronschueler.de/blog/2022/12/14/optimizing-screenreader-accessibility-for-icon-only-buttons/</link><guid isPermaLink="true">https://aronschueler.de/blog/2022/12/14/optimizing-screenreader-accessibility-for-icon-only-buttons/</guid><description>In this post I show how you can easily make buttons which consist only of an svg more accessible.</description><pubDate>Wed, 14 Dec 2022 12:09:47 GMT</pubDate><category>tutorials</category></item><item><title>Arch: signature is unknown trust</title><link>https://aronschueler.de/blog/2022/01/30/arch-signature-is-unknown-trust/</link><guid isPermaLink="true">https://aronschueler.de/blog/2022/01/30/arch-signature-is-unknown-trust/</guid><description>In this post I explain how to fix an error about an error that is caused by a package, which was signed with a missing/untrusted public key.</description><pubDate>Sun, 30 Jan 2022 22:02:03 GMT</pubDate><category>Arch Linux</category><category>fixes</category></item><item><title>Enabling Hot Module Replacement (HMR) in Vite When Using an NGINX Reverse Proxy</title><link>https://aronschueler.de/blog/2024/07/29/enabling-hot-module-replacement-hmr-in-vite-with-nginx-reverse-proxy/</link><guid isPermaLink="true">https://aronschueler.de/blog/2024/07/29/enabling-hot-module-replacement-hmr-in-vite-with-nginx-reverse-proxy/</guid><description>A step-by-step guide on setting up Hot Module Replacement (HMR) in Vite with an NGINX reverse proxy, including configuration tips and best practices.</description><pubDate>Mon, 29 Jul 2024 00:00:00 GMT</pubDate><category>tutorials</category></item><item><title>Using Cloudflare Workers as a Proxy for Firebase Authentication</title><link>https://aronschueler.de/blog/2023/04/01/using-cloudflare-workers-as-a-proxy-for-firebase-authentication/</link><guid isPermaLink="true">https://aronschueler.de/blog/2023/04/01/using-cloudflare-workers-as-a-proxy-for-firebase-authentication/</guid><description>This blog post will guide you through the process of setting up Cloudflare Workers as a proxy for Firebase authentication, allowing any user to authenticate with the `signInWithRedirect` function. Without this, cross-domain cookie settings will prevent Safari and other browsers from signing in.</description><pubDate>Sat, 01 Apr 2023 13:41:49 GMT</pubDate><category>javascript</category><category>firebase</category><category>cloudflare</category></item><item><title>Mocking IntersectionObserver in Jest</title><link>https://aronschueler.de/blog/2022/12/14/mocking-intersectionobserver-in-jest/</link><guid isPermaLink="true">https://aronschueler.de/blog/2022/12/14/mocking-intersectionobserver-in-jest/</guid><description>This post describes how to mock IntersectionObserver, a layout helper which is not implemented when running tests with Jest + JSDOM.</description><pubDate>Wed, 14 Dec 2022 11:45:39 GMT</pubDate><category>tutorials</category></item><item><title>Meaningful Sentry issues with react-query + axios</title><link>https://aronschueler.de/blog/2022/12/16/generating-meaningful-issues-in-sentry-with-react-query-+-axios/</link><guid isPermaLink="true">https://aronschueler.de/blog/2022/12/16/generating-meaningful-issues-in-sentry-with-react-query-+-axios/</guid><description>This post shows how to enrich axios errors when using react-query and how to handle them on a global level.</description><pubDate>Fri, 16 Dec 2022 09:58:15 GMT</pubDate><category>tutorials</category></item><item><title>“Too many redirects” when using WordPress as container</title><link>https://aronschueler.de/blog/2021/12/29/too-many-redirects-when-using-wordpress-as-container/</link><guid isPermaLink="true">https://aronschueler.de/blog/2021/12/29/too-many-redirects-when-using-wordpress-as-container/</guid><description>WordPress in Docker can cause quite some headache. Especially the reverse proxy, which we need to pass through traffic from host to container. I struggled with a &quot;Too Many Redirects&quot; error, which can come from some different sources. </description><pubDate>Wed, 29 Dec 2021 23:55:13 GMT</pubDate><category>fixes</category></item></channel></rss>