Tell your users what you shipped, without it looking bolted on.

One script tag. Your colours, your type, your corners โ€” previewed against a light and a dark host before you save.

See how it works

Free for your first app. No card to start.

๐ŸŽจ Style Customization
Customize the appearance of your announcements to match your brand
Primary Color
โ— #b8442a
Background Color
โ—‹ #ffffff
Corners
Soft
Elevation
Subtle
Live preview
Version 2.0 is live
Faster exports, a rebuilt editor, and dark mode.
Style tabRendered by the same code your visitors get, on a neutral page so you can judge contrast.

The preview is what your users get, not an approximation.

Pick a layout, write the message, watch it change as you type. Keep the same announcement in English, Spanish, French and German.

  • Rich text, images, a button and a link
  • Draft or Active, with optional start and end times
  • Desktop and mobile preview
Edit announcementร—
Choose Layout
โ—ˆ Simple Text
Announcement Title
Exports now include source citations
Message
Rich text
Every claim in an exported draft now links back to the research that produced it.
Announcement Preview
Exports now include source citations
Every claim links back to the research that produced it.
Path Trigger
contains /dashboard
Device Preview: Desktop
Exports now include source citations
Every claim links back to its source.
Client Preview ยท desktop
Device Preview: Mobile
Exports now include source citations
Every claim links back to its source.
Client Preview ยท mobile

Show it only where it's relevant.

Two rules, and they work the same way everywhere.

  • Path โ€” contains, starts with, ends with, does not contain.
  • Metadata โ€” anything your app passes: user.role equals learner.
  • Dismissals are remembered, so nobody sees it twice.
Edit banner โ€” Display
Position
Top of viewport
Colour
Gradient โ€” #b8442a โ†’ #7c2d18
We're live on Product Hunt today โ€” a comment there means a lot.
Banner ยท Display tab
We're live on Product Hunt today.
Banner ยท as the visitor sees it

Views per announcement, down to the user.

Pass a user ID in the script tag and every view is attributed โ€” totals, unique users, and who saw what when.

Total Views
1
Unique Users
1
First Seen
01/09/2026
Latest View
01/09/2026
Individual Viewers
User IDViewed At
3601/09/2026, 22:57:37

Free to start.

Announcements, banners, feedback forms and visitor analytics โ€” all of it, on one app, free. Paid plans coming soon.

The questions people actually ask.

Will it look like a third-party widget in my app?

That's what the Style tab is for: colours, background, text, font size, corner radius, elevation, your logo, and a custom CSS box for anything else. The preview renders with the same code that serves your visitors, on a light and a dark host.

How does it know who my user is?

Your script tag carries a data-user-id. Views are attributed to it, and any metadata you pass โ€” role, plan, locale โ€” becomes a targeting condition.

How do I install it?

Create an app, add your domain to Allowed Origins, paste one script tag into your layout. Only origins you list can display your announcements.

Can my AI tools write announcements for me?

Yes. Connect Claude, Cursor or your own tooling with a personal key. Assistants create and edit drafts only โ€” activating an announcement stays your decision in the dashboard.

Live in your app in four steps.

Sign inEmail, Google or LinkedIn. No password to set.
Name your appOne line: what it is.
Add your domainOnly listed origins can show your announcements.
Paste the tagOne <script>, then write your first announcement.
ยฉ 2026 Wizewerx Ltd (UKย 06003824) t/a towncrier.io. All rights reserved.PrivacyTerms1.0.0:dev