Charles Jackson
Statement

Charles Jackson · Automation engineer · Montréal, QC

I build systems that keep running after I close the laptop.

Forecasting kernels, agent platforms, and scheduled data planes — built so the work continues on a clock rather than on my attention. Six of them are running right now. The index is below.

SpecifyScheduleRun unattendedGradeCorrect
Fig. 00 — MethodEvery work below is drawn this way

Index of works

6 built · 4 public
  1. 01Polypredict2025—Public forecasting instrument
  2. 02Digital Twins2026—Agent platform
  3. 03DataBay2026—Data marketplace
  4. 04Predictive2024—AI product studio
  5. 05MicroHabitat2025—Client platform
  6. 06Invoice Studio2025—Billing and tax engine
01Live · 2025—

Polypredict

polypredict.gg

Public forecasting instrument

A forecaster that never sees the price.

Runtime
Python · FastAPI
Data
Supabase Postgres
Schedule
Vercel cron · 3 jobs daily
Reporting
Slack digests, unprompted

Polypredict puts its own probability on every live prediction market before it looks at what the market thinks, so a disagreement is an opinion rather than an echo. Every call is written down, graded when the event resolves, and kept where anyone can check it. Three scheduled jobs run the whole thing without me: one takes the day's forecasts, one grades yesterday's against what happened, one folds the result back in.

Snapshot 09:00Resolve 09:30Harvest 10:00Aggregate
Fig. 01 — Operating loopDaily · 3 scheduled jobs
Polypredict — a price-blind probability on every live prediction market, shown against the market
Pl. 01polypredict.gg
02Live · 2026—

Digital Twins

digitaltwins.world

Agent platform

Agents that keep a memory when nobody is watching.

Runtime
Next.js on Cloudflare Workers
State
Durable Objects · Supabase
Schedule
Worker cron trigger, nightly
Posture
Fail-closed without its secret

You set a persona, a mandate, and the boundaries; the twin holds the thread and can negotiate with other people's twins inside them. The part that makes it work happens offline. Every night the worker wakes on its own schedule, sweeps the last thirty-six hours of episodic memory, and consolidates it into something semantic — so the twin is sharper in the morning than it was at midnight.

WakeConverseConsolidate 07:00 UTCSleep
Fig. 02 — Operating loopDaily · 36h look-back
digitaltwins.world — a faithful digital you: identity, memory, and the way you decide
Pl. 02digitaltwins.world
03Live · 2026—

Data marketplace

Every fact carries two clocks.

Runtime
Next.js on Cloudflare
Data
Postgres · bitemporal schema
Access
Keyed API · metered
Guarantee
No silent overwrite of history

A marketplace for dated, sourced datasets sitting on a bitemporal world model. Each observation keeps both when it happened and when it became known, so a query can ask what the world looked like at a moment in the past rather than what we later decided it had been. Revisions arrive as new knowledge instead of overwriting the record — which is the only way a backtest tells the truth.

IngestDateReviseServe point-in-time
Fig. 03 — Operating loopOn ingest
DataBay — the marketplace for the world's data, with provenance and point-in-time queries
Pl. 03databay.world
04Live · 2024—

AI product studio

A firm that runs on the agents it sells.

Runtime
Next.js · Supabase
Money
Stripe · tax at source
Core
Agent orchestration
Discipline
Graded against outcomes

Predictive takes a process a company runs by hand and gives it back engineered, measured, and shipped. The studio's own operations move through the same machinery the clients are buying — intake, scoping, delivery, and invoicing on one plane. Underneath sits the forecasting kernel: a calibrated probability on a decision, and a grade against the outcome when it lands.

IntakeScopeOrchestrateShipMeasure
Fig. 04 — Operating loopPer engagement
predictive.company — a firm built for the agentic era, orchestrating fleets of AI agents
Pl. 04predictive.company
05Private · 2025—

MicroHabitat

Commercial engagement

Client platform

Five applications, one farming operation.

Runtime
Next.js · five apps
Data
Supabase · row-level security
Documents
Researched and typeset to PDF
Tenancy
Isolation verified as a user

An urban-farming company runs its business on a platform of five applications — field operations, a client portal, an internal desktop tool, a community surface, and the public site — over a single Postgres with row-level isolation holding the tenants apart. The piece I would point at is the certification reporting: documents that were assembled by hand are now researched, scored, typeset, and delivered as a finished PDF without anyone opening a template.

Field logRoll upResearchTypesetDeliver
Fig. 05 — Operating loopPer reporting cycle

Client platform · behind authentication · no plate

06Private · 2025—

Invoice Studio

invoice.charlesjackson.dev

Billing and tax engine

The tax code, written down once.

Runtime
Vite · Supabase
Rules
GST 5% · QST 9.975%
Output
Numbered PDF
Threshold
Small-supplier crossing encoded

Quebec's GST and QST rules encoded as an engine instead of a spreadsheet — the two rates, the small-supplier threshold and the date it was crossed, half-up rounding to the cent. An invoice is drafted, taxed, numbered, rendered to PDF, and sent without anyone re-deriving the arithmetic. It bills my own work, which is the honest test of it.

DraftTaxNumberRenderSend
Fig. 06 — Operating loopPer invoice

Owner tool · behind authentication · no plate

078 disciplines

What I automate.

The six works differ in subject and share a spine. This is the spine — the parts I would bring to a system that has to keep running when nobody is looking at it.

01

Scheduled work

Cron on Vercel and Cloudflare. Jobs that fail closed when a secret is missing, secrets that never enter the repository, and a log worth reading the morning after.

02

Data planes

Postgres schemas, migrations that apply cleanly, row-level security, bitemporal history, and tenant isolation checked by signing in as a second user and trying to read the first one's rows.

03

Agent pipelines

Model orchestration tiered by cost, structured output with validation at the boundary, guardrails that hold on malformed input, and an evaluation that runs before a change is allowed to ship.

04

Forecasting and grading

Calibrated probabilities, held-out backtests with no leakage, Brier and log-loss, and a gate that refuses to promote a model which does not beat the one it replaces.

05

Documents

Reports researched, assembled, and typeset to PDF. Invoices numbered and taxed at the source. Nothing re-keyed by hand between one system and the next.

06

Money

Stripe checkout, webhooks verified by signature before they are trusted, credit ledgers that reconcile, metered access, and sales tax computed where the amount is decided.

07

Observability

Digests that arrive whether or not anyone asks for them, so that a job which quietly stopped running is not a job which quietly stopped running.

08

Hardening

Malformed and oversized input, replay and tampering, concurrency and idempotency, cross-tenant reads. Every hole found becomes a regression test before the fix is called done.