How we use JavaScript
App product pages, support pages and privacy pages are built as static HTML first, with JavaScript added only where it improves the experience: form validation messages, a settings dialog, a preview. If the script fails to load, the page still works, which also keeps it readable for search engines.
We also maintain existing JavaScript codebases, adding tests and type checking through JSDoc comments where a full move to TypeScript is not planned. Build and deployment scripts that glue a release together are often written in JavaScript too.
What we build with it
- Static product and support websites for apps
- Progressive enhancement for forms and dialogs
- Service workers for offline-capable web pages
- Build and release automation scripts
Toolkit
- Modern DOM APIs
- Web Components
- Service Workers
- Eleventy
- ESLint
How we keep JavaScript code healthy
- Pages work without JavaScript before scripts are added
- Scripts loaded with defer and kept small
- Accessibility checks on interactive elements
- JSDoc types checked by the TypeScript compiler
Questions about JavaScript
Is this website built the same way?
Yes. Every page here is static HTML, and JavaScript only adds form hints and the cookie settings dialog.
Do you maintain existing JavaScript projects?
Yes. We start with a review, then add linting and tests before changing behaviour.