diff --git a/frameworks/helidon/Dockerfile b/frameworks/helidon/Dockerfile
new file mode 100644
index 00000000..a07b084c
--- /dev/null
+++ b/frameworks/helidon/Dockerfile
@@ -0,0 +1,19 @@
+FROM maven:3.9-eclipse-temurin-25 AS build
+WORKDIR /app
+COPY pom.xml .
+RUN mvn dependency:go-offline -q
+COPY src ./src
+RUN mvn package -DskipTests -q
+
+FROM eclipse-temurin:25-jre
+WORKDIR /app
+COPY --from=build /app/target/helidon-httparena.jar app.jar
+COPY --from=build /app/target/libs ./libs
+EXPOSE 8080
+ENTRYPOINT ["java", \
+ "-server", \
+ "-XX:+UseZGC", \
+ "-XX:+UseNUMA", \
+ "-XX:+AlwaysPreTouch", \
+ "-cp", "app.jar:libs/*", \
+ "com.httparena.Main"]
diff --git a/frameworks/helidon/meta.json b/frameworks/helidon/meta.json
new file mode 100644
index 00000000..80ea05d6
--- /dev/null
+++ b/frameworks/helidon/meta.json
@@ -0,0 +1,21 @@
+{
+ "display_name": "helidon",
+ "language": "Java",
+ "type": "framework",
+ "engine": "Níma (Virtual Threads)",
+ "description": "Helidon SE 4.4 on Níma WebServer with Java 21 virtual threads, Jackson for JSON.",
+ "repo": "https://github.com/helidon-io/helidon",
+ "enabled": true,
+ "tests": [
+ "baseline",
+ "pipelined",
+ "limited-conn",
+ "json",
+ "upload",
+ "compression",
+ "noisy",
+ "mixed",
+ "async-db",
+ "static"
+ ]
+}
diff --git a/frameworks/helidon/pom.xml b/frameworks/helidon/pom.xml
new file mode 100644
index 00000000..8eea0154
--- /dev/null
+++ b/frameworks/helidon/pom.xml
@@ -0,0 +1,62 @@
+
+
+ 4.0.0
+
+ io.helidon.applications
+ helidon-se
+ 4.4.0
+
+
+ com.httparena
+ helidon-httparena
+ 1.0.0
+ HttpArena Helidon SE
+
+
+ com.httparena.Main
+ 2.18.3
+
+
+
+
+ io.helidon.webserver
+ helidon-webserver
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+ org.xerial
+ sqlite-jdbc
+ 3.47.2.0
+
+
+ com.zaxxer
+ HikariCP
+ 6.2.1
+
+
+ org.postgresql
+ postgresql
+ 42.7.5
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-libs
+
+
+
+
+
+
diff --git a/frameworks/helidon/src/main/java/com/httparena/Main.java b/frameworks/helidon/src/main/java/com/httparena/Main.java
new file mode 100644
index 00000000..0fa6c629
--- /dev/null
+++ b/frameworks/helidon/src/main/java/com/httparena/Main.java
@@ -0,0 +1,386 @@
+package com.httparena;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.zaxxer.hikari.HikariConfig;
+import com.zaxxer.hikari.HikariDataSource;
+import io.helidon.http.HeaderNames;
+import io.helidon.http.HeaderName;
+import io.helidon.http.Status;
+import io.helidon.webserver.WebServer;
+import io.helidon.webserver.http.HttpRouting;
+import io.helidon.webserver.http.ServerRequest;
+import io.helidon.webserver.http.ServerResponse;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.InputStream;
+import java.net.URI;
+import java.nio.file.Files;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.zip.Deflater;
+import java.util.zip.GZIPOutputStream;
+
+public class Main {
+
+ private static final ObjectMapper MAPPER = new ObjectMapper();
+ private static final HeaderName SERVER_HEADER = HeaderNames.create("Server");
+ private static final HeaderName CONTENT_TYPE = HeaderNames.CONTENT_TYPE;
+ private static final HeaderName CONTENT_ENCODING = HeaderNames.CONTENT_ENCODING;
+ private static final HeaderName ACCEPT_ENCODING = HeaderNames.ACCEPT_ENCODING;
+
+ private static final String DB_QUERY =
+ "SELECT id, name, category, price, quantity, active, tags, rating_score, rating_count FROM items WHERE price BETWEEN ? AND ? LIMIT 50";
+
+ private static List