Discover how I rebuilt the company website in just a few days using AI

It all started with a simple question: what if I rebuilt it from scratch?
Over the past few months, the need arose to update the FlairBit website to make it better suited for GEO—Generative Engine Optimization.
At first, I was thinking of a targeted update. Then I started looking at the site more closely and realized the problem wasn't just optimization for generative engines—the content needed updating, too.
The site no longer truly reflected the company as it is today; some messaging had become outdated, and the structure was beginning to show its age.
At that point, I asked myself a series of questions:
- What do I do?
- Do I learn how to use WordPress, which I don't know?
- How much time will it take me to understand how it works, modify the theme, manage plugins, and tweak the structure?
- And above all: does it make sense to invest all that time, considering I wanted to achieve a result in just a few days?
The truth is, I didn't have much time to spare. And I didn't want the project to become one of those tasks that starts with a minor tweak and stays open for months.
So I took the plunge and set a challenge for myself: can I completely rebuild the site from scratch, in just a few days, using my "generative friends"?
Technically speaking, I wasn't starting from zero. Software development, cloud, architecture, and integrations are my daily job. But I had clear gaps in other areas: copywriting, graphic design, content organization, and the overall setup of a corporate website.
And that's exactly where the experiment began: I would bring technical expertise, deep knowledge of the company, and critical thinking.
Analyzing the Old Site with ChatGPT
The first step was using ChatGPT to analyze the existing website. I provided the company context, the services offered, existing pages, and how FlairBit was currently described. From this foundation, I started analyzing and brainstorming.
ChatGPT helped me to:
- Reconstruct the page list
- Identify obsolete content
- Highlight missing information
- Recognize overlaps and redundancies
- Compare alternative structures
- Redefine the company messaging
- Better describe FlairBit for what it is today
The AI helped me organize my thoughts and the information I wanted to convey, challenge them, and turn them into a clearer structure.
Rethinking the Message: From Technology to Value
One of the most important steps was changing the perspective from which we described our services.
Those who work in tech every day often tend to explain their work through frameworks, architectures, APIs, cloud, microservices, and tools. Clients, however, don't buy technology. They buy outcomes.
They want more reliable systems, more efficient processes, applications that evolve over time, scalable infrastructure, and integrations that simplify their work.
AI helped me shift from questions like:
"Which technologies do we use?"
To more useful questions:
"What problem do we solve?"
"Who do we solve it for?"
"What outcome do we deliver?"
"Why is our approach different?"
From Content to Mockups with Claude
Once the structure was defined, I moved on to visual design. Using Claude, I prepared mockups for the different pages.
The AI allowed me to quickly generate alternatives and iterate on:
- Layout
- Spacing
- Visual hierarchy
- Sections
- Calls to action
- Balance between text and images
- Structure of service pages
- Desktop and mobile rendering
Here again, I didn't just accept the first draft. The work was done through trial, error, corrections, and successive revisions. The difference was that I could explore far more solutions in much less time.
From Design to Code with Claude Code
After finalizing the mockups, I moved on to development with Claude Code. I chose a technology that was ideal for working in vibe coding, so we generated the site in React. What was missing was a backend portion for the blog and for handling contact form requests.
To implement these, I chose to integrate Sanity for the blog section and Resend for handling emails sent from website forms. Additionally, the forms needed CAPTCHA protection, for which I chose Cloudflare.
Clear Rules and Reusable Components
During development, I didn't ask Claude to create each page in isolation. Before starting, I defined a clear set of architectural rules. One of the most important was working through reusable components.
Claude had to:
- Use existing components whenever possible
- Avoid code duplication
- Separate content, layout, and logic
- Maintain consistent conventions
- Create new components only when truly necessary
- Reuse common patterns for headings, sections, calls to action, and visual blocks
This approach improved code quality, but it also delivered another very practical advantage: it allowed me to manage AI context much better.
Very long conversations become progressively less efficient. Context expands, token consumption increases, and it becomes easier to lose track of decisions made in earlier phases.
Having defined clear rules and reusable components, I could close a conversation, open a new one, and start fresh with a clean context. There was no need to transfer the entire project history every single time.
It was enough to provide:
- The architectural rules
- The list of available components
- The overall structure
- The target/goal of the page
- Constraints to follow
This allowed me to:
- Reduce token usage
- Get more focused responses
- Avoid excessively long threads
- Maintain consistency across pages
- Simplify code reviews
- Improve overall result quality
I didn't use Claude as a generic assistant to simply "make the website." I integrated it into a structured development workflow: rules first, then components, and finally individual pages.
Migrating All Old Articles Without Manual Copying
Once the new structure was complete and Sanity was integrated, one major problem remained: migrating all blog posts from the old WordPress site.
Manually copying every article wasn't a realistic option. It wasn't just a matter of moving titles and body text; it was necessary to preserve:
- Publication dates
- Slugs
- Categories
- Metadata
- Formatted content
- Images
- Links between articles and media assets
So I exported the content from WordPress. Next, I provided Claude with the structure of the exported file and the content schema defined in Sanity, asking it to write a migration script.
The script needed to:
- Read the exported posts
- Transform them into the format required by Sanity
- Create the new documents
- Preserve slugs and dates
- Download images from the old site
- Upload them to Sanity assets
- Link the images to the correct articles
- Handle errors and incomplete content
Image migration was the trickiest part. Importing text alone would have left the new articles dependent on URLs from the old site. Instead, the script transferred media assets as well, making every piece of content self-contained within the new CMS.
Before running the full migration, I tested the script on a small batch of articles, verified field mappings, and fixed edge cases.
Copywriting in Italian and English
Another area where AI bridged a practical gap for me was writing. I worked with Claude on copy in both Italian and English.
It wasn't just a simple translation. A piece of copy that works well in Italian doesn't always translate into effective English—tone, rhythm, conciseness, and phrasing all change.
AI helped me to:
- Draft initial content versions
- Simplify overly technical passages
- Eliminate repetitions
- Make the message more direct
- Maintain consistency across pages
- Adapt copy for both languages
- Compare different options
Here too, human review was essential. AI can produce good copy, but it doesn't truly know a company's identity until it's guided, corrected, and put to the test.
GEO Optimization
The new site was also designed with GEO (Generative Engine Optimization) in mind.
More and more people are searching for information not just through traditional search engines, but also via AI-powered tools. This changes how content needs to be structured. Inserting keywords is no longer enough; pages need to be clear, specific, and easily interpretable.
With Claude, I worked on:
- Clarity of headings
- Information architecture
- More precise service descriptions
- Semantic consistency
- More explicit content
- Answers to questions a potential client might ask
- Copy that is understandable to both humans and generative systems
GEO is still an evolving field, but the core principle is simple: useful, well-organized, and specific content stands a much better chance of being properly understood and utilized.
Automated Builds Integrated into Our Business Process
Once development was finished, the next step was integrating the site into our build and deployment pipeline.
At FlairBit, we already use an established workflow to automatically build the software we develop. Instead of creating a separate workflow for the website, we built a new pipeline integrated into the exact same process.
With every code update, the automated process takes care of:
- Installing dependencies
- Running the build
- Verifying that the process completes successfully
- Generating the necessary artifacts
- Preparing the new version for deployment
This means treating the website like any other software product. No manual FTP uploads. No unique procedures to remember. No steps performed differently each time. The build process is standardized, automated, and repeatable.
Deployment to Our Cloud Infrastructure
Deployment was integrated into our infrastructure as well. Once the build is complete, the site is deployed directly onto the cloud systems FlairBit already uses for its own services.
This choice offers several advantages:
- Direct control
- Consistency with other projects
- Faster updates
- Greater operational simplicity
- No dependency on third-party hosting
- Cost savings on hosting
Cost savings wasn't the only reason for this choice, but it's a very tangible benefit. If cloud infrastructure is part of our daily work, paying an external host to serve a site we could manage directly made little sense.
So the way the site is built, published, and maintained directly reflects FlairBit's approach to software: automation, control, repeatable processes, and cloud infrastructure.
Conclusion
FlairBit's new website is live at www.flairbit.com.
The main takeaway from this project isn't that anyone can build anything today thanks to artificial intelligence—that would be an oversimplification.
My experience was different: AI allows a skilled professional to expand their reach, especially when starting from a solid foundation. In my case, technical expertise allowed me to guide the project, define the architecture, evaluate solutions, and take it all the way through to deployment.
Back to the blog