LEISSON
All work · Flagship

Maris — a domain-neutral assistant kernel that carries two products

A kernel extracted from Mati (@leisson-labs/*) that runs a WhatsApp assistant with text, voice, images and documents; the same kernel will carry the iOS app and Operations OS.

StatusRunning · WhatsApp · iOS lab
Period2026-08 →
StackTypeScript · @leisson-labs/* · Railway · Meta Cloud API · OpenAI · iOS
4input modalities: text, voice (STT+TTS), image, PDF/text · source: leisson-labs/maris
16E1 slices (E1.2–E1.17) shipped as PRs in one night · source: leisson-labs/maris PR-id
0coupling to AgroNutikas repos — clean separation · source: leisson-labs/assistant-kernel

Problem

Mati — the AgroNutikas WhatsApp assistant — got good enough that two other products wanted the same core. Copying would have meant three codebases drifting apart. What was needed was a kernel that knows nothing about agriculture.

System

On 2026-08-28 the decision was variant B: kernel extraction. A new GitHub organisation leisson-labs, a private repo assistant-kernel, zero coupling to AgroNutikas repos. Mati's domain-neutral core was ported into @leisson-labs/* packages. The first consumer is Maris: a WhatsApp product on Railway with its own Meta app, supporting text, voice (speech-to-text and text-to-speech), images (vision) and PDF/text document reading, with a durable mailbox. The second consumer is the iOS app (maris-app), the third is Operations OS phase 9. The AgroNutikas platform adopts the kernel later through a parity gate — not before the kernel does everything Mati does today.

Decisions

Kernel before product: interfaces are contracts, not conventions. Every slice has its own worktree, PR and CI proof; the skills maris-app-slice-runner, maris-strukturne-varav and maris-kanoni-peegel keep document and code from drifting. Three secrets (WhatsApp token/secret, OpenAI key) stayed with a human; the system never prints them.

Metrics

E1.2–E1.17 — 16 slices — were built in one night on 2026-08-29 (source: leisson-labs/maris PRs). Four input modalities in operation. There is no public URL — Maris is a private Meta app, which is why the status is “Running”, not “Live”.

Stack

TypeScript monorepo @leisson-labs/*, Railway (WhatsApp), Meta Cloud API, OpenAI (STT/TTS/vision), iOS (maris-app), maris-web on Vercel.