Integrating Pinecone Vector Database into a Spring Boot Application

Dive into the process of integrating the Pinecone Vector database with a Spring Boot application using Java in this second installment of the Building an AI chatbot in Java series. Prerequisites The article assumes you have a Spring Boot application. The example project is a Spring Boot application ...

Deploying a Spring Boot app as a native GraalVM image with Docker

July 14, 2023 Marcus Hellberg Deploying a Spring Boot app as a native GraalVM image with Docker In this final part of the Building an AI chatbot in Java series, we will deploy the Spring Boot AI chatbot application we've built as a GraalVM native image. Requirements The instructions in the article ...

Enhancing ChatGPT with Prompt Engineering and Token Counting in Java

This article is part three of the Building an AI chatbot in Java series, where we're building 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 ...

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 ...