Migrations that land.

Goose moves your code and data to a modern stack, proves nothing broke, and bills you only when the checks pass.

What Goose does

An AI team that upgrades your software, and proves it.

Connect your repository and tell Goose what needs to change. It inspects the code, plans the smallest change that gets you there, and records how today's version behaves. Then it freezes the checks the new version must pass, does the work on copies, and verifies the result on its own.

Fixed priceQuoted after inspection, before any work starts.
Paid after the checks passNo pass, no invoice. Every report lists what was tested and what was not.
Works on copiesRead-only access to your code. Your live systems are never touched.
  1. Inspect
  2. Plan
  3. Quote
  4. Record
  5. Freeze
  6. Build
  7. Verify
  8. Deliver
Examples

From what you run to what you need.

C++
→
Rust

Rewrite a C++ library in Rust, keeping its interface and its tests.

Start with this →
Flask
→
React

Move server-rendered Flask pages to a React front end on the same data.

Start with this →
Flask + SQLite
→
FastAPI + PostgreSQL

Keep your SQL, move every row, and compare old and new answers.

Start with this →
ROS
→
ROS 2

Port ROS 1 nodes, launch files and messages to ROS 2, with the same topics and the same behaviour.

Start with this →

These are only examples. Goose can move any stack to any other: connect the repository, and the inspection tells you what it takes and what it costs.

Live run · demo

Watch the geese work.

A sample run. On a real job, the geese work on your code after you start a migration.
Sample run

Order service

    0 of 0
    Goose report · built with ClaudeMigrating
      Changes 0 of 0

        Sample code and figures for illustration.

        GooseBuilt for the Naive Autonomous Company Hackathon · YC · Nov 2026