Hooks
ViewA typed collection of reusable hooks and composables for React, Vue, Nuxt, and other modern frontend projects.
Less repetition, more building
I built Hooks, an open-source collection of reusable, type-safe hooks and composables for React and Vue. The idea came from repeatedly writing the same utility logic across different projects, whether it was managing browser storage, detecting network connectivity, or handling everyday interactions.
Rather than keeping these utilities scattered across codebases, I wanted a single library that developers could install, reuse, and contribute to.
One library, different frameworks
One of the main decisions was supporting both React and Vue without maintaining two completely separate libraries.
I structured Hooks around shared TypeScript logic, with framework-specific implementations that integrate naturally with React hooks and Vue's Composition API. This allows the library to support React, Vue, Nuxt, and TanStack Start while keeping the underlying functionality consistent.
The package is distributed through npm as @cermuel/hooks, with separate imports for React and Vue so developers can use only what their applications need.

Making contributions easier
I wanted Hooks to be approachable for other developers, not just something I maintained myself.
I designed a contribution workflow with a CLI command, pnpm create:hook, to scaffold new hooks. Contributors can choose supported frameworks and generate the necessary structure for implementation, metadata, examples, and tests.
The documentation system is designed around each hook's TypeScript definitions and examples, reducing the amount of documentation contributors need to write manually.
This keeps the library organized as it grows and makes it easier to maintain consistent documentation across different frameworks.
Built for developers
I developed the project as a pnpm monorepo, using TypeScript, React, Vue, Nuxt, tsup, and Vitest, with GitHub Actions supporting automated quality checks.
Alongside the package, I built a documentation website where developers can explore available hooks, understand their parameters and return values, and find practical usage examples.
Hooks gave me the opportunity to work on something different from a typical web application, particularly around package architecture, cross-framework compatibility, developer experience, and open-source contribution workflows.
The result is a growing collection of frontend utilities designed to make everyday development simpler, more consistent, and less repetitive.
