Product Engineering / Own IP

KidDOS — a real computer, shrunk to kid size.

A free, open-source fake computer inside your real one: a fullscreen CRT terminal with a real Unix shell, a virtual drive, BASIC, sandboxed C and Go, pixel graphics, and ARM assembly with a debugger. For children about 7 to 13 — no internet, no mouse, nothing to break.

kiddos.dev ↗

01 / 02

What it is

The computer we grew up on, rebuilt deliberately: small enough to understand, real enough to matter.

  • ▸ A fullscreen CRT terminal with a genuine Unix shell and a virtual drive of its own
  • ▸ BASIC for first steps, then real C and Go compiled and run in a sandbox, then ARM assembly with a debugger
  • ▸ Pixel graphics and games whose source a kid can read, break, and fix
  • ▸ A manual written to be read by the kid, not the parent
  • ▸ Ships on Mac, Windows and Linux; every lesson and man page lives in the open repository

02 / 02

The engineering under the toy

Making dangerous things safe for seven-year-olds is a systems problem — this is what a client buys when they hire the practice.

  • ▸ Rust core with wgpu rendering and a SQLite-backed virtual drive
  • ▸ wasmtime WebAssembly sandboxing so kid-written C, Go and assembly can run with zero risk to the host
  • ▸ Full toolchains embedded: clang with wasi-sdk, TinyGo, EndBASIC — invisible to the child, real underneath
  • ▸ A doomgeneric port, because a computer a kid respects has to run Doom
  • ▸ Architecture notes and the whole plan published in the repository

FAQ

Specifics, in plain English.

What's the difference between a SuiteScript and a SuiteApp?
A SuiteScript is a single script (Suitelet, RESTlet, User Event, Scheduled, Map/Reduce, etc.) that runs inside NetSuite. A SuiteApp is a packaged bundle of SuiteScripts, custom records, custom forms, and configuration that can be installed across NetSuite accounts and — if certified — listed on SuiteApp.com as Built for NetSuite. We do both, and we know which one fits your problem.
What is Level II / Level III payment processing and why does it matter?
Level II and Level III commercial card processing means submitting line-item data — purchase order numbers, ship-to addresses, item descriptions, tax breakouts — alongside the transaction. Card networks return lower interchange rates for B2B and corporate-card transactions when this data is present. For B2B businesses processing significant volume, Level III alone can pay for the integration work in months.
Can you help us migrate from SuiteScript 1.0 to 2.x?
Yes. SuiteScript 1.0 is deprecated and the migration is non-trivial — APIs are different, the SuiteScript 2.x runtime is stricter, and any code with implicit type coercion or loose error handling will break. We've done these migrations end-to-end without disrupting the production NetSuite account.
Do you do PCI-DSS-compliant payment processing?
We architect to keep PCI scope minimized — typically by tokenizing cardholder data at the processor or hosted-iframe boundary so internal services never see PANs. Whether the resulting system needs SAQ A, SAQ A-EP, or full SAQ D depends on your specific architecture. We've shipped against all three; the first call usually settles which scope is right for you.
Can you build Apple Wallet or Google Wallet passes?
Yes. We've shipped PKPass generation (Apple Wallet) and Google Wallet pass APIs end-to-end — for tickets, IDs, loyalty cards, and payment cards. The signing, image dimensioning, pass updates, and HTTPS hosting requirements are exacting; we know what trips up production deployments.
Are you US-based? Do you outsource?
Yes, US-based. Our registered office is Canyon Country, California. The senior engineer on every engagement is the founder. We do not subcontract code to anonymous offshore teams — when you talk to us, you talk to the people writing the code.
Do you sign NDAs?
Yes. We sign mutual NDAs before anything sensitive is shared. If a confidentiality agreement is a precondition for the first conversation, just say so in your initial message.

Not sure which of these fits your problem?

That is normal. Most of our engagements start with a 30-minute call where we figure out what you need, who else might be a better fit, and whether we should keep talking.

Book a discovery call