The site you're reading right now — a multi-page build with exactly one dependency, a lead-generation layer instead of a contact form, and my own AI product embedded as its support agent.
A page that says "I build things" and links out to three URLs asks the reader to do all the work of believing it. The site itself is the first artifact anyone judges — if it's a template with the name swapped in, it quietly contradicts the claim printed on it.
There was also a second job to do. Alongside showing work, the site has to convert: someone arriving cold should be able to understand what I can build for them, get a concrete number attached to their own problem, and book a call — without an email round trip.
Treat the site as a project with real constraints: fast, no framework, no component library, and every interaction hand-built so the code is itself part of the evidence. Then add the things a working site needs and a template never has — a service catalog, a solutions library, per-project case studies, an ROI calculator, and inline booking.
The whole site is hand-written HTML, CSS, and JavaScript. Vite is the only dependency in package.json — there is no framework, no UI kit, and no runtime library shipped to the browser.
Two small custom Vite plugins do the work a framework would otherwise justify. The first is a server-side include: a regex transform that inlines <!--@include partials/…--> at build time, so the nav, footer, head, booking modal, and back-to-top button live in exactly one file each across every page. The second discovers every .html file in the project root and registers it as a build entry automatically — adding a case study is adding a file, with nothing to wire up.
The interaction layer is all hand-rolled: a scroll progress bar, a cursor glow with easing, parallax ambient blobs, IntersectionObserver reveals, 3D tilt on cards, and four separate modals — project, résumé, certificate, and booking.
Booking originally used Cal.com's official JavaScript embed. It pulled in an external script and gave up control of the presentation, in exchange for a scheduler. It was replaced with a custom same-page modal that lazily loads the booking page in an iframe, with its own loading state and Escape-to-close — same result for the visitor, no third-party script on page load, and the modal matches the rest of the site because it's built out of the same pieces.
The counterweight to "no framework" is duplication, and the include plugin exists precisely because the alternative was six copies of the nav drifting out of sync. That's the honest trade: a small amount of build tooling bought instead of a large amount of runtime.
The chat panel on the home page, and the widget in the corner of this one, is Replai — my own AI conversation platform, embedded here with a single script tag and answering questions about my services from a knowledge base I wrote. It's the most direct demonstration available: the portfolio doesn't describe the product, it runs it.
Meanwhile this site lives inside Noema's vault as one of the projects it thinks about weekly — so if it ever goes quiet, I hear about it from a second brain that's also listed on this page. The projects aren't a list; they're wired into each other.