Our highlights from Nordic.js

Einfache Illustration eines Laptops mit einem lächelnden Gesicht und einem blauen Wikingerhelm auf einem hellblauen Hintergrund.

Last week there were six of us at Nordic.js. We took the train via Hamburg to Stockholm. Here is a short wrap-up of what we took away from our trip to the north.

Node.js: ESM-only is now really in

Five years of ESM/CJS chaos? Ticked off. Thanks to Joyee Cheung's fix, Node.js can now run synchronously. require() on ESM packages - backported into current LTS versions. This means for all of us: ESM-only publishing is safe. Dragging CJS along? No longer necessary.

What does this mean in concrete terms for packages?

  • New standard setup with type: "module"
  • Clean exportsMap (incl. types)
  • One entry for everything - no double-shipping
{
  "type": "module",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js",
      "default": "./dist/index.js"
    }
  },
  "main": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "engines": { "node": "^20 || ^22.12" }
}

Heads-up: Works with practically all libs - unless they use top-level await. This is rare - but check it out.

Read more: https://joyeecheung.github.io/blog/2024/03/18/require-esm-in-node-js/

Platform-First: Use what the browser can do

HTML/CSS can do more again in 2025. Tooltips, slideshows, offcanvas, popovers. Many things are now possible natively, without JavaScript overhead. Una Kravets has shown various patterns, e.g. "Follow the Anchor".

Read more: https://una.im/follow-the-anchor

AI, but pragmatic: small, local, in the browser

Nico zeigte, wie ein Personal AI Assistant komplett im Browser läuft: schlanke Modelle, WebGPU, keine Serverkosten. Für viele Use Cases reicht das locker und es braucht nicht immer ein Top-Notch Open-AI GPT 5.0:

  • Speech-to-text and text-to-speech
  • Image recognition
  • On-device wizards for data protection-sensitive workflows

Read more: https://nico.dev/

AI for refactorings: code mods with a system

Maja showed how they used AI at Notion to make the big chunk of refactoring plannable. Having code mods written and using humans where things get tricky.

Your approach as a recipe:

  1. Migrate 1-2 components/files manually - document each step.
  2. Generate a codemod from Alt+New + Docu with AI.
  3. Review, run on a small scope.
  4. Iterate, increase the scope until it fits.

Read more: https://bsky.app/profile/majapw.bsky.social

AI interfaces that don't just chat

Conversation alone is rarely the best UX. Vitaly showed examples of how we can embed AI in work steps instead of letting users guess prompts: first clarify the scope, then define guard rails and incorporate a quick feedback loop. This makes AI noticeably faster and more useful than pure chat.

Read more: https://www.smashingmagazine.com/2025/07/design-patterns-ai-interfaces/

Further topics

... were accessibility, why passkeys are better than passwords, various lightning talks and other inputs.

Written by
Thilo Haas

Technology|Oktober 2025

More Articles