Try free tools
App source code · one-time purchase

Shiplog: a public roadmap and changelog you host yourself

Shiplog is a self-hosted web app for software makers who want to tell customers what is planned, what is being built and what has shipped. It gives you a public roadmap where visitors vote on ideas and suggest their own, a changelog for your release notes, a "What's new" button you can add to any website with one script tag, and an email to your subscribers when you publish an update. You buy the source code once and run it yourself: no per-user or per-visitor billing.

£49or $66.99 · XAF 37,500 · one-timeBuy on Selar See it in action
Self-hosted: you own the dataNo per-user or per-visitor billingOne script tag for the widgetFull source code (Next.js)

What Shiplog does

Customers keep asking "is that feature coming?" and "what changed?". Shiplog answers both in public. The roadmap has three columns (Planned, In Progress and Live). Visitors upvote the ideas they want and can add their own, so you can see what matters most. The changelog is a clean feed of release notes written in Markdown.

When you publish a new changelog entry, Shiplog can email everyone who subscribed. And a one-line script tag adds a floating What's new button, with an unread-count badge, to your own website or app so customers see updates without leaving it.

Who it is for

  • Indie developers, small SaaS teams and agencies who want a public roadmap and release notes without paying per tracked user.
  • Anyone who wants customer feedback and updates on their own domain, in a database they control.
  • Developers who want a small, readable starting point for a feedback board.

Who it is not for

  • People who want a ready-made website to sign up to: this is software you install and host yourself.
  • Teams that need several admins with separate logins, or several products on one install: it has one shared admin token and one board.
  • Anyone who needs moderation tools for incoming ideas, comments on ideas, an unsubscribe link in emails or customer segments: none of those are built in.

How it works

There are three public parts and one private admin page.

Visitors see your roadmap

The home page shows every idea in three columns. Visitors press the up-arrow to vote (one vote per visitor per idea) and can use Submit an idea to add a title and description.

You write release notes

In the admin page you write an entry in Markdown, with optional tags and a cover image address. Save it as a draft, or publish it.

Subscribers are notified

The first time you publish an entry, everyone on your subscriber list gets an email with the title, a short excerpt and a link to the full entry. People join the list with the form on the changelog page.

Customers see it in your own app

Paste one script tag into any page of your website or product. It adds a "What's new" button that lists your latest updates, with a red unread count for anything the visitor has not opened yet.

You sign in to the admin page with one secret token that you set in your settings file. Shiplog refuses the placeholder token that ships in the example file, so the admin stays locked until you choose your own.

Features

This is the complete list of what version 1.0.1 does. Nothing here is a roadmap item.

Public roadmap board

Planned, In Progress and Live columns showing every idea with its vote count.

Anonymous upvoting

Visitors vote without creating an account. A cookie ties one vote to one visitor per idea, and a second press removes it.

Idea submission

Anyone can submit an idea (title and description). It appears at once in the Planned column.

Admin roadmap control

From the admin page you move any idea between Planned, In Progress and Live with a drop-down.

Markdown changelog

Write release notes in Markdown with tags and an optional cover image. Published entries appear on a public feed and on their own pages.

Drafts

Save an entry as a draft and publish it later. Drafts are not shown publicly.

Email subscribers

A subscribe form on the changelog page collects emails. Publishing a new entry emails the subscribers. The admin page shows the subscriber count.

Embeddable What's new widget

One dependency-free script tag adds a floating button and panel with your latest eight updates and an unread-count badge.

Token-protected admin

A single secret token protects the admin page and its API. Without it, nobody can change statuses, write entries or read subscribers.

Full source code

Next.js, React, TypeScript, Tailwind and Prisma with SQLite by default. Emails go out through Resend, or are written to a local log file while you test.

A Shiplog changelog entry page with tags and rendered Markdown
A published changelog entry: tags, a date and the Markdown you wrote, rendered.

Walkthrough: suggest an idea, publish an update, show it in your app

These are real screenshots from Shiplog running with the sample data it ships with. The "Sample Notes App" in the last two pictures is a stand-in page I made, to show where the widget appears on a customer's site.

1The public roadmap

Visitors see what is planned, in progress and live, and vote with the arrow on each card.

Shiplog roadmap board with Planned, In Progress and Live columns and vote counts on each card

2Anyone can suggest an idea

Press Submit an idea, type a title and describe the problem it would solve.

Shiplog Submit an idea form with a title and description filled in

3It lands in Planned

The new idea shows up straight away at the top of the Planned column with zero votes.

Shiplog roadmap with the new idea at the top of the Planned column

4A public changelog

The changelog page lists your release notes, newest first, and has the form where visitors subscribe by email.

Shiplog changelog page with a subscribe form and a list of release notes

5Sign in as admin

The admin page is behind your secret token.

Shiplog admin sign-in page asking for an admin token

6Manage the roadmap and your entries

Change an idea's status with its drop-down, see your subscriber count, and open or create changelog entries. Drafts are marked as such.

Shiplog admin page with roadmap items and status drop-downs, a subscriber count and a list of changelog entries

7Write an entry in Markdown

Give it a title, tags and Markdown text. Save draft keeps it private; Publish + notify publishes it and emails your subscribers.

Shiplog new changelog entry form with a title, tags and Markdown text

8Show updates inside your own site

After you add the script tag, a What's new button appears in the corner of your page.

A sample website with a What's new button in the bottom-right corner

9Customers open the panel

