Nuxt team built a privacy-first feedback widget for their documentation using Vue 3, Motion animations, and Drizzle ORM. The solution anonymizes users through daily-rotating SHA-1 hashes of IP and user agent data, inspired by Plausible's approach. The widget features smooth animations, UPSERT conflict handling for duplicate submissions, and GDPR compliance by design without storing personal data.
Table of contents
Why a feedback widget?Technical architectureShared types for consistencyWhat's nextSort: