Last 12 weeks · 6 commits
1 of 6 standards met
[!NOTE] Low Risk Single static dataset row update with no logic, auth, or build changes. Overview Updates the Des Moines company directory entry from Kum & Go to Maverik in , reflecting the chain rebrand. The listing’s name, description (now notes “formerly Kum & Go”), and social handles (, , , ) are switched to Maverik branding. The careers URL stays ; city and category are unchanged. Reviewed by Cursor Bugbot for commit 923c6204abab1bb64a110d0d91c919a2f3d78a2d. Bugbot is set up for automated code reviews on this repo. Configure here.
What A simplification pass over the Bun architecture, with zero change to the deployed site — builds byte-identical to (verified with ). — declarative routes + real browser live reload Replaced the hand-rolled dispatcher with Bun-native : as a static route value, per-path handlers, and one wildcard for files. Preview () is now just the static routes; dev layers the rendered-from-source routes on top. Added genuine live reload with no tooling and no dependencies (~15 lines): re-evaluating the module is the " changed" signal (state survives on ) covers CSS/JS/asset edits open tabs hold an stream (dev-only, injected before `HTML imports.htmlcompanies.ts--hotsrc/build.tsmkdirBun.writeREADME.mdbun build ./index.htmlbun build --compile --target=browserstyle-src 'self'; script-src 'self'bun run checkbun run buildmain//api/companies.json/aboutsrc/companies.tspublic/styles.csspublic/logos/*dist//~dev` 404s, pretty-printed JSON comes from the file
What & why A few UX and readability improvements: 1. Mobile scrolling fix (the main one) On phones the data table was forced to inside a nested scroll container. That meant the content scrolled both vertically and horizontally, so vertical swipes felt sloppy and the page drifted sideways — hard to use on an iPhone. Now, below : Each company row reflows into a self-contained card (logo + name + type on top, description, then city / social / careers), so there's no horizontal scroll. The page itself scrolls instead of a nested inner container, so touch scrolling feels native (momentum, URL-bar collapse, no inner-scroll jank). Filtering, sorting, the empty state, and dark mode all keep working in the new card layout. 2. Header: drop the location chip Removed the chip from the header — the wordmark already conveys the locale, so the chip was redundant. Removed on desktop (it was already hidden on mobile) along with its now-unused CSS. 3. Componentized The page was one giant template-string function. It's now broken into small, composable, React-like component functions — , , , , , , , , , , , — so reads like composed JSX and is much easier to parse. Output HTML is unchanged (still 41 rows, same classes/ids/data attributes the CSS + depend on). 4. Comment cleanup Removed comments that just restate the adjacent selector/variable name (e.g. above , above , the search-haystack note). Kept comments that explain non-obvious intent. Verification Zero-dependency Bun site — and (tsc) both pass. Verified rendering with headless Chrome across desktop, mobile, filtered, empty, and dark-mode states. Mobile — new card layout (no horizontal scroll): !Mobile card layout Mobile — filtering still works (Public only, 8/41 shown): !Mobile filtered Mobile — dark mode: !Mobile dark mode Desktop — unchanged dense table, header chip removed: !Desktop Notes No dependency or config changes; nothing new to install for the site itself. The card layout kicks in at ; wider viewports keep the existing dense, horizontally-scrollable table.
Repository: leerob/dsmtech. Description: Tech companies and startups in the Greater Des Moines area. Stars: 61, Forks: 18. Primary language: TypeScript. Languages: TypeScript (62.1%), CSS (32.7%), JavaScript (5.2%). Homepage: https://dsmtech.io Topics: iowa, nextjs, tailwind, vercel. Open PRs: 0, open issues: 0. Last activity: 6d ago. Community health: 28%. Top contributors: leerob, dependabot[bot], ethan-id, johnjago, Hamberfim, Yarles404, jared-christensen, lando786, computmaxer, michaelwclark and others.