Skip to main content

Gemini CLI and Manus changed my website

Back in April, I wrote about the verticalization of coding agents by comparing OpenAI’s Codex and Claude Code. Since then, I haven’t really used Codex — Claude Code just keeps getting better and better. But now there’s a new contender in the mix: Google’s own Gemini CLI, which (as the name implies) is powered by Gemini 2.5 Pro.

Gemini CLI is very similar in usage to the other two, with one potential advantage (or at least I hope so): it should be an expert in all things Google and Google Cloud. That’s important to me, since I host everything in Google Cloud.

That said, the real trigger for trying out Gemini CLI came from a different direction: Manus.

Manus is a Perplexity-style, AI-powered workflow builder. I’m not entirely sure how to categorize it, but you can prompt it with complex tasks and it delivers structured documents. I’ve used it to create presentations and parts of a business plan, and I’ve found it surprisingly effective.

Now, my website was built during my first real experience with “vibe coding” — and it shows. I wanted to completely redesign it and update it to reflect a more modern style. But first, here’s how it looked before:

blogs structure

welcome page


I gave Manus the following prompt:

Take a look at my current website: https://www.vanguardsignals.com. I would like to redesign it, but keep the same logo and ideally the same colors. It’s all written in Angular, and the blog functionality uses Blogger APIs to bring in the articles. Since I’d like to keep it Angular, focus on the design — something I can hand off to my coding agent.

Despite the prompt being somewhat ambiguous, Manus went to work. It researched modern web designs, created a style guide complete with example images, sample JavaScript code, a color palette — and bundled everything into a huge markdown file.

To give you a taste of what it produced, here are two examples:

An example of how the blogs could be structured

An example of how the blogs could be structured

Visual elements to use

Visual elements to use

Which brings us back to Gemini CLI. I had originally considered asking Claude Code to implement the new visual style — but this seemed like the perfect chance to try out Gemini CLI instead. And to my amazement, it mostly nailed it. Sure, there were a few artifacts I asked it to change or remove, but overall, the result was very solid.

And then I got greedy.

After changing all the HTML and stylesheets, Gemini reported that it had only used 11% of its context window. That’s when I remembered: Gemini 2.5 Pro has a 1 million token context window (compared to around 200K with Claude Code). So I thought — let’s see how far I can take this.

I started small: I added two new languages to the site — French and Japanese — just to see if Gemini understood how Angular handles i18n. No problem. The context usage barely moved.

Then I raised the bar. My site has a blog section, which pulls articles from Google’s aging Blogger platform (this article included), using their API. The challenge: translate these blog posts in real-time, based on the selected language — and cache the translations in Firestore to avoid paying for repeated translations.

I already knew this would require enabling Firestore, setting up Firebase Functions, and configuring Google Cloud services. In the past, this took some effort.

This time? It took 45 minutes

Gemini suggested using Google’s own Translation APIs (naturally), and wrote all the code — Firebase Functions, Firestore access, everything. The only thing I had to do was enable the Translation API for my project. That was it.


Here’s the final result:

👉 https://www.vanguardsignals.com


Is this getting crazy, or what?


Comments

Popular posts from this blog

Vibe Coding Alert! How I Rebuilt a Wix Site and Fed the “AI Will End SaaS” Panic

My better half is an artist and maintains a Wix.com site. For the second time in two years, Wix decided to raise the hosting fees. That’s when I suggested to my spouse that I could rebuild the website and host it on Firebase (where I host most of my projects). I assumed this wouldn’t be a big deal (I was wrong) and started researching ways to use a lightweight CMS with Firebase support. Such a system exists — it’s called FireCMS — and it’s excellent. Before I dive deeper, here’s her original site (no longer a paid Wix site):  Miyuki's WIX site Her instructions were clear: replicate it as closely as possible. So I went to work. I created a product development document with use cases, scope, screenshots from the original site, the required features, and of course FireCMS integration. I used ChatGPT to draft the document, then set up a new Firebase instance, and finally launched the Vibe Coding agent (Claude Code). The process wasn’t too different from my other projects, but what sur...

How I Ended Up Creating an AI Playground to Illustrate and Educate

TL;DR AI Playground User Guide

MCP + Context: engineering for the context – hard lessons learned

  Intro I have built my own orchestration framework because most of what I’ve seen was too complex or tried to lock you into creating workflows a certain way. I wanted something very simple and yet maximally flexible. I’m not going into details here on the framework — that’s another blog post — but I will in some cases explain why I could do what I did thanks to the flexibility of the framework, which is a dynamic DAG, can do call-backs, and uses functions and MCP servers. I will also not explain in detail what I’m doing with my current workflow, other than to say I was looking for a way to bypass large language models and instead run it on my own system at home. I succeeded with that — but that’s another blog post. Instead, what I will try to explain in this post is the most important thing after prompt engineering: context engineering, and why it’s so crucial to manage that aspect (especially when you run this at home). Stage setting A couple of weeks ago, Anthropic posted this: ...