Open source · Self-hosted

Make every
update land.

Publish product news where people will actually see it, right inside your app. Ding gives you a tiny changelog widget, a private dashboard, and full ownership of the stack.

4.2 KB
gzipped widget
$0/mo
forever
1 service
to deploy
Signal delivered
An illustrated editor, bell signal, server, and in-app announcement feed
Write once.It lands in your product.
Own your updatesNo third-party scriptsShip from your stackOwn your updatesNo third-party scriptsShip from your stack
From publish to noticed

A shorter path from
“we shipped” to “I saw it.”

Ding keeps the whole announcement loop small, understandable, and yours.

  1. 01

    Write the update

    Draft in Markdown, add a tag, and publish from your private dashboard.

  2. 02

    Serve it yourself

    Your announcement and analytics stay on your infrastructure, not ours.

  3. 03

    Meet users in-app

    A discreet bell and feed put what changed exactly where users already are.

The actual experience

Small footprint.
Clear signal.

The widget stays out of the way until there is something worth saying. Try the bell. This is the interaction your users get.

  • Framework-agnostic
  • Keyboard accessible
  • Read state stays local
acme.app/dashboard

Try it Click the blue bell

Why Ding

Everything you need.
Nothing rented.

CONTROL

Your updates.
Your server. Your data.

Announcements, aggregate analytics, and admin access stay in one deployable service under your control.

LIGHTWEIGHT
4.2KB

Less than a favicon.

No runtime dependencies, fonts, CDNs, or third-party scripts in the widget.

PRIVACY
NO
RAW
IPs

Useful numbers, not user profiles.

Understand announcement performance with aggregate views and clicks.

FLEXIBLE

Bring any frontend.

Ding is one script tag. Your framework does not matter.

Setup, not a saga

From clone to
ding in minutes.

One service. One SQLite database. No account to create and no billing screen waiting at the end.

DockerSQLiteNodeMIT
Read usage & deployment docs
terminal
$ git clone https://github.com/UncleTeslim/ding.git
$ cd ding
$ npm install
$ npm run setup
$ docker compose up --build

✓ Ding is live at http://localhost:3000

Ready when your next update is.

Ship it.
Then ding it.

Get Ding on GitHub Open source · MIT licensed