Dec 2024 · Case study

Vaycode Website Revamp

Context

Vaycode’s website is my main portfolio and the first thing most potential clients see. I wanted it to reflect how I work: straightforward, reliable, and focused on real outcomes. As my business evolved and my audience widened, the limits of my old site became obvious. It was time for a new foundation that would make my work easier to present and update, in both English and French.

Problem

Keeping the old site running smoothly got harder every year. Projects looked different from each other and sometimes got out of sync between languages. Every update risked introducing small errors or accidentally leaving something untranslated. The stack I used before was too heavy for a solo developer and made hosting less flexible. Plus, the design had become a bit cluttered. It was good for showing work, but not for telling clear stories.

Homepage of the old Vaycode website

What Changed

To fix these issues, I rethought the whole platform. I built the new site with SvelteKit and TypeScript for speed and simplicity. Instead of sticking with Tailwind, I wrote my own CSS for lighter pages and more control over the look. From now on, every project and case study lives in a Markdown file with a few simple checks that make sure nothing is missing and both languages stay up to date.

I also designed a new SVG logo and made sure it looks sharp at any size. Hosting is now on my own Linux server with Docker, so I never worry about platform restrictions or losing access. Deployments go through GitHub Actions. Every change is tested automatically and rolled out seamlessly. If anything goes wrong, I can reverse updates in a matter of seconds.

Managing Content

Each case study follows a checklist. It has a clear context, a problem, decisions made, and the results. The same goes for translations. The system will not let me publish unless everything is complete in both English and French. Every case study follows the same clean structure, which means adding new work is much easier and there is no risk of missing important info.

Results

Here is how the new site stacks up based on real audits and resource numbers:

Metricold.vaycode.comvaycode.comChange
Performance98100+2
Accessibility8996+7
Best Practices1001000
SEO1001000

The audits were run using Lighthouse. Reports are available if you want to see the details.

Now, the total bundle size for the old site was about 1151 KB, with 614 KB actually transferred to browsers. The new site sends just 153 KB (compressed) and 69 KB transferred. That is a reduction of nearly 90 percent. This means pages load much faster and use less bandwidth.

SiteProbe LocationTotal (ms)DNSTCPTLSTTFB
old.vaycode.comFalkenstein, DE57934514525
old.vaycode.comBuffalo, US254351445159
old.vaycode.comSingapore, SG993641124802
Average609
Min254
Max993
vaycode.comFalkenstein, DE19762673334
vaycode.comAshburn, US3656394104104
vaycode.comSingapore, SG53244160162166
Average365
Min197
Max532

The new Vaycode website consistently responds faster across global locations, with the average drop in latency from 609 ms to 365 ms. Largest improvement is seen in Europe.

Homepage of the new Vaycode website

Takeaways

The site now loads instantly and is easy to keep bilingual. Publishing or updating content is fast, and I never worry about mistakes or translation errors slipping through. The look is crisp and minimalist, in line with my philosophy as a developer. Clients and visitors have given positive feedback about the clarity and speed.

If you want to see the technical details or the full Lighthouse and CI reports, let me know.