This is a late post. Pretty late post actually.

I wrote this in November 18th. But got arount to post it only by 24th Dec.

Google released Antigravity a while back (quite a while back) and this is the log of how it went for me.

Background

Most of my personal projects use MongoDB as the database. After a while you start to notice patterns in the way APIs are built for accessing and managing data. The next step in the evolution is to create a library that can quickly create these data APIs for you.

6 years back that evolution lead me to create the mongoose-express-middleware library.

Written in javascript, it has had it’s own organic evolution - new features, improvements etc. But something that I had in my roadmap for the library for a long time was to convert it into typescript. Not because it was something nice to have. But because most of my projects are now built on typescript.

I never really got around to rebuild the library. Mainly because the last few years I have been otherwise preoccupied and couldn’t find the time to get this done. .I had a plan. I knew exactly what I had to do. I just couldn’t justify spending a day fixing a library. The javascript version worked fine, albeit the limitations, so I just continued using it.

Then Google released Antigravity along with Gemini 3. I decided to try it by asking it to convert this project from a JS implementation to a TS based project.

If everything worked fine I would have a working library in TS. Worse case I know I should stay away from Antigravity and Gemini 3.

Goals

Broad goals that I want to target -

  1. Port the project from JS to TS
  2. Update the test cases
  3. Update the README file.

Evaluation criteria

I want to evaluate this on two things.

  1. Number of instructions needed to get this working - The minimum number of instructions the better.
  2. Length of each instruction - I want to see if I can use shorter instructions to get the agent to do what I want it to do.

Instructions

I gave 3 instructions to Antigravity and kept it very simple.

Instruction 1

Analyze the code in the repository. It is written in JS.
1. Create a new branch `1.0` from main.
2. I want a new branch called `2.0`.
3. Convert the project into TS.

Instruction 2

1. Remove the `mongoose` library from `package.json`. The library will expect mongoose to be preinstalled by the user.
2. Update the example code.
3. Update the `README.md` file to correctly document how to use this library.

Instruction 3

Enhance the test cases to cover the correct set of functions and add tests to cover all code branches.

Outcomes

First let’s take a look at the evaluation criteria.

Number of instructions - Three instructions to get the whole thing done was good. Not only did the agent do everything that I asked it to do, it did it quite well too. I didn’t feel the need to go and fix it.

Length of the instructions - As you can see from the instructions I gave the agent, I used shorter and focused goals. This seems to have worked too.

Other observations

  • All instructions were successful in the first try. I never had to fix and retry an instruction.
  • What surprised me was that the agent decided to use Sinon.JS for the stubs and mocks required for the unit tests.

Conclusion

In just 30 minutes, the agent handled everything. I’ve now published [email protected].

I am sold. I can see myself using Antigravity and Gemini 3

The only hiccup? I hit the Gemini 3 model usage limit after about 40 minutes of heavy use. I really hope Google adds a “Bring Your Own API Key” feature soon—because I honestly didn’t want to stop.