Colophon
How this site is built.
This page is the spec sheet: what the site is built with, the targets I hold it to, and where you can check them yourself.
This page, measured in your browser
These numbers come from your own browser’s timings for this page, on your device and your connection. They are not a benchmark I ran somewhere else.
- Server response
- …
- How long the server took to start sending this page (time to first byte).
- First content on screen
- …
- When the first text or image appeared (first contentful paint).
- Main content on screen
- …
- When the largest piece of content finished drawing (largest contentful paint).
- Layout shift
- …
- How much things jumped around while loading. Under 0.1 is considered good; 0 means nothing moved.
- Transferred
- …
- Bytes downloaded for this page: HTML, code, fonts and images. Files your browser already had count as zero.
Measured in your browser just now; nothing was sent anywhere.
- A reload usually comes from your cache, so it’ll be faster. That’s normal.
- Some browsers don’t report every metric; those show “n/a”.
Last lab test
A lab test loads the page on a simulated phone and connection. It’s a controlled benchmark, not your visit; your visit is measured above.
Run on Sep 23, 2026 with Lighthouse 12.8.2, mobile emulation with slow-4G network throttling and a 4× slower CPU, against a production build of this site before it went live, testing the home page.
- Performance
- 99
- Accessibility
- 100
- Best practices
- 100
- SEO
- 100
- Largest Contentful Paint
- 1.67 s
- Cumulative Layout Shift
- 0.000
- Total Blocking Time
- 23 ms
Budgets I hold this site to
Targets, not guarantees. The readout above shows how your visit actually went, and it never rounds in my favor.
- Main content on screen (Largest Contentful Paint)
- Under 2.0 s
- On a mid-range phone. Google calls anything under 2.5 s good.
- Layout shift (Cumulative Layout Shift)
- Under 0.05
- How much the page jumps while it loads. Google calls under 0.1 good; I aim for half that.
- Blocking time (Total Blocking Time)
- Under 150 ms
- How long the page is too busy running code to respond to a tap.
- Smallest text
- 13 px
- Nothing on the site is set smaller; labels and captions use it. On this site’s own pages, body text is 17 px or larger on a phone, and notes and tables are at least 15 px. The lab demos use their made-up businesses’ own type.
- Tap targets
- 24 px or larger
- Buttons and links that stand on their own. Main actions, like the buttons that start a project, are 44 to 48 px tall. A link inside a sentence is as tall as the line it sits in.
- Accessibility
- Level AA
- The Web Content Accessibility Guidelines, version 2.2, level AA, is the standard I build to. It’s a target: this site hasn’t been independently audited, so I don’t claim it complies.
Stack
- Next.js 16.2, App Router
- Pages are rendered on the server and built ahead of time, so your browser receives finished HTML.
- React 19.2
- Server Components by default. Only small pieces, like the menu, the forms and the readout above, run code in your browser.
- TypeScript 5
- Strict mode, so mistakes surface while I build, not while you browse.
- Tailwind CSS v4
- Colors, type sizes and spacing live as design tokens in one stylesheet.
- three.js r186 and React Three Fiber, only inside the concept-lab demos
- Real-time 3D for the lab demos, loaded only when you open one. Everything else that moves here is plain CSS, and it holds still when your device asks for reduced motion.
- Lucide icons
- Drawn as inline SVG on the server. No icon font.
- Vercel
- Hosting. Pages are served from its global network.
Type
Instrument Sans and Fraunces, served from this site.
Both fonts are served from this site’s own domain, so opening a page doesn’t tell a font service that you visited. Both are open source, under the SIL Open Font License.
Privacy stance
Your browser only talks to this site, and the only personal details it sends are the ones you type into a form.
- Analytics
- None
- Cookies
- None
- Ads
- None
- Third-party scripts
- None
Your browser enforces this, not just my word: every page is sent with a security policy that only lets it load scripts, styles, fonts and images from this site, and connect to nothing else. You can read the policy in the response headers of any page, in your browser’s developer tools under Network.
Honesty rules
The same rules I work to on client sites. The first four are the pledges on my About page, word for word.
I won’t invent reviews, testimonials or numbers, on my site or yours.
I won’t publish a claim I can’t back up. If I can’t verify something, it goes on a list for you to confirm.
I won’t lock you in. Your code, domain and hosting are yours.
I won’t fake urgency. No countdowns, and no “only a few left.”
Every piece of work says what it is: a client’s site, a product of my own, a concept for a business that doesn’t exist, or a personal project.
A script reads this site’s source before every build and stops the build if it finds a star rating, a review count, a count of open slots, a season written into the copy, or agency voice on a one-person studio.
Credits
- Design and code
- Me, Beni Misenti, working with AI coding assistants. What that means for you
- Type
- Instrument Sans by the Instrument Sans Project Authors. Fraunces by the Fraunces Project Authors. SIL Open Font License 1.1.
- Icons
- Lucide, under the ISC License. A few of its icons come from Feather, under the MIT License.
- Screenshots
- Captured by me on the dates shown.
- Last updated
Want yours built this way?
A 30-minute call and a real mockup of your homepage before you sign anything. If you don’t love it, walk away.