make tiny yours
Set it up once, call it yours, never bother again.
You can create a machine in seconds. Then you spend the next forty minutes teaching it who you are.
Or, more likely, your agent is burning tokens, money, and time trying to configure the environment it needs. And the tools that need auth? Don’t even get me started.
And tomorrow? You do it again. Same rustup. Same mise. Same dotfiles. Same sign-ins.
We made computers disposable and kept the setup permanent.
The machine for you and your agents should be yours. It should feel yours. It should feel cozy.
Why does it have to be like this? It should be dumb simple. Something like this:
“Yo, create me a machine that has Rust and all the tooling I need to decompile Photoshop.”
The agent figures out what it takes to run Rust and pull apart a program as complex as Photoshop, then builds a machine with all of it installed and configured, saved and ready to reuse whenever you’re doing anything with Rust and decomp.
And that’s what we did. I mean, built.
Introducing tt image create#
You just tell Teeny Tiny what you want, and Teeny Tiny takes care of it. (tt is short for teenytiny.)
What happens next? Your model figures out the plan: the packages, the install steps, the config files. Pick one with --model; otherwise it uses the first model from your first connected AI account.
You see the whole plan, and nothing happens until you say yes to Build this image? [y/N]. Want to just read the plan? Add --dry-run, and nothing gets saved or built.
Saying yes builds the image. No machine is left running; it’s just saved, ready for whenever you need it:
Don’t want a bot to configure your setup?#
Some of us are extremely anal about every single binary and file that lands on the base image. For you, there’s another primitive: a setup.
A setup is your own recipe: dotfiles, config files, agent instructions, and an install script. Here’s one for running coding agents side by side. Claude Code and Codex come on every machine, so the install script only adds Gemini:
How it works:
- Dotfiles are applied the GitHub Codespaces way.
- Your files go in next and override the dotfiles. Agent instructions get copied for each agent.
- Your install script runs last.
tt image builduses no AI, so building the same setup again gives you the same image.
After that you can create machines from it whenever you want:
Creating machines with them#
Reproduce your setup however you like, whenever you create a machine:
Either way you get a new machine that already feels like yours.
Alrighty, what more does it unlock?#
Plenty. Think parallel. Think of 5 different kinds of Pokémon you could spawn from your Pokédex for whatever job is at hand.
Grokking tasks with agents? Give each agent one task.
Your Playwright tests taking too long in CI? Split them across machines, each one already set up with the browsers they need.
Some minor gotchas, for now#
- Max 5 images per account. Got a legit use case for more? Hit us up.
- Images are private to your account.
- An image nobody has started a machine from in 30 days expires. Rebuild it from its setup to bring it back.
- Images must be rebuilt to pick up base updates.
- Only the disk is saved, not running programs.
- You can run 2 machines at once by default, so the 3-agent and 4-machine examples need a higher limit. Hit us up.
Set it up once. Never bother again.#
A computer you’ve already set up shouldn’t be a chore you repeat.
The first machine is where you make it yours. Every one after that should just be yours already.