10× fewer lines
Forms, tables and charts are components you call, not code you write and keep alive.
DROP the busywork;-- real SQLPage components, a few lines each
-- pick a component
Actually rendered by
SQLPage, live
select 'text' as component, 'Customers' as title;
select 'table' as component, 'landing-customers' as id,
true as sort, true as search, 'status' as markdown;
select name, plan, status, seats, lower(status) as _sqlpage_css_class
from customers
order by id;
-- Suspiciously few files.
Yes, that's the app.
-- Low maintenance, on purpose.
You need a webapp,
but you don't want to maintain a webapp. Build it, or let your coding agent do it. Don't maintain 1000 lines of code.
-- The yak stays unshaved.
-- App maintenance is not a hobby.
-- What do you have to maintain?
-- 5 layers, all yours.
Forms, tables and charts are components you call, not code you write and keep alive.
DROP the busywork;All state lives in the database. Scale by adding servers, deploy by copying files, restart whenever you like.
Small, declarative SQL files are easy for a coding agent to write and easy for you to review. Robots welcome. Humans too.
Bring your own robot.Agent not included.You're still the boss.You already back it up, secure it and keep it healthy. That is the maintenance. The app just reads and writes.
-- Your files. Your deployment.
-- read, edit, and act.
-- forms, tables, charts, and navigation.
-- Tables with manners. CRUD, but polite.
The good old way works. So does a very lightweight Docker image.
Forks encouraged. · Batteries included. Strings unattached.
HTML streams to the browser while the database is still working.
sql-page.com/performancetypical app (illustrative)
SQLPage
The common attacks are handled for you.
sql-page.com/safety-- "1; DROP TABLE users;" is just a string here
SELECT * FROM your_database;
We're seeing other databases. A healthy relationship model.
-- A tool for them. Not a second job for you.
DELETE busy;
-- NULL drama.