Live · Pure OcaltQL · Zero frameworks

One language.
Entire stack.

OcaltQL is a verb-first execution language that replaces twenty SDKs. Web, data, media, compute, crypto, maps, calendar — all the same grammar.

Everything. One grammar.

No wrappers, no SDKs, no compile step. Just verbs that read like English and execute across the whole stack.

W

Web and UI

Generate full HTML documents, native UX components, forms, AJAX, sessions and cookies — all from verbs.

DB

Databases

Native tables, typed columns, INSERT / SELECT / UPDATE with natural WHERE clauses. No SQL dialect.

#

Crypto and Compute

SHA hashes, AES encryption, UUIDs, Fibonacci, factorial, primes — pure verbs, zero libraries.

T

Time and Calendar

Date arithmetic, timezone conversion, recurring events, reminders — all first-class.

G

Geo and Network

GeoIP of every visitor, DNS lookups, maps, weather, currency — one grammar.

3D

Media and 3D

Images, video, audio, CAD, parametric modeling, rendering — still the same language.

Running right now

These values were computed on the server when you loaded this page. Pure OcaltQL — no client-side code needed.

Server timeMonday, October 26 2026 8:9
Your location (GeoIP)Columbus, United States
Fibonacci(18)2584
12!479001600
sqrt(144)12
SHA-256 (first 16)1207f3c75a687871

Reads like English

Every statement starts with a verb. Chain with AFTER. Capture with SET. That is it.

NEW HTML SET ?page OPEN HTML "h1" TEXT "Hello from OcaltQL" AFTER HTML "p" TEXT "No frameworks required." CLOSE AFTER EMIT ?page
NEW DB "shop" AFTER NEW TABLE "orders" IN DB "shop" COLUMNS ADD "id" TYPE NUMBER AUTOINCREMENT PRIMARY AND ADD "item" TYPE STRING REQUIRED AFTER INSERT INTO DB "shop" TABLE "orders" ROW "item" AS "widget" AFTER SELECT ROWS FROM DB "shop" TABLE "orders" SET ?rows
STRING "secret payload" SET ?data AFTER GENERATE HASH FOR ?data AS sha256 SET ?hash AFTER ENCRYPT ?data WITH "my-key" AS aes256 SET ?cipher AFTER DECRYPT ?cipher WITH "my-key" AS aes256 SET ?plain AFTER EMIT ?plain
NEW DATE AND TIME SET ?now AFTER GET ?now DAY FULLNAME SET ?dayName AFTER CALCULATE ?now + 7 DAYS SET ?nextWeek AFTER NEW EVENT "Launch" ON "2026-10-01" FROM "10:00" TO "11:00" REMIND 30 MINUTES BEFORE