Most developers think AI assistance begins and ends with autocomplete suggestions. But after building everything from complete web applications to voice interfaces using AI tools, I've discovered workflows that transform how we approach development entirely. This isn't about replacing human skills - it's about augmenting them to tackle more ambitious problems, learn faster, and ship better software. Whether you're skeptical about AI or already using basic tools, here's your roadmap from simpl...| iO tech_hub
I set out to make my mornings easier and build something fun: a personal running coach that lands in my inbox at 6am. Using n8n Cloud to orchestrate APIs, Cursor to generate the workflows and code nodes, and Gemini to turn weather data into clear coaching advice, I wired up a simple scoring model, friendly analysis, and a nicely styled email (yes, the AI handled the email CSS). This is a practical walkthrough of the approach—less handwritten code, more connecting services—what worked, wha...| iO tech_hub
Create a dynamic animated particle background using the HTML5 Canvas API| iO tech_hub
AI tools like Cursor and GitHub Copilot can do way more than just generate code. I've been exploring how to use them for documentation, commit messages, code reviews, and other workflow tasks that often get skipped. Here are some practical ways to expand how you use AI in development beyond the usual code generation.| iO tech_hub
My personal experiences after completing the IAAP Certified Professional in Accessibility Core Competencies exam.| iO tech_hub
Before the relative color syntax you had to rely on CSS variables or even worse: JavaScript to modify the parameters of a color. Using the from keyword the browser can convert the originating color to different color spaces and change the color properties.| iO tech_hub
The most exciting feature of Angular 17 might be Deferrable Views. It makes it possible to lazy load specific Angular standalone components or show a placeholder as the component is loading. It seems like this feature should go well with Skeletons. Stay around to find out.| iO tech_hub
The Coven of Wisdom Eindhoven meetup on Nov. 16th, in partnership with AWS and the amazing Samuel Sopeju from AWS, was a total blast! The goal was simple: dive headfirst into the deep end of machine learning using Amazon SageMaker. And we did just that!| iO tech_hub
On October 26th, the Coven of Wisdom held its CSS meetup in Eindhoven. To really allow going deep on CSS and Web UIs, we invited 2 heavy hitters regarding these domains, Brecht De Ruyte en Hidde de Vries.| iO tech_hub
Transform your web app with two lines of code – create seamless animated interactions using the View Transitions API.| iO tech_hub
In this article, we are going to talk about different JS module systems, such as CommonJs, AMD, UMD, and ES Modules.| iO tech_hub
Proficiency in the terminal enhances efficiency and opens up a world of opportunities with handy tools and quick commands.| iO tech_hub
There are multiple ways to speed up unit tests development in Angular. Let me show two of them using the NG-Mocks library.| iO tech_hub
Unit tests are an essential part of software development. Tests help you to ensure that the code works as you expect. It takes time to create all necessary tests. But there is a way to generate them.| iO tech_hub
To use order on one element means using order on each of its siblings, too.| iO tech_hub
The TypeScript implementation of the `using` and `await using` declarations from the TC39 Explicit Resource Management proposal, which is currently at Stage 3| iO tech_hub
Two simple guidelines is all it takes to prevent rampant spacing issues from turning your expertly crafted project into an endless game of whack-a-mole.| iO tech_hub
Application state can make any application complex real quick. Let’s have a look at Finite State Machines in Javascript to resolve some of these complexities.| iO tech_hub
A small go-through to explore Kubernetes, Helm and Terraform| iO tech_hub
Explore the advantages of IndexedDB over the Web Storage API as a more efficient and sophisticated alternative for storing structured data on the client, eliminating the need for repetitive JSON parsing and stringifying operations.| iO tech_hub
Write code for human beings to improve developer experience, readability and maintainability| iO tech_hub
In general, developers don't find writing CSS the most fun part of software development. Although, in my opinion, Tailwind CSS makes it fun and efficient!| iO tech_hub
Defining a good structure for your theme, components, and files is key to maintaining code for multiple brands. If you're coding multiple applications within one shared codebase, these guidelines will help you out.| iO tech_hub
As developers, we aim to be as efficient as possible. That's why we will explore six tips to boost your productivity in Visual Studio Code (VSCode). These tips will help you save time and reduce the need for excessive clicking. Let's dive in!| iO tech_hub
In this article, we will look at how you can make your GitHub profile stand out from the crowd.| iO tech_hub
Traditionally, developers have used build tools like Webpack or Rollup to bundle and optimize their code for production. These build processes can be time-consuming to set up and make development more complicated. With native JavaScript modules now widely supported in modern web browsers, there is a need to map JavaScript packages to their source files.| iO tech_hub
We have seen how the industry has continuously raised the level of abstraction to allow developers to spend more time delivering functionality and less time writing low-level infrastructure. Even though JavaScript is the most versatile programming language on the planet, we still have a long way to go.| iO tech_hub
Learn how to keep your component libraries simple, easy to use, and adaptable to many use cases by leveraging Inversion of Control through Compound Components.| iO tech_hub
Cross-platform software development is hard. Each platform has its specific implementation of an API and you end up with separate apps for each platform. Multiple frameworks try to fix this issue by creating an abstract between the platform and the application. Browser vendors are doing the same and it's called Project Fugu.| iO tech_hub
The View Transitions API has landed in Chrome. Let’s have a look at how the API works and why it will change the feel of the web.| iO tech_hub
Advent Of Code is a set of puzzles that will test your problem-solving skills using your favourite programming language. You do not need extensive programming skills, but the knowledge of some standard algorithms is a pre. Plus, it is a lot of fun and a very exciting way to challenge yourself.| iO tech_hub
This article contains a guide to building an accessible main navigation of a website in 5 steps. The key takeaways of this guide are HTML semantics, WAI-ARIA, CSS, and JS for accessibility.| iO tech_hub
| iO tech_hub
An incredibly powerful API exists to access the local file system of a user. Let’s have a look at how this works and why this could be interesting for your next project.| iO tech_hub
Firebase Functions is a powerful tool that allows developers to build and run backend code for their applications.| iO tech_hub
Because the OpenAPI specification is a specification, just like the EcmaScript, HTML or CSS specification, we can reliably build tooling upon it. This tooling allows us to optimise our OpenAPI workflows and let us save precious time.| iO tech_hub
How would you incorporate OpenAPI within your project? In this chapter, we'll explore the two main approaches to using OpenAPI and the benefits of each workflow.| iO tech_hub
With Server-sent events, you don't need to ask the server if an event has happened. SSE is sent when the server wants to.| iO tech_hub
OpenAPI allows us to improve effeciency between teams and interdependent projects. It allows us to describe our API in a single document. In this part of the series, we will take you through the most important parts of an OpenAPI document.| iO tech_hub
An exploration of Kotlin and coroutines to have a Spring reactive application written in direct style| iO tech_hub
This 2-part article is about going from a traditional MVC-style Spring Boot application written in Java to a modern, functional, reactive Spring Boot application using Kotlin and Coroutines.| iO tech_hub
To optimize project effeciency and to ensure a good communication between teams, we need contracts for our APIs. In this article, I will explain what the OpenAPI specification is and how it can help us to create contracts for our RESTful APIs.| iO tech_hub
Writing code in a functional way can help to solve complex problems in a efficient and in a reusable manner, for creating clean and maintainable software.| iO tech_hub
I’ve wanted to implement dark mode for quite a while now. But, I just didn’t want to ship a part of it. I had to include a perfect dark theme, together with the perfect accessible toggle. However, two things have happened last month that changed my perspective on this approach.| iO tech_hub
| iO tech_hub
When it comes to creating websites, performance is crucial, but how do you achieve a performant website? This is why Astro was created; let's look at how it works and why it's so effective.| iO tech_hub
| iO tech_hub
In the previous part of this article, I tried to tickle your brain a bit to unleash your curiosity and drive your determination to try some new CSS features today. That's exactly what I'll be doing in this part, writing some new stuff today so you can slowly polish new CSS skills very sneaky and hidden in the code, like a ninja.| iO tech_hub
Unless you have no affinity with CSS at all or have been living under a rock for the last year, you should have noticed that new CSS features are skyrocketing like never before. Although this is a good thing, it might get frustrating to get a grasp on all these new playthings because every time you add something new in your styling toolbox, the next best thing is just around the corner.| iO tech_hub
Ever since the introduction of Bun there are three runtimes to choose from when wanting to develop and run a JavaScript server. Node was the one that started it all and most applications are designed to run on that, but how would those applications fare running on the other runtimes, are they really a drop-in replacement?| iO tech_hub
A big part of working with React.js is fetching data and displaying the results. Let’s see how the new React.use() hook can can help you!| iO tech_hub
Let’s have a look at how you can better structure your CSS layers with CSS Cascade Layers!| iO tech_hub
API Management helps organizations publish APIs to external.| iO tech_hub
Chrome now offers built-in, on-device AI APIs for summarization, translation, and language detection without the use of cloud required.| iO tech_hub
Discover how I built a complete breathing exercise web app without touching a single line of code, using AI to transform an idea into a fully functional product. What was good, what was bad and is this where we are heading in our industry?| iO tech_hub
The simplest way to create interactive 3d experiences| iO tech_hub
No more manual type generation! In this article, I'll show you how to generate types based on a OpenAPI (Swagger) file using a simple npm package.| iO tech_hub
Identifying and avoiding bad coding practices, and refactoring them into clean, elegant, self-explanatory code| iO tech_hub
It’s been a few years since the Interop initiative was set in play. This has historically been one of the key elements in moving the web forward as it aims for a consistent web between browser vendors. In contrast to the “old days browser wars”, we as developers get streamlined features without having to check everything in every browser. The features of Interop 2025 are now known, features to be made stable across browsers by the end of the year. In this article, we’ll take a look at...| iO tech_hub
As part of being a Google Developer Expert, I’m fortunate to be able to join certain Google events to connect, learn and share. The past week I was invited to Google Paris for three days of everything around AI and Cloud. Here’s a short recap with interesting things I heard and what inspired me!| iO tech_hub
Modern web applications require effective state management solutions, but choosing between Redux, Zustand, Nano Stores, Context API, Recoil, Jotai, and other options can be overwhelming. Let's compare some of these state management tools based on complexity, performance, developer experience, and use cases to help you select the right one for your specific project needs| iO tech_hub
Recently, our Java team embarked on an exciting journey into the world of Kubernetes, exploring its capabilities and potential for enhancing our development and deployment processes. This "Google Day" initiative allowed our team members to dive deep into Kubernetes, experimenting with advanced deployment techniques like A/B testing and Canary releases. Here's a recap of our adventures and discoveries.| iO tech_hub
WebLLM runs in browser to allow Models to be more accessible inside the browser and fully client side! With the evaluation of AI technologies, it is expected that WebLLM will be an important part of future applications.| iO tech_hub
Learn essential best practices for writing clean and effective unit tests in JavaScript. From using descriptive test cases to following the Arrange-Act-Assert pattern, discover how to enhance your testing practices for better code quality and maintainability.| iO tech_hub
No matter which tech stack you use, automating your deployment process can save you time and headaches. Let's see how to use Github Actions to automate your frontend deployments to AWS S3.| iO tech_hub
I had the pleasure of attending the performance.now() conference in Amsterdam. Here are some of the highlights from the event.| iO tech_hub
In today’s digital age, many websites remain inaccessible to individuals with physical or cognitive disabilities. However, there are numerous accessibility tools available to help audit and improve your web content, ensuring accessibility for everyone.| iO tech_hub
Fed up with AI that makes up facts and can't keep up with your latest data? That's where RAG (Retrieval-Augmented Generation) comes in – the clever technique that's changing how we build AI applications that actually work.| iO tech_hub
In this article, I explain how being a person of integrity has helped me. I share my experiences and tips to help you on your journey towards integrity in both personal and professional life.| iO tech_hub
Let's see how Next.js Multi Zones can make building micro frontends a breeze.| iO tech_hub
Exploring React Native for cross-platform apps as a front-end developer, finding strengths in familiarity and challenges in styling and native feel.| iO tech_hub
Let's have a look at React Portals and how they can help you in a pinch.| iO tech_hub
How the components of the chat system communicate, and what are the specifications of the chat API.| iO tech_hub
Looking at CSP Manager that lets you control the CSP from Umbraco| iO tech_hub
Step into a (very near) future where you can control animations with pure CSS and without the need for any JavaScript? In this article, I'll show you how to control your animations with the new CSS properties scroll-timeline and animation-timeline.| iO tech_hub
How can we use the Web Audio API to create a working realtime turntable? Read my approach and how you might make your own!| iO tech_hub
How to set up Umbraco CMS using Docker containers| iO tech_hub
Looking at two packages that show your blocks in the backend for a better content experience| iO tech_hub
We finally have (experimental) View Transitions for Multi-page Apps (MPA)! Let’s explore why this is cool and how we can use it.| iO tech_hub
In this blog, I share my experience of learning Kotlin, Kafka, and Docker while building a Spring-boot application. Join me on this journey as I explore these technologies and provide insights into my project approach, technology integration, and what i like to call the minimum business logic approach.| iO tech_hub
How do you take full advantage of GitHub when you deploy to Vercel? Let GitHub Actions take care of your pipelines and let Vercel do the hosting.| iO tech_hub
An introduction to the chat system, including the design and implementation of its authorisation server.| iO tech_hub
This article approaches logical operators from a practical perspective by giving more real-life examples and describing guidelines on when to use what.| iO tech_hub
A quick look at the Umbraco package Accessibility Reporter. What is it and how does it work?| iO tech_hub
In a single threaded environment Web Workers allow for offloading intensive tasks to keep the main thread free and responsive.| iO tech_hub
Learn some Kotlin basics and how to easily use coroutines to write parallelized code cleanly according to structured concurrency.| iO tech_hub
Another year, another CSS Day. I’m always happy to return to Amsterdam for this occasion, It’s one of the things I look forward to every year. So naturally, I’m happy that iO still allowed me to go there with my training budget, and the least I could do, is write a summary of this event on the tech_hub.| iO tech_hub
How to keep live editing support with Storyblok's full React Server Components approach for Next.js| iO tech_hub
Dive into the browser standard of securing login and authentication using the WebAuthn browser API| iO tech_hub
TensorFlow.js is an incredibly powerful JavaScript library for training and deploying machine learning models in the browser and Node. js. Let’s explore this library by building a teachable machine!| iO tech_hub
You want to try out Cloud Firestore as a database solution? Here are five insights I wish I knew before starting with Firestore's NoSQL database.| iO tech_hub
Oh my, usually when writing a series like this, people tend to leave the best for last, but in this case, it seems that the best is behind us. But as I am a completionist, this last part of the CSS Units series will be about absolute units, the units you mostly - absolutely - want to avoid. But can help in certain cases.| iO tech_hub
A large part of adding interactivity to your applications is through forms. Single Page Applications SPAs have not always handled this part the best. Let’s have a look at how we can use React.js Server Actions to handle your forms progressively enhanced.| iO tech_hub
In the third part of this series, we’ll look at length units based on the container. Yes, you heard that right, we can finally get some measurements based on a containing element and that just spells awesome in my book. Currently available in all evergreen browsers, these units open up a lot of opportunities to create some smart systems and once again, I will write this up packed with a bunch of demos and cool use cases.| iO tech_hub
In this second part of the series, let’s talk about units based on the viewport also known as "the viewport-percentage length units". A lot of developers know these, but they can create some unexpected behavior, especially in combination with scrollbars and mobile behavior. Based on some articles and videos I picked up on the web from time to time, I'd like to explain some of the common pitfalls when using viewport units.| iO tech_hub
As developers and designers, we make a plethora of design decisions while building a website. We try to cater to everybody, but that is an impossible task. So how can we listen to some of the preferences of our users?| iO tech_hub
There are a lot of CSS units available at the moment and we mostly still rely on pixels and (r)ems for our sizing and fonts. I say it’s time to do a little freshening up. Instead of writing a list of which units are available in CSS that you can easily find on MDN as well, I thought I’d give some examples of where they could come in handy. I will create a mini-series out of this and for the first part, let’s start off with relative length units based on font.| iO tech_hub
AI-powered speech synthesis is getting incredibly realistic. This opens up many possibilities to generate realistic audio based on the text you provide. Whilst relatively fast, the latency still isn’t low enough for “real-time synthesis”. Let’s optimise that!| iO tech_hub
How can I improve the way someone interacts with ChatGPT? How can I make it feel more natural than a dreadful “chatbot”? Can I create something cool? Those were some of the questions I asked myself recently while starting a two-day hackathon at iO. I’ll take you through what I build, how, and most importantly, why.| iO tech_hub