Implementation notes · This portfolio
A small site, with deliberate constraints.
The portfolio uses static HTML and CSS. Content and navigation work without client-side JavaScript. These notes describe implementation choices you can inspect in the page source.
Why static output
The site is designed for reading: reviewing experience, exploring work notes and finding a contact route. A build-time generator produces a complete document for each URL. There is no application shell to hydrate, database, or runtime API to wait for.
The trade-off is deliberate: content changes require a rebuild. For a small portfolio, that keeps the runtime simple and the content available without scripting.
What is on the critical path
The opening view uses system fonts and text. It has no remote font, hero image, video, animation library, or third-party script. Versioned CSS filenames support long-term caching.
The generated homepage HTML and shared stylesheet total 6,680 bytes gzipped, calculated from the build files. This is an estimate of compressed file size, not a network or Core Web Vitals measurement.
Accessibility in the structure
Pages use native landmarks, one primary heading, labelled navigation, a skip link, visible focus and linked section headings. Reading order follows document order. The career profile has print styling and there are no carousel controls, automatic motion, or pointer-only interactions.
Verification and its limits
The repository includes checks for internal links, unique IDs, structured data, sitemap entries and metadata. Accessibility can be checked using the included axe-core audit fixtures. Automated checks cannot establish full WCAG conformance.
Good field targets are LCP at or below 2.5 seconds, INP at or below 200 milliseconds and CLS at or below 0.1 at the 75th percentile. Actual results require a deployed site and real-user measurements. Google’s Core Web Vitals guidance explains these metrics.
Search and privacy
Each work note has a static URL, title, description, canonical URL and structured data. The build includes robots.txt, a sitemap and a custom 404. The portfolio application does not set cookies or load analytics. Hosting services may behave differently, so the footer indicators describe the application code. Visitors can contact me by email or LinkedIn. The site has no analytics, contact forms or raw CV uploads.