9 min read

LastRelease

paused

Last Release

LastRelease is a SaaS product I built to help software teams publish better product updates.

The idea came from a problem I was experiencing myself. I had already built Clappy, and while I was working on Staybit, I needed an easy way to show users and potential customers that the product was alive, improving, and moving forward.

I wanted a place where I could publish new features, improvements, bug fixes, and product decisions without having to build a custom changelog or turn every small update into a full marketing post.

The more I thought about it, the more obvious the problem became: many companies ship constantly, but they do not always communicate that progress well. New features get buried in emails, Slack messages, or social posts. Bug fixes are mentioned once and forgotten. Potential customers visit a website and cannot easily tell whether the product is actively evolving.

I thought that if I had that problem, other founders and software teams probably had it too.

So I built LastRelease: a simple way for teams to turn product progress into clear, public communication.

What I built

LastRelease allows companies to create a hosted product updates page where they can publish announcements, release notes, fixes, improvements, and new features.

Each company can customize its public page with its own branding, colors, logo, favicon, call-to-action, and subdomain. The goal is for the updates page to feel like part of the company’s product, not like an external widget awkwardly attached to it.

Last Release

The editor supports rich text, markdown-style writing, images, and code blocks with syntax highlighting, making it especially useful for software products that need to communicate both product and technical changes.

I also added support for tags and filters, so updates can be grouped by type, such as new features, improvements, fixes, or custom categories created by the team.

Some of the core features include:

  • Hosted public product updates pages
  • Custom subdomains
  • Branding customization
  • Rich text and markdown-style editing
  • Image uploads
  • Code blocks with syntax highlighting
  • Tags and filters
  • SEO-friendly public pages
  • Open Graph image generation
  • View tracking for announcements
  • Internal preview before publishing

The product has two sides: a private app where teams can write and manage updates, and a public-facing updates page where their users can follow the company’s progress.

Last Release

Why I built it

I have always liked products that communicate clearly.

As a user, I enjoy knowing when a product is improving. As a builder, I know how much work can happen behind a small release note. A tiny line in a changelog can represent days of debugging, design decisions, customer conversations, edge cases, and tradeoffs.

But many teams either do not announce their work at all, or they announce it in a way that disappears quickly.

LastRelease is my attempt to make product communication feel lightweight enough that a founder, product team, or software company would actually do it consistently.

The original target was early-stage startups, indie hackers, and SaaS teams that were shipping fast and needed a simple way to keep users informed without setting up a custom blog, documentation system, or marketing workflow.

I wanted LastRelease to help teams show that their product was not static. It was alive.

Technical notes

I built LastRelease with a modern web stack focused on performance, SEO, and a good editing experience.

The public pages were designed to be fast and indexable, because product announcements can also become useful acquisition pages. A release note about a feature, integration, or use case can attract people searching for exactly that problem.

The app uses a rich text editor to give teams flexibility when writing posts, while still keeping the publishing experience simple. I also worked on image handling, custom branding, subdomain routing, caching, metadata, and preview flows.

One of the more interesting parts of the product was the separation between the internal application and the public customer pages. The private app does not need SEO, but the public update pages do. That influenced how I structured routing, rendering, caching, and metadata.

It was a good reminder that not all parts of an application have the same requirements. Some pages need to be dynamic and private. Others need to be public, fast, crawlable, and shareable.

What I learned

LastRelease taught me that small SaaS products still need a very sharp distribution strategy.

The product solves a real problem, but “a real problem” is not always enough. Many teams know they should communicate product updates better, but that does not mean it is urgent enough for them to adopt a new tool immediately.

I also learned that positioning matters as much as the feature set.

Is LastRelease a changelog tool? A release notes tool? A product announcements platform? A customer communication tool?

The answer could be “all of them,” but the market usually does not reward vague positioning. People need to understand quickly why the product exists, who it is for, and why they need it now.

Another important lesson was the importance of time to value.

For LastRelease to feel useful, a customer needs to reach the “aha” moment quickly. They should be able to create an account, write a first update, customize their page, publish it, and immediately see how it could be shared with users or potential customers.

If onboarding does not get them to that moment fast enough, the product can feel abstract.

That changed how I think about activation. A product should not only have useful features. It should guide users toward the moment where those features become obviously valuable.

The challenge of the right customer

Another challenge was identifying the right initial customer.

Not every company is a good fit for a product like LastRelease. A team needs to be shipping often enough, care enough about product communication, and have enough users or potential customers for an updates page to matter.

That sounds obvious, but it is easy to underestimate when building a B2B SaaS product.

A B2B product does not just need users. It needs a very specific customer with a specific pain, a specific workflow, and a specific reason to pay.

For LastRelease, the best customer is probably not “any company that ships software.” It is more likely a founder-led SaaS company, startup, or product team that already understands the value of communicating progress, but does not want to build and maintain that system themselves.

That distinction matters.

AI and the future of LastRelease

One of the interesting challenges for LastRelease is that AI agents make it easier than ever for teams to build their own product announcement pages.

A small team could ask an AI tool to generate a changelog page, connect it to a database or CMS, and create a basic version of what LastRelease provides.

That changes the value proposition.

The product cannot only be “you do not know how to build this.” Many customers can build more things now, or at least get much closer than before.

The stronger value proposition is convenience, polish, maintenance, and workflow.

Some teams do not want to spend time building and maintaining a changelog system. They do not want to think about hosting, SEO, editors, image handling, metadata, analytics, permissions, design, or future improvements. They just want a good product updates page that works.

I also think AI can make LastRelease more valuable, not less.

There is an opportunity to help teams turn raw notes, pull requests, issues, commits, or internal product updates into clear announcements written for users. Instead of replacing the product, AI could become part of the workflow: helping teams communicate better with less effort.

That is one of the reasons I still find the idea interesting.

Current status

LastRelease is currently on pause while I focus on Consultorial, an AI-enabled product for clinicians and private practices in Mexico.

But I do not see LastRelease as abandoned.

In fact, some of the things I am learning while building Consultorial could make LastRelease better. Consultorial has pushed me to think more deeply about rich text editing, AI-generated content, document workflows, structured writing, and how users review and refine generated output.

Those lessons are directly relevant to LastRelease.

If I return to the project, I would like to apply those learnings to make the product faster to activate, clearer in positioning, and more useful with AI-assisted writing.

Looking back

I still like the idea behind LastRelease.

Companies should communicate product progress better. Users should be able to see that the tools they use are alive, improving, and listening. A good product updates page can build trust, reduce uncertainty, and make users feel closer to the team building the product.

But LastRelease also reminded me that building the product is only part of the job.

You also need clear positioning, a strong acquisition channel, fast activation, a specific target customer, and a painful enough problem that people are motivated to change their current behavior.

That is one of the reasons I like building products. Every project teaches you something that is difficult to learn from the outside.

LastRelease has taught me about product communication, SEO, onboarding, positioning, AI, and the gap between “this should exist” and “people are ready to pay for this.”

It is a product about helping teams share what they ship.

In the process, it has taught me a lot about shipping itself.