Pressing it lists your latest updates. The unread badge disappears once they have looked.

A sample website with the What's new panel open, listing the latest changelog entries

These steps use only features that are in the product. While you test, emails are written to a log file instead of being sent.

Install and set up

Shiplog is a standard Next.js project. If you have deployed a Node.js site before, this will feel familiar. If you have not, ask a developer or hosting support to do the install once: after that, using it needs no technical skill.

What you need

  • Node.js 18.17 or newer and npm
  • A place to run a Node.js web app, with a domain or subdomain that you control
  • A terminal to run a handful of commands
  • For real emails: a Resend account with a verified sending domain, and its API key

Running it on a real website

  • Set ADMIN_TOKEN to a long random value, for example from openssl rand -hex 32
  • Set NEXT_PUBLIC_SITE_URL to your real address, so links in emails are correct
  • Set EMAIL_PROVIDER="resend", RESEND_API_KEY and EMAIL_FROM to send real email
  • Run npm run build and npm run start on a normal Node server, with the SQLite file on a disk that survives restarts, or switch to Postgres as the README describes
  • Serve it over HTTPS

Unzip and install

Unzip the download, open a terminal in the folder and install the packages.

npm install

Set your settings

Copy the example settings file, then set your own ADMIN_TOKEN, site name and site address.

cp .env.example .env

Create the database

Create the tables.

npx prisma migrate dev --name init

Add sample data (optional)

This adds sample ideas, release notes and subscribers so you can see how it looks. Skip it for a clean start, or delete the samples afterwards.

npm run db:seed

Start it

Run it locally to try it, or build and start it on your server.

npm run dev (try it locally) npm run build && npm run start

Add the widget to your site

Paste this one line into any page where you want the What's new button, using your own address.

<script async src="https://your-domain.com/widget.js" data-project="default"></script>

Before you go live: set your own admin token. The admin stays locked while the placeholder from the example file is in place. Anyone who has the token can write and publish entries and read your subscriber count.

What you receive after buying

You receive the complete source code as a single zip download from Selar, straight after payment.

In the download

  • The full Shiplog source code (Next.js, React, TypeScript, Tailwind)
  • The embeddable widget script
  • The Prisma database schema, the first migration and a seed script with sample data
  • A README with setup steps, the project structure and the known limits
  • An example settings file (.env.example) and the package list
  • No node_modules folder: you install the packages yourself with npm

Not included

  • Web hosting, a domain name or an installation service
  • A Resend account or any email-sending credit: you bring your own
  • A hosted copy to sign in to: you run your own
  • Updates or new features are not promised. You get the current version, 1.0.1
  • A single-buyer licence file (LICENSE.txt) is included: you may run and modify the code for your own business or hosted clients, but not resell or share the source

Limits and honest notes

Better you know now than discover it after you start. These come from the project's own README and code.

  • One board per install. One roadmap, one changelog and one admin token. The widget has a data-project setting, but the data is not separated by project.
  • One shared admin token. No individual logins, roles or two-step sign-in. Anyone with the token has full admin power.
  • No moderation tools. Anyone can post an idea and it appears immediately. From the admin page you can change an idea's status, but you cannot edit, hide or delete an idea, or delete a changelog entry, without touching the database. There is no rate limiting either, so spam is possible on a busy public site.
  • No unsubscribe link in the emails. Subscribers cannot remove themselves. Many countries require an unsubscribe option in marketing email, so add one before you email real customers.
  • Emails go out one at a time, inside the publish request. That is fine for hundreds of subscribers. For thousands, move sending to a background job.
  • Only the first publish emails people. Editing and re-publishing an entry later does not email subscribers again. Emails show a short plain-text excerpt, not the full entry.
  • Resend only. Real email goes through Resend, which needs its own account and a verified sending domain. Other providers need a small code change.
  • No image upload. Cover images and pictures in entries are web addresses of images hosted elsewhere.
  • No comments, attachments or tags filtering on roadmap ideas. Votes are anonymous and tied to a cookie, so a determined visitor could vote more than once from different browsers.
  • SQLite by default. Fine for low-traffic sites on a normal server. Switch to Postgres for serverless hosting, as the README describes.

Questions

Do I need to be a programmer?

You need to be comfortable installing a Node.js project and running a few terminal commands once. After it is installed, you manage everything from the admin page.

How do I add the widget to my site?

Paste the one-line script tag from the install section into any page, with your own address. It adds the What's new button. It needs no other code or libraries.

Do visitors need an account to vote?

No. Votes are anonymous. A cookie in the visitor's browser makes sure one browser gets one vote per idea.

Can I stop people from adding ideas?

Not with a setting. Anyone can submit an idea. If you need moderation, a developer would need to add it.

Does it send real emails?

Yes, through Resend, once you add a key and a verified sending address. While you test, the emails are only written to a log file.

Can I use it for more than one product?

Not on one install. Run a separate copy for each product.

Can several people sign in to the admin page?

They can all use the same admin token, but there are no separate accounts or roles.

Is there a limit on ideas, entries or subscribers?

Shiplog does not count or limit them and there are no per-user fees. Capacity depends on the server you run it on, and email sending is best for hundreds, not tens of thousands, of subscribers.

Tell customers what is coming. Show them what shipped.

One payment, full source code, and your roadmap, changelog and subscribers stay on your own server.

Buy Shiplog · £49

All our tools are listed on the tools catalogue. Free browser tools are in the tools hub.