DPDaniel Pertuincogniprep.hashnode.dev·8h ago · 5 min readOur articles are JSX, so I exported them from the DOMWe have 48 long-form articles. Each one is its own route folder with its own hand-laid-out JSX, because they genuinely are different shapes and a single template would have flattened them: app/blogs/ 00
DPDaniel Pertuincogniprep.hashnode.dev·8h ago · 4 min readA URL missing from your sitemap is invisible, not brokenThe bug report was that nothing was wrong. Every page loaded. Every link worked. Nothing threw. A handful of pages had simply never been announced to a search engine, for weeks, and there was no way t00
DPDaniel Pertuincogniprep.hashnode.dev·8h ago · 5 min readFour CSS rules that fought our two-column refactorOur practice tests were built mobile-first, and it showed. Every game put the stimulus (a matrix, a data table, a passage) in one narrow centred column, with the answer options underneath and the subm00
DPDaniel Pertuincogniprep.hashnode.dev·8h ago · 7 min read3.9 MB of answer keys, one anonymous CDN GET awayI went looking for something else and found this line in a loader: const res = await fetch(`/game-questions/${bankId}.json`); That is a relative fetch from the browser to a file in public/. Next.js c00