RSSAmplifier

Blog

Akos Komuves

Explore web development tips, tutorials, and insights from Akos, a full-stack developer with over a decade of experience. Learn how to build, optimize, and deploy modern web applications, improve your coding skills, and stay up-to-date with the latest in tech.

akoskm.comRSS feed ↗107 posts

Latest posts

3 Hard-Won Lessons from Debugging RLM Prompts in Python

Learn how to avoid common RLM pitfalls: output parsing gotchas, why showing code beats instructions, and the bias to survive problem.

Adding Local Markdown Posts to Your Hashnode-Powered Astro Blog

Learn how to create a hybrid blog system in Astro that fetches posts from Hashnode's GraphQL API while also supporting local markdown files.

Wrong Type Imports Are Breaking Your Full-Stack React App

Learn how incorrect TypeScript type import syntax causes Vite bundler errors in Next.js apps with next-auth.

How to Use Cursor Commands to Write JIRA Ticket Descriptions

Learn how to automate JIRA ticket descriptions using Cursor Commands to preserve your research and things you've tried in the agent chat!

How to try OpenAI Codex without a Subscription

In this blog post, you’ll learn how to try OpenAI Codex right now with just a $5 one-time top-up on your existing ChatGPT account — no $20/month ChatGPT.

Next.js 16 is Here – Turbopack is Stable and the Default Bundler

Turbopack is now stable in Next.js 16, bringing 2–5× faster builds. Here's what changed, how to migrate, and my quick test on a real project.

Stop Making Your TypeScript Types So Broad

I’ll show you why broad TypeScript types hurt readability and how a bottom-up approach makes your code cleaner and clearer.

How to Build Your First MCP Workflow

Learn to create MCP prompts that orchestrate multiple tools. Complete tutorial builds a help center server with automated workflows.

Build an MCP server from scratch

Learn how to build a Model Context Protocol (MCP) server from scratch using stdio transport for client communication.

How to create npm template packages

In this blog post, I’ll show you how to create an “npm create” package, also called npm template repository, a starter template, or a scaffolding tool.

MCP, Model Context Protocol: A Simple Guide

Discover the basics of MCP, Model Context Protocol, and how it links AI assistants with tools and content repositories.

File Upload with Next.js 14 and Server Actions

Learn how to handle file uploads in Next.js 14 using Server Actions, simplifying backend integration directly in your React components

React Component Testing with Vitest's Browser Mode and Playwright

Learn how to test React components using Vitest's Browser Mode and Playwright for better reliability and visibility in real browser environments

Common useEffect Mistakes

Avoid `useEffect` mistakes: manage dependencies, include cleanup code, and consider alternatives for data fetching to enhance performance

How to solve ”variable is possibly undefined” in TypeScript - even when it’s defined

Learn how to solve the "variable is possibly undefined" error in TypeScript and avoid nesting with ternary operators in React

Next.js SEO: How to solve Duplicate, Google chose different canonical than user

Learn how to fix Next.js duplicate content issues in Google Search Console for better SEO and improve your site ranking effortlessly

A Full-stack Developer's Guide to Setting Up a New MacBook Pro

Explore a full stack developer's guide for setting up MacBook Pro with the most essential tools

React Router Vitest Example

In this blog post, I'll show you how to set up React Router 7, Vite 6, and Vitest 2 for testing React applications

Implementing Twitter Sign-In for Web Apps

Updates 2015-11-24: twitter-sign-in-example with scribe 2.0 In #560 we had a discussion with @fernandezpablo about the current state of the scribe-java API. There are couple of examples already for pin-based authorization, which is fine for desktop...

How to Run TypeScript in 2025: A Comparison of Node.js, Bun, and Deno

In this blog post, I show you how to run TypeScript in Node.js, Bun, and Deno and compare them using several factors to help you pick your next runtime.

How To Use rerender in React Testing Library

Learn how to use rerender from React Testing Library to test the effect of prop changes.

Simplify Your React States (without redux or extra libraries)

You can simplify React states without redux, and I'll show you how to do it through a real-world example.

Test complex DOM structures with React Testing Library

Optimize DOM Testing using React Testing Library for enhanced accuracy, maintainability, and precise UI targeting with specific queries and options

How to Create Resend Email Templates Using Astro

Learn to create and send email templates in Astro using the Resend API with this comprehensive guide

