I’m Kitty Crow, an Electronics Engineer living in Scotland, originally from South America.
At work, I live around telemetry, instrumentation, systems integration, test equipment, and the awkward boundary where hardware and software stop agreeing. Outside work, I make TypeScript do things it was probably not emotionally prepared for: compilers, WebAssembly kernels, browser tools, a tiny operating system, and whatever else began with “this should be simple”.
I build things, break them, read the logs, and build them again.
My website is part workshop, part scrapbook. It is where engineering notes sit beside strange little tools, retro-web experiments, terminal windows, fiction, anime catgirls, and projects that got completely out of hand. I am not sanding it down for LinkedIn.
|
An experimental non-Linux operating system and userspace. MIKU means MIKU Is Not the Kernel; it’s Userspace. It can boot through the Thistle interpreter or the Teto WebAssembly kernel, with a growing Unix-like userland and browser build.
|
A Visual Studio Code extension and local browser studio for kinetic sand tables. It turns images and SVGs into continuous, route-planned binary tracks, previews them live, and keeps the whole pipeline on the user’s machine.
|
|
A strongly typed utility that renders genuine QR matrices as dense Unicode Braille for terminals, self-contained HTML pages, browser generation, and paste-ready embeds.
|
Bake reshapes TypeScript into the subset understood by Baguette, Baguette compiles it towards WebAssembly, Thistle interprets the instruction set, and Teto executes it as a kernel. This was once a small compiler project.
|
Open the unnecessarily detailed version
flowchart LR
TS["TypeScript"] --> Bake["Bake<br/>source pre-compiler"]
Bake --> Baguette["Baguette<br/>TS subset → WASM"]
Thistle["Thistle<br/>interpreter"] --> MIKU["初音ミクOS<br/>MIKU userspace"]
Baguette --> Teto["Teto<br/>WASM kernel"]
Teto --> MIKU
KittyX["KittyX<br/>support libraries"] --> MIKU
Nemu["NEMUNEMU / Neru<br/>Linux compatibility work"] --> MIKU
The names are recursive acronyms because apparently the technical problem was not enough.
const kitty = {
work: ["telemetry", "instrumentation", "systems integration"],
afterHours: ["compilers", "kernels", "browser tools", "odd ideas"],
defaults: {
language: "TypeScript",
platform: "Linux",
approach: "make it work, understand why, then make it clean"
},
status: "probably debugging something"
} as const;website · blog · guestbook · web projects · Discord · Twitter · Telegram
ฅ^•ﻌ•^ฅ
Thanks for wandering through.


