Source for resolve.works — the site of Resolve., the software and data engineering practice of Johan Schuijt: LLM extraction and search, interfaces for working with data, and the full stack underneath — for organizations doing work that matters.
The site is fully static: prerendered HTML/CSS/JS, no database, no CMS.
- SvelteKit 2 + Svelte 5, mdsvex for article markdown,
@sveltejs/adapter-static - D3 for the embedding scatter visualizations (the only runtime dependency)
- Social cards prerendered from hand-serialized SVG to PNG endpoints with resvg via
pnpm generate-og - pnpm for dependencies
- Docker (nginx) for serving the static build
pnpm install # install dependencies
pnpm dev # dev server (http://localhost:5173)
pnpm build # prerender the static site into build/
pnpm preview # serve the built site locallyAfter editing any page content, article or otherwise, regenerate the visualization data and social cards:
pnpm build # prerender fresh HTML for the embedding input
pnpm generate-embeddings # write static/embeddings.json, then rebuild
pnpm generate-og # write static/og/ social cards, then rebuildThe generators are separate so either asset type can also be refreshed independently. Social cards use the current embedding data as their backgrounds. Also update the affected lastmod values in static/sitemap.xml.
docker build -t resolve.works .
docker run --rm -p 8080:80 resolve.works # http://localhost:8080