Free Keyword Research: My Method Explained

Uncover my keyword research method that boosted my blog's clicks; learn to rank articles using Google Autocomplete and Trends

How to Fix React Hydration Error in Astro

Learn to fix React Hydration Errors in Astro by using the client:only directive

How to Set Up a Telegram Bot for Real-Time Node.js Backend Notifications

Learn to set up a Telegram bot for instant Node.js backend notifications to enhance real-time event monitoring and productivity

Building an audio Transcription App with Next.js

Learn to build an audio transcription app using Next.js, OpenAI's API, TypeScript, and Tailwind

How to build a simple Magic-Link Sign-In with Next.js, Supabase, and Sendgrid

Learn to build a magic-link sign-in system using Next.js, Supabase, and SendGrid. Secure, passwordless authentication made simple

How to test React apps with Vitest and Vite

Learn how to set up and use Vitest for testing React apps with Vite, making your testing process simple and efficient

How to Connect Browser Extensions to Supabase

Today we'll learn how to use Supabase to add sign-up and sign-in to a browser extension.

How to Build a Simple File Browser with Tauri

Learn to build a simple File Browser using Tauri, React, and TypeScript with this step-by-step tutorial, complete with code and video guide

What's New in React 19: Action Hooks

One reason React remains the top framework is its ability to stay updated, address current challenges developers encounter, and act on them. Let's delve into the core features that are stirring excitement among developers. For each hook, I will expla...

How To Make HTTP Requests from Tauri

Learn to add HTTP requests in Tauri apps with Vite and React - a simple guide for desktop app development with HTTP support

Go is Great!

Explore Go's software development simplicity: minimal syntax, robust tools, programming fundamentals. Improve skills through real-world coding challenges

The right way to create utility functions in TypeScript

Utility functions are part of every project. You might organize them in folders called helper, lib, or shared, but their function is the same: They make sure your business logic stays consistent in your game. (Drop a like if you love the rhyme. 🤫🎤�...

A Brief History of Web Development

Taking a moment to appreciate where web development started for me and how amazing it is right now.

Your Guide to Testing React Components

Master React component testing with this guide on Enzyme-RTL conversion, prop testing, hooks, DOM structures, and optimization

Creating a CI/CD Pipeline with Docker and GitHub Actions: A Step-by-Step Guide

Learn to build CI/CD pipelines using Docker and GitHub Actions with this guide for seamless web development, automated testing, and efficient deployment

How to Publish Docker Images to Docker Hub with GitHub Actions

Automate Node.js deployment using GitHub Actions to build, push Docker images to Docker Hub, and run them

The Ultimate Full Stack Framework for 2024: Remix

Remix is a full-stack framework with seamless backend-frontend integration, fewer states, and web standards emphasis

How to clear form after submit in Remix

Optimize Remix form clearing with useActionData hook, HTMLFormElement's reset, and React's useRef, minimizing client-side logic

How to handle multiple form actions in Remix

Add name="intent" and value="actionName" to the button that submits the form. In the action, use formData.get("intent") to learn which button was clicked.

How to test props in React Testing Library

In this post, we'll learn how to test the props a React Function Component receives with React Testing Library and Jest. 2023 October update: the article got popular and I also found new ways to test component props, especially ones that don't strin...

Succeeding as a Software Developer: The Essential Mindset Shift

Essential mindset shift for developers: adopt growth mindset, learn from advice, contribute to community for lasting success

Understanding Jest Snapshots: A Beginner's Guide to Snapshot Testing

Get started with Jest Snapshots: beginner's guide to snapshot testing, usage, updates, and other React component testing techniques

How to Test Props in React with Jest

In our previous article, we explored how we can test React Component props by simply mocking the component and turning the props into strings: jest.mock("./Profile", () => ({ profileId }) => `This is Profile profileId:${profileId}` ); And then, in...

Keeping React Components Manageable: Dodge Overcomplication and Ensure Business Logic Stays in Place

Optimize React components by separating logic, simplifying, and ensuring adaptability for evolving SaaS UI and business needs

The Benefits of Writing Straightforward Code: Production Experiences

Optimize readability using concise syntax, self-explanatory code, and relevant comments; avoid complexity and focus on the problem

Why it's essential to give yourself some downtime

Harness break-taking to boost perspective, focus, self-awareness; conquer FOMO, prioritize well-being for lasting success