The best tech companies and startups in the Greater Des Moines area.
An end-to-end Bun project with zero runtime dependencies that ships as a fully static site:
src/companies.ts— the dataset (typed)src/page.ts— renders the page to plain HTML with template stringssrc/build.ts— writes the static site todist/(HTML, open-data JSON, assets)src/dev.ts— dev-only server: re-renders on every request and live-reloads the browser over a server-sent-events ping (never deployed)public/styles.css— hand-written modern CSS:light-dark(),oklch,color-mix(), native nesting, container queries (size + scroll-state),:has(), popover with@starting-style, CSS counterspublic/app.js— ~100 lines of vanilla JS for search, filtering, sorting, shareable URL state, and view transitions
bun run dev # live-reloading dev server at http://localhost:3000
bun run build # render the static site to dist/
bun run preview # build, then serve dist/ exactly as deployed
bun run check # typecheckEdit anything in src/ or public/ and every open tab reloads itself —
bun --hot re-evaluates the server when source files change, and the dev
server pings the browser over an SSE stream. No bundler, no plugins.
The output in dist/ is plain static files and deploys anywhere. vercel.json
configures Vercel to build with bun run build and serve dist/.
- Edit
src/companies.ts - Add a 400×400 JPEG logo to
public/logos/(lowercased name, spaces → underscores) - Open a pull request