The Case Studies page lives atDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/windows-98/llms.txt
Use this file to discover all available pages before exploring further.
/case-studies and presents a single in-depth technical article formatted as an old web page from the Netscape Navigator era. The interior uses a black terminal background, a yellow pixel-font headline with a red drop-shadow, a drop-cap opening paragraph, a styled blockquote, a bullet list, and a terminal code block. The featured case study details how over-importing caused a 2 MB JavaScript bundle and how tree-shaking, swapping moment.js for date-fns, and image optimization cut 500 ms of load time. A back-navigation link at the bottom of the article calls navigate('/') to return to the desktop.
Win98 Window configuration
| Property | Value |
|---|---|
| Window title | Deep Dives - Netscape Navigator |
| Title bar icon | file-text (Lucide), navy (filled) |
| Width | 850 px |
| Height | 650 px |
| Interior background | Black (#000000), white text, font-mono |
Article structure
The case study is laid out as a long-form retro web article with distinct typographic zones:Terminal code block
The terminal block displays a mock build output showing the result of the optimizations:font-vt323, a dark inset border (win98-in), green text (text-green-400) on a black background, and a shadow-[8px_8px_0_#00cfd1] turquoise drop-shadow to mimic a retro terminal pane.
The case study content
The article covers one specific performance win. The key facts are:The Problem — 2 MB bundle
The Problem — 2 MB bundle
The original build shipped a 2 MB JavaScript bundle caused by importing entire libraries when only a handful of utilities were needed. The primary offender was the classic
"import * from 'everything'" mistake — whole libraries loaded just to use a single function.The Solution — three changes
The Solution — three changes
Three targeted changes brought the bundle down to 142 kb gzipped:
- Tree-shaking — switched to named imports so the bundler could eliminate unused exports.
- moment.js swap — replaced the heavy
moment.jslibrary with the lighterdate-fns. - Image optimization — optimized all images (saved for web).
The result
The result
The Vite production build output confirmed: Bundle size: 142kb (Gzipped). End-to-end load time dropped by approximately 500 ms.
Back navigation
At the bottom of the article a styled anchor calls the React Routernavigate function to return the user to the root desktop:
onClick with navigate('/') rather than a plain href, so the SPA router handles the transition without a full page reload.
Customizing the case study
The entire article content is written as inline JSX inside theCaseStudies component in main.js. There is no external markdown or data file — edit the JSX nodes directly to change the headline, body text, blockquote, terminal output, or any other content.
Related pages and components
Projects
The Projects page — where case studies link back to from the file view.
Win98Window
Window wrapper props for this page’s Netscape Navigator title bar.
Adding Pages
How to add a second case study or additional deep-dive articles.
Architecture & Routing
How hash-based routing connects the navigate(’/’) call to the desktop.