DEV Community

Nicolás Giacconi
Nicolás Giacconi

Posted on

Adding native-feeling haptics to Angular web apps with ng-haptics

Adding native-feeling haptics to Angular web apps with ng-haptics

I wanted Angular web apps to feel a bit more “native” on mobile devices, especially when it comes to touch feedback.

So I built a small open-source library called ng-haptics.

It’s a lightweight Angular-first way to add haptic feedback using only native Web APIs.


💡 Why this exists

Web apps often feel “flat” compared to native apps.

One missing piece is tactile feedback:

  • button presses
  • success/error feedback
  • interaction confirmation

Native apps solve this with haptics. Web apps usually don’t.

ng-haptics tries to bridge that gap in Angular.


⚙️ What it is

A tiny Angular library that provides:

  • Standalone APIs
  • Declarative directives
  • SSR-safe design
  • Zero dependencies
  • Mobile-first testing

🧪 Example usage

<button ngHaptic="light">
  Click me
</button>
Enter fullscreen mode Exit fullscreen mode

📱 Demo

👉 https://xaconi.github.io/ng-haptics/

👉 GitHub: https://github.com/Xaconi/ng-haptics

👉 npm: https://www.npmjs.com/package/ng-haptics


🎥 Demo video


🧠 Notes

This is not a wrapper around Capacitor or native SDKs.

It’s built entirely on top of native Web APIs like:

  • navigator.vibrate()
  • feature detection
  • fallback-safe design

🚀 Final thoughts

This started as a weekend experiment, but it turned into a small Angular utility for improving UX in mobile web apps. Huge thanks to Lochie's amazing web-haptics lib, a great inspiration!

Would love feedback from other Angular developers 🙌

Top comments (0)