Building a ChatGPT-based AI bot using Spring Boot, React, and Hilla

In this article, we'll build a custom AI chatbot application using Hilla, Spring Boot, React, OpenAI (ChatGPT), and Pinecone. The chatbot is designed to answer Vaadin Flow and Hilla development questions using up-to-date documentation as reference material. My earlier blog post details the concept. ...
Liukuri is a web app built with Vaadin to help navigate electricity price fluctuations in Finland during the current energy crisis.

Built with Vaadin: Navigating changing electricity prices in Finland with Liukuri

Liukuri is a web app visualizing the current electricity prices and sources inspired by exceptionally high electricity prices in 2022. In addition, it also features an electricity cost calculator with which you can determine how much your electricity consumption in Finland has cost based on actual ...
Five tips for optimizing memory usage in your Vaadin application

5 tips for optimizing memory usage in your Vaadin application

In my recent blog post, where I showed you how to estimate or measure the memory consumption of your Java application, I promised to provide some simple tips for optimizing your application’s memory usage. Some of the following tips are Vaadin-specific, while others are applicable to JVM services ...

Setting up Tailwind CSS in a Hilla project

Hilla uses the Vaadin Lumo design system that comes with a set of simple of utility classes for common styling tasks. If you need more advanced functionality, like support for responsive layouts, you can easily switch to using the more comprehensive Tailwind CSS library. Here are the steps to set ...
How many users can you host per node?

How many users can you host per node with Vaadin Flow? Let’s do the math!

Servlet session size has been a myth for ages. Many Java developers tend to religiously avoid storing anything in session because somebody at Google said that shouldn’t be done. With Vaadin Flow, that is the root of all goodness. The pure Java development model, the productivity, and the simplicity ...

Lazy Loading data grid in React tutorial

In this tutorial, we will implement a grid data provider to enable lazy loading in a React data grid using the Vaadin Grid component. Lazy loading helps us efficiently load large datasets by fetching only the required data as the user scrolls through the grid. This tutorial is based on Hilla 2.0 ...

Simplified Theming in Vaadin 24

Vaadin 24 introduces a simplified approach to styling Vaadin components based on the ::part() selector. It removes the need for component-specific stylesheets, simplifies many common use cases, and is fully based on native CSS. New theming documentation, including CSS selector references for ...
Hilla FAQ

Your frequently asked Hilla questions answered

I had the pleasure of speaking about Hilla at four events in January: Boulder JUG, Denver JUG, Utah JUG, and a webinar hosted by Vaadin. It was a great opportunity to connect with developers in person and get their initial reactions to Hilla. The feedback developers shared was overwhelmingly ...
Kotlin and Vaadin

Kotlin and Vaadin for productive and fun web app development

Kotlin is a programming language that has gained much popularity over the last few years. Its concise and expressive syntax feels liberating compared to the verbosity of Java. Vaadin supports the Kotlin programming language through the Karibu-DSL library, which contains various extensions to use ...