Performance 100%
Speed isn't an afterthought—it's a fundamental design principle. Every millisecond matters for user experience and accessibility.
Performance Scorecard
Verified metrics against Google Web Vitals and HTTP Archive benchmarks
Mobile users quickly abandon slow-loading sites—every second counts. The web has become increasingly heavy, with typical pages exceeding 2MB. Slow websites exclude users on slower connections, older devices, or data-limited plans. A fast site is an accessible site—Praxis loads quickly everywhere, from fiber connections to mobile data in rural areas.
Our Performance Philosophy
Fast by design, not by accident
Zero External Dependencies
No npm packages. No CDN libraries. No external fonts. Every byte served comes from our own origin, eliminating third-party latency and single points of failure.
Single Files
One CSS file. One JavaScript file. Minimal HTTP requests mean faster initial load. The browser fetches everything it needs in just a few requests.
Vanilla JavaScript
No React. No Vue. No framework overhead. Pure vanilla JS means no runtime, no virtual DOM, no reconciliation. Direct DOM manipulation is as fast as it gets.
Progressive Enhancement
Core content works without JavaScript. Interactivity enhances but never blocks. Users see content immediately while scripts load in the background.
Core Web Vitals
Google's official metrics for user experience quality
Core Web Vitals are the subset of Web Vitals that Google uses as ranking signals. These three metrics measure loading performance, interactivity, and visual stability. Sites meeting these thresholds provide better user experiences and see improved engagement.
LCP: Largest Contentful Paint
Praxis: ~0.8s — Measures how quickly the largest content element becomes visible. Good performance is under 2.5 seconds. Praxis achieves sub-second LCP through efficient CSS, deferred JavaScript, and no render-blocking resources.
INP: Interaction to Next Paint
Praxis: ~50ms — Replaced FID in March 2024 as the responsiveness metric. Measures how quickly the page responds to all user interactions. Target is under 200ms. Vanilla JS and efficient event handlers ensure immediate feedback.
CLS: Cumulative Layout Shift
Praxis: ~0.01 — Measures visual stability during loading. Target is under 0.1. No external fonts or late-loading content means elements don't shift after rendering.
Run Praxis through Google PageSpeed Insights (pagespeed.web.dev) or Chrome DevTools Lighthouse. You'll see green scores across Performance, Accessibility, Best Practices, and SEO. No tricks—just solid engineering.
HTTP Archive Comparison
Praxis vs. industry benchmarks from the world's largest web performance dataset
The HTTP Archive tracks millions of URLs monthly, providing data on web performance trends. The median desktop page transfers over 2 MB of data. Here's how Praxis compares:
Technical Measurements
Detailed metrics verified against web.dev methodology
Total Page Weight
~250KB average — HTML, CSS, JS, and assets combined. Typical sites are 2+ MB. Praxis is 9x lighter than average.
HTTP Requests
~5 requests — HTML, CSS, JS, favicon, and minimal assets. Typical sites make 60-80+ requests. Fewer requests means faster load on high-latency connections.
JavaScript Size
~85KB (uncompressed) — All functionality in a single file. Typical sites load 500KB+ of JavaScript. No framework overhead, gzipped transfer under 30KB.
CSS Size
~55KB (uncompressed) — Complete design system in one file. No unused Bootstrap or Tailwind classes. Every rule serves a purpose.
Time to Interactive
<1 second — Page becomes fully interactive almost instantly, responding reliably to user input.
DOM Nodes
~500-800 — Clean, semantic HTML without framework wrapper divs. Best practice is under 1,500 nodes. Simple DOM means faster parsing and rendering.
Optimization Techniques
Implementation strategies aligned with web.dev best practices
CSS Preloading
Stylesheet loaded with rel="preload" hint tells browsers to fetch CSS immediately. Critical styles arrive before the browser even starts parsing the page.
Deferred JavaScript
All scripts use the defer attribute. HTML parsing continues uninterrupted. Scripts execute after DOM is ready, in order, without blocking rendering.
System Fonts
No external font loading. We use the system font stack (-apple-system, BlinkMacSystemFont, etc.) that's already on the user's device. Zero font-related delay.
SVG Icons
Icons are inline SVG, not external icon fonts or image files. They render instantly, scale perfectly, and add negligible weight to the page.
Technique Overhead Comparison
The hidden cost of modern web development
Federal website standards emphasize that performance is essential for accessibility compliance. Heavy JavaScript frameworks create barriers for users on slow connections or older devices.
Typical Modern Stack
Total Overhead: 400-800KB+
React/Vue/Angular (45-130KB), CSS Technique (150-400KB), Google Fonts (100-300KB), Analytics (50-200KB), build tools, bundlers, and polyfills.
Praxis Architecture
Total Overhead: 0KB Technique
Vanilla JavaScript (functional code only), custom CSS (every rule used), system fonts (instant), no analytics (privacy), no build pipeline (direct authoring).
React/Vue/Angular
Typical: 33-130KB+ runtime — Technique code that runs before your actual application. Praxis: 0KB framework overhead—every byte is actual functionality.
Google Fonts
Typical: 100-300KB + 2-4 requests — External font files and CSS. Praxis: 0KB—system fonts are instant and look native on every device.
CSS Techniques
Typical: 150-400KB (Bootstrap/Tailwind) — Most classes unused. Praxis: ~55KB total CSS, 100% utilized. No tree-shaking needed.
Analytics/Tracking
Typical: 50-200KB + privacy cost — Google Analytics, trackers, pixels. Praxis: 0KB—no tracking means faster loads and better privacy.
CDN Dependencies
Typical: Multiple external origins — Each adds DNS lookup and connection time. Praxis: Single origin—one place, one connection, no external failures.
Build Complexity
Typical: Webpack, Babel, PostCSS, etc. — Complex pipelines that can introduce bugs. Praxis: Direct authoring—what we write is what ships.
Network Efficiency
Optimized for real-world connection conditions
Gzip Compression
All text resources (HTML, CSS, JS) are gzip compressed by the server. Actual transfer sizes are 60-70% smaller than raw file sizes.
Cache Headers
Static assets have long cache lifetimes. Returning visitors load from local cache, making subsequent visits nearly instant.
No CORS Requests
Everything from same origin means no preflight requests, no cross-origin handshakes, no blocked requests due to CORS misconfiguration.
Minimal DNS Lookups
Only one domain to resolve. Sites with CDNs, fonts, analytics, and widgets require multiple DNS lookups, each adding latency.
HTTP/2 Ready
Single domain maximizes HTTP/2 connection reuse. Multiple domains actually hurt HTTP/2 performance by fragmenting connections.
Mobile Optimized
Light pages load fast on 3G/4G. No hero videos, no massive images. Works well even on metered connections.
Performance Monitoring
Continuous measurement aligned with W3C Performance Working Group standards
Performance degrades over time as features are added. We actively monitor and maintain Praxis's speed through regular audits and careful development practices.
Regular Lighthouse Audits
Every significant change is tested against Lighthouse metrics. Performance regressions are caught and fixed before they reach users.
Bundle Size Awareness
We track CSS and JS file sizes. New features must justify their byte cost. If something can be done more efficiently, it is.
No Feature Bloat
Features that aren't actively used get removed. Praxis stays lean because we regularly audit and prune unused code.
Code Review Standards
Performance is a review criterion. Inefficient patterns are flagged. Better alternatives are suggested and implemented.
Real-World Impact
Why these numbers matter for users worldwide
Billions of people worldwide still lack reliable internet access. For these users, every kilobyte matters. Lightweight sites provide equitable access to education and information.
Slower Connections
Mobile users often abandon sites that take longer than a few seconds to load. A 250KB page loads in seconds where a 3MB page might take 30+ seconds on 3G.
Older Devices
No heavy JavaScript framework means older phones and computers aren't overwhelmed. Less CPU work means longer battery life and responsive interactions.
Data Limits
Users on metered plans conserve data. One Praxis page (~250KB) uses the same data as a single hero image on a typical site.
Global Access
Users worldwide, including areas with limited infrastructure, can access AI education. Performance enables global equity in learning.
Reduced Frustration
Fast sites feel professional and reliable. Users stay engaged when they're not waiting. Learning happens when friction disappears.
Accessibility
Screen readers process simpler DOMs faster. Keyboard navigation responds immediately. Performance and accessibility are deeply intertwined.
Performance Summary
Key metrics at a glance
Experience the Speed
Navigate around Praxis. Open pages. Use the tools. Notice how everything responds instantly. This is what performance-first development feels like.
Sources
Performance metrics measured using browser developer tools and verified against federal accessibility standards. Page weight and request counts are measurable implementation facts.