In-App 'What's New' Embed Widget: Architecture and Best Practices
How to integrate a lightweight, unread-badged product changelog modal directly inside your SaaS application with a single script tag.
Soobrief Team — Product & Engineering, Sooapps ·
In short
The in-app 'What's New' embed widget injects a customizable changelog modal and unread notification badge into any web application using a lightweight script tag. Operating via an isolated iframe or shadow DOM, it displays recent release publications without style leaks or performance overhead.
The in-app 'What's New' embed widget injects a customizable changelog modal and unread notification badge into any web application using a lightweight script tag. Operating via an isolated iframe or shadow DOM, it displays recent release publications without style leaks or performance overhead.
Publishing changelogs on a remote blog means only a fraction of active users ever see your hard work. Displaying updates directly inside your SaaS application increases feature adoption immediately.
1. Single-Tag Drop-in Implementation
Integrating the widget requires adding a single script tag before the closing </body> tag:
<script
src="https://api.soobrief.com/v1/public/widgets/YOUR_WIDGET_KEY/script.js"
async>
</script>
The script creates an unobtrusive floating trigger button (or binds to your existing navigation bell icon via data-soobrief-trigger).
2. Unread Badge State Management
To avoid annoying repeat visitors, the unread state is calculated locally:
const lastSeen = localStorage.getItem('soobrief-seen-' + widgetKey);
const hasUnread = !lastSeen || new Date(latestPublishedAt) > new Date(lastSeen);
if (hasUnread) renderBadgeDot();
When the modal opens, lastSeen updates immediately to the current timestamp.
3. Real-Time Feedback and Adoption Metrics
Users can react to each feature card with pre-configured reactions (useful, excited, more_info). These signals feed directly into your Soobrief analytics dashboard, showing which features resonated best.