SQLPage is a SQL-first web application builder that allows you to create data-driven pages using only SQL. No knowledge of traditional web development languages is required.
The platform is compatible with SQLite, PostgreSQL, MySQL, Microsoft SQL Server, and compatible databases such as YugabyteDB or MariaDB. You can use simple SQL queries to display data through text, lists, tables, and charts, or to process user input via forms.
Components
To define how your data is displayed, set the component field in your SQL query. Available options include list, chart, form, tab, card, and several others.
Example:
SELECT 'list' AS component, 'Popular websites' AS title;
SELECT name AS title, url AS link FROM website;
Dynamic Interactions
You can capture user input through URL parameters such as $tab or $todo_id. This enables you to filter data or process form submissions on the fly.
SELECT * FROM todos WHERE id = $todo_id;
INSERT INTO user (first_name, last_name, birth_date)
SELECT $first_name, $last_name, $birth_date
WHERE $first_name IS NOT NULL;
Deployment Options
Binary – Download the release for your operating system, extract it, and run the file.
tar -xzf sqlpage-*.tgz && ./sqlpage.bin
Docker – Use the official image and mount your local SQL files to the container.
docker run -it --name sqlpage -p 8080:8080 --volume "$(pwd):/var/www" --rm lovasoa/sqlpage
Homebrew (macOS)
brew install sqlpage
Serverless – SQLPage can be compiled for AWS Lambda. You can use Docker to build the project and generate a deployable ZIP archive.
Configuration
Settings can be managed via a sqlpage.json file or environment variables such as DATABASE_URL and LISTEN_ON. You can enable HTTPS with automatic certificate management by configuring the SQLPAGE_HTTPS_DOMAIN variable.
.handlebars files or the dedicated html component.Data Dashboards
To create an area chart showing quarterly revenue:
SELECT 'chart' AS component, 'Quarterly Revenue' AS title, 'area' AS type;
SELECT quarter AS x, SUM(revenue) AS y FROM finances GROUP BY quarter;
Card Layout with Tabs
SELECT 'tab' AS component, true AS center;
SELECT format('Show %s cards', color) AS title, format('?tab=%s', color) AS link FROM tab_example_cards GROUP BY color;
SELECT title, description, color FROM tab_example_cards WHERE $tab IS NULL OR $tab = color;
Forms – Define a user registration form and handle the data insertion:
SELECT 'form' AS component, 'User' AS title, 'Create new user' AS validate;
SELECT name, type, placeholder, required, description FROM user_form;
INSERT INTO user (first_name, last_name, birth_date)
SELECT $first_name, $last_name, $birth_date
WHERE $first_name IS NOT NULL;
File Uploads & Authentication – Visit the official GitHub repository for detailed examples regarding image galleries and user management systems.
index.sql file containing a basic query (e.g., a list or a chart).http://localhost:8080 in your browser.SQLPage removes the traditional obstacles to web development. If you understand SQL, you have the tools to build and deploy web applications. It is a practical solution for validating new ideas or shipping internal tools quickly.
GRAG: Continuous Image Editing Control for DiT Models
DeepSeek-OCR: High-Speed Visual Text Compression That Actually Works
Sunshine Streaming Host Specs: What Hardware You Actually Need
openAgent: Open Source Enterprise AI Platform With RAG and Agent Workflows
Strapi Setup Guide: Local Development & Cloud Deployment
Yazi: A High-Performance Terminal File Manager Built in Rust
CodeIndexer: Semantic Code Search for IDEs (AI-Powered)
Kodi Setup Guide: Building a Powerful Media Center on Any Device
Gmail AutoAuth MCP Server: Control Gmail via Claude Desktop
Motionity: Free Online Animation Editor with Keyframes and Masks
MCP SuperAssistant: Bring MCP Tools to ChatGPT, Gemini, and Beyond
PDF to Scanned Look Instantly – No Scanner Required