Skip to content

Blog

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.

Make tiny yours. Every machine after that starts ready.

Introducing tt image create#

You just tell Teeny Tiny what you want, and Teeny Tiny takes care of it. (tt is short for teenytiny.)

tt image create qa-ground-1 "Playwright with Chromium and Firefox to test the life out of my new build"

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:

tt create --image qa-ground-1

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:

sudo npm install -g @google/gemini-cli
tt setup set bots # create the setup tt setup agents bots --from AGENTS.md # one set of instructions for every agent tt setup install bots --from install.sh # your install script tt image build bots --setup bots # bake it into an image

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 build uses no AI, so building the same setup again gives you the same image.

After that you can create machines from it whenever you want:

tt create --image bots

Creating machines with them#

Reproduce your setup however you like, whenever you create a machine:

tt create work --image bots # everything already installed tt create work --setup bots # runs the setup on first boot, takes longer

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.

for a in claude codex gemini; do tt create $a --image bots; done tt exec claude -- claude -p "fix the flaky test in auth.spec.ts" tt exec codex -- codex exec "add rate limiting to the login route" tt exec gemini -- gemini -p "write docs for the billing API"

Your Playwright tests taking too long in CI? Split them across machines, each one already set up with the browsers they need.

for i in 1 2 3 4; do tt create qa-$i --image qa-ground-1; done for i in 1 2 3 4; do tt exec qa-$i -- npx playwright test --shard=$i/4 & done; wait

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.

In beta. Talk to us.

Tiny machines, for your mighty work