Google Antigravity IDE
My new IDE which I will probably drop soon!

I’ve been using Google Antigravity as my main AI-powered IDE for the past month or two. But something tells me I’ll probably switch soon, as Google keeps making it less and less useful. In the meantime, though, I’ve added a ton of new features to my blog, and I figured I’d write about some of them.

Hitting Antigravity Quota Jail

I was using Claude Opus for a while with Antigravity, as the limits were pretty generous and renewed every 5 hours, similar to Claude Code and Codex. I actually think that Google gave more Opus usage than Claude Code itself did! At least at the time I was trying it out.

I found that Gemini 3 Pro is good enough, but why not use Opus if I have access to it anyway? I was using an extension to track how much remaining quota I had. Unfortunately, it seems like I may have used too much, because Claude Opus and Sonnet began resetting on a weekly basis instead of every 5 hours.

Claude Quota Extension
My remaining Claude quota which updates every week, now.

I suppose that it’s probably not profitable for Google to provide this much Claude for a cheaper subscription (I’m on the $20 plan). But then they shouldn’t really imply that you’re going to get that much usage from the beginning. It feels a lot like a bait and switch. Others on the Antigravity subreddit also feel like the IDE was better before.

It was about a week ago that I started getting the week-long refreshes on Opus. At that time I just switched over to Gemini 3 Pro and Flash to do my work instead. I favored Pro since, why not, I’m a pro! But after using up the quota a few times on that model, I got the banhammer for the pro models as well! So now I have a week-long wait to get my Anthropic and Gemini Pro models back to this stupid IDE.

So anyway, now I’m just hanging on with Gemini 3 Flash resetting every 5 hours. Maybe I’ll get hit with a weekly refresh on that, too! At that point I’ll just switch to using Gemini CLI since it seems like it uses a separate method of calculating quotas.

It also doesn’t help that sometimes, Gemini will just get into a really strange loop and start sounding like a kid in a Japanese horror anime.

Antigravity Hallucination
TFW you use up your whole context window on... this.

I already wrote a whole blog post about my process of adding audio articles (which sound like they’re read by me) to my blog with Qwen3-TTS. I mentioned that I used AI, and the models that I used were mainly Gemini 3 Pro and Flash due to Opus being drained.

Semantic Search With Embeddings!

Since my blog is actually a static site hosted on GitHub Pages and generated by Jekyll, it takes a bit of work to make it seem dynamic. I had initially vibe-coded a simple search based on a JSON index that had the text and tags of each blog post, that basically did keyword matching in a text field. That worked pretty well, but I’ve never had a chance to use text embeddings, even though people say that they’re pretty useful.

I figured that I could learn something about text embeddings and also add semantic search to my blog. Like killing two birds with one stone, if you’re into that sort of thing. I basically had AI talk me through how it would work, and then I had it implement it for me. But I do feel like I have a better grasp of how semantic vector search stuff works, even if I can’t really think of a good reason to use it besides over-engineering my blog search.

My first naive attempt to implement this was using bge-m3, which AI told me was a really good embedding model. But when I tested out the search, I was getting some pretty bad matches. It seemed like nothing matched higher than 50%, and I got some irrelevant matches for queries that seemed pretty simple. Once I asked AI why this was happening, it mentioned that I wasn’t using all of bge-m3’s capabilities, since Cloudflare could only store a fraction of the data.

That would’ve been nice to know before it told me to use bge-m3!

Anyway, I switched over to using qwen3-embedding-0.6b which is also supported by Cloudflare’s Vectorize product. The semantic search is still more of a toy at this point, but it did return a post about Pokemans when I search for “pikachu” (the blog post doesn’t contain the word ‘pikachu’ in it).

Semantic Search for Pikachu
Testing out semantic search with a query for "Pikachu"

I also set up a GitHub workflow so that every time I update my blog, the index is updated in case I add a new post, or edit an existing one (or I guess if I delete one but why would I do that?). I’ve been trying to automate as much as possible with my blog so that I have less friction to just write in it.

Replaced Staticman With a Cloudflare Worker

I recently added comments back to my blog using Staticman, which is an interesting concept, but kind of overkill for me and my blog. I didn’t have anywhere to host it, so I was just hosting it on my home server and exposing it to the internet with Cloudflare tunnels. This seemed okay but if my home internet connection went down then no one would be able to comment on my blog! That would be like a Sev 1 in this household.

Since Staticman is open source, I just had Antigravity look at the repo, and make an API-compatible endpoint with Cloudflare Workers that I could point my blog’s comment form to. It took surprisingly little time, and from there I was able to add all sorts of features like spam checking (with AI of course) and rate limiting, etc. I’m not too worried about Cloudflare going down but if it does then the internet probably has bigger issues than not being able to comment on my blog.

Jekyll or Not?

I was actually considering moving my blog off of Jekyll since the technology is old and I’ve been wanting to spruce up my blog a bit. But I realized that Jekyll is pretty flexible in terms of adding features in a way that not every blogging platform is. I can just prompt an AI to add a feature, and Jekyll is extensible enough to just let me do whatever. Also, it’s kind of nice that the site is static and doesn’t use any computing resources aside from the search feature I added.

For now I’ll just keep my blog the way it is. I feel like I stopped blogging as much after it became kind of a pain to edit markdown files, etc. But now that I can edit posts with AI, I actually find blogging with markdown to be a bonus. Adding a link is probably about the same amount of work with the prompt “Add this link __ to line __.” But it’s also kinda cool to ask the AI to fact check my blog and spellcheck it so I don’t make as many stupid mistakes.

Anyway, that’s basically what I’ve added to my blog so far. It’s pretty fun adding features to it, even though no one will read it. Or maybe if I add more features, people will finally start to notice it! Nah!