kim.simplineers.se — en teknikdemo från Simplineers
Sidan du tittar på är en komplett webbapplikation — HTTP‑server, databas, gränssnitt och typsnitt — kompilerad till en enda fil på 12,5 MB. Ingen container, ingen CDN, inget JavaScript‑ramverk, ingen cookiebanner. Bara Go, HTMX och SQLite bakom Caddy.
Panelen nedan hämtas om var tredje sekund direkt från Go-processen. Ingen JavaScript-kod är skriven för det här — bara två HTML-attribut.
Läser av servern …
receptet<div hx-get="/partial/stats" hx-trigger="load, every 3s">
Formuläret postar till servern och svaret — ett färdigrenderat HTML-fragment — sätts in överst i listan. Inget bygge, ingen JSON, ingen state-hantering i klienten. Inlägget lagras i en SQLite-fil på servern: ingen IP-adress, inga kakor, bara det du skriver. De 200 senaste inläggen behålls.
Päronsoda
Ostron
Vitlök
receptet<form hx-post="/entries" hx-target="#gb-list" hx-swap="afterbegin">
Sök bland Sveriges 60 största kommuner, seedade i tabellen kommuner. Varje tangenttryckning (med 250 ms debounce) blir en SQL-fråga på servern — svarstiden står under resultatet.
60 kommuner väntar i databasen — börja skriva så söker servern medan du skriver.
receptet<input hx-get="/partial/search" hx-trigger="input changed delay:250ms">
Poängen är inte att verktygen är exotiska — det är att de är få. Varje del av en stack är något som ska uppgraderas, säkras, övervakas och förklaras för en revisor. Det här är hela listan:
| En vanlig stack | Den här sidan |
|---|---|
| SPA-ramverk + byggpipeline | HTMX — 49 kB, serveras ur binären |
| Databasserver att drifta | SQLite — en fil på disk |
| Runtime + paketträd (~200 MB) | En statisk Go-binär (12,5 MB) |
| Containerorkestrering | systemd — en unit-fil på 15 rader |
| CDN, fonter och skript från tredje part | Allt från samma server — CSP utan undantag |
| Cookiebanner + samtyckeslogik | Inga cookies, inget att samtycka till |
go build → kopiera en fil → systemctl restart. Klart på sekunder, trivialt att rulla tillbaka.demo.db. Återställning är samma sak baklänges.curl -s https://kim.simplineers.se/partial/search?q=lund