Public Changelog

You've done something incredible: you've built a fully working SaaS from scratch. Real features. A database. Authentication. Third-party integrations. API integrations. Payments. This is a major milestone, and it's just the beginning. Now it's time to celebrate what you've built and establish a practice of documenting your progress through a public changelog.

What you'll produce

• Working /changelog page documenting your v1.0 release
• Understanding of why changelogs matter for momentum, culture, and growth
• Practice for maintaining your changelog as you ship future updates

1. Celebrating your achievement

You've Done Something Extraordinary:

Congratulations! You've just built a fully working SaaS from scratch. This isn't a tutorial app or a demo–this is the real thing:

Real features that solve actual problems
Production database (Neon) storing user data
Authentication system (Clerk) protecting your app
Third-party integrations (Stripe, payment processing)
API integrations (webhooks, data syncing)
Payment system with subscriptions and feature gating
Production deployment with security and monitoring

This is a production SaaS that real users can sign up for, pay for, and use.

This Is Just the Beginning:

You've completed the foundation. Now the real journey starts: iterating based on user feedback, adding features users request, fixing bugs they find, and growing your product into something users love and pay for.

Why Document Your Journey:

As you move forward, it's worth keeping a journal of everything that changes and gets published. This is typically done through a changelog–a public record of your progress that:

  • Keeps you motivated – seeing progress accumulate is powerful
  • Builds trust – transparency shows users you're actively improving
  • Creates momentum – regular updates prove you're moving forward
  • Attracts users – people follow companies that ship consistently
  • Helps recruiting – candidates see your execution culture
  • Impresses investors – demonstrates ability to execute

Outcome: You understand the significance of what you've built and why documenting progress matters.

I understand the significance of what I've built

2. Understanding why changelogs matter

The Philosophy Behind Changelogs:

As Karri Saarinen from Linear explains in Startups, Write Changelogs, changelogs serve multiple purposes beyond just documenting changes:

1. Momentum:

"In the early stages of startups, it's important to keep moving and make progress. As Paul Graham says, startups rarely die in mid keystroke but they die because they get demoralized and give up. Having a changelog reminds you each week that the way forward is to keep making something people want."

2. Early Adopters:

"Most startups start with a core group of early adopters. These are people who are excited and willing take a risk of a newly developed software, and likely want to be part of helping to shape the product as well. Fixing things and publicly sharing the new changes and additions shows that you value the user feedback and want to improve the product for them."

3. Culture:

"Weekly changelogs help communicate that the company values execution and shipping things, which is crucial in startups. If you don't ship your work, you are not creating value for users, and increase the value of the company. It can also be a celebratory moment for the team as a whole when team members release their first features and sees the user feedback in real-time."

4. Marketing:

"We have over a thousand people who follow and interact with the changelog updates. They find the progress, design, and other changes inspiring, and sometimes share it with their co-workers or friends, even if they are not Linear users. This spreads the word and leads to more people adopting Linear."

5. Recruiting:

"As the changelog is public, it acts as marketing for potential candidates: things about your culture, the product, and how you make progress. Most of our candidates have followed our changelog posts for a while before applying. Companies that execute fast, while valuing quality and craft, is appealing for many builders. Actions speak louder than words."

6. Investor Relations:

"Likely the majority of angel investors and VCs that I met mentioned they have been following our changelog updates, and have been impressed by the progress. This means that even before talking to them, they already had some sense of how we work, how the product works and how fast we make progress."

Key Takeaway: A changelog isn't just documentation–it's a tool for building momentum, culture, trust, and growth.

Resources:

Outcome: You understand the deeper value of changelogs beyond just listing features.

I understand why changelogs matter

3. Building your changelog

The Simple Approach:

Your changelog will use a markdown file. This is the simplest approach for documenting your progress–no database needed, just a markdown file that you update as you ship features.

Entry Structure:

  • Date (when shipped)
  • Version (optional, e.g., "v1.0", "v1.1")
  • Category (New Feature, Bug Fix, Improvement)
  • Title (brief, clear)
  • Description (what changed, why it matters)

Design Principle:

Keep it simple: date, title, description. No fancy animations. The content matters more than the presentation.

Create changelog page and v1.0 entry
Help me create a changelog page for my SaaS and document v1.0.
**Steps:**
1.**Create markdown file for changelog:**
- First, check how my app is organized and ask me where it keeps its content/data files, then create a `changelog.md` there
- This will store all your changelog entries in markdown format
2.**Create /changelog page:**
- Add a public `/changelog` page wherever my app keeps its marketing/public pages (ask me about my structure rather than assuming one)
- Read changelog entries from the markdown file
- Parse markdown entries (you can use a markdown parser or simple regex)
- Display entries with: date, category, title, description
- Show latest entries first
- Keep design simple and clean
3.**Document v1.0 – List everything you've built:**
Review all your lessons and document:
- **Core Features:** What problems does your app solve? What are the main user-facing features?
- **Authentication:** Clerk authentication (sign up, sign in, protected routes)
- **Database:** Neon database with your data models
- **Third-Party Integrations:** What external services are integrated?
- **API Integrations:** Webhooks, API routes, data syncing
- **Payment System:** Subscription tiers, payment processing (Stripe), feature gating
- **Production Infrastructure:** Deployment, security, monitoring
Create a comprehensive v1.0 entry celebrating everything you've achieved:
- Date: Today's date
- Version: v1.0
- Title: "Launch: We're Live!" or "v1.0: Our First Release"
- Description: Celebrate the achievement and list all major capabilities
4.**Design the page:**
- Simple, clean layout
- Date, category badge, title, description for each entry
- Optional: Include screenshots for v1.0 launch
- Make it shareable (public URL)
**Example v1.0 entry structure:**
```
## v1.0 - [Date]
### 🎉 We're Live!
After [X weeks/months] of building, we're excited to launch [Product Name] v1.0!
**What's Included:**
**Core Features:**
- [Feature 1]
- [Feature 2]
- [Feature 3]
**Infrastructure:**
- User authentication and protected routes
- Production database
- Payment processing with subscription management
- Real-time data syncing via webhooks
- Production deployment with security monitoring
**Subscription Tiers:**
- [Tier 1]: [What users get]
- [Tier 2]: [What users get]
This is just the beginning. We're excited to iterate based on your feedback!
[Call to action: Try it now / Sign up / etc.]
```
After creating, commit the changelog page and v1.0 entry.

Outcome: You have a working /changelog page with a comprehensive v1.0 entry documenting all your achievements.

My changelog page exists with v1.0 entry documenting all features

4. Maintaining your changelog going forward

Establishing the Practice:

Now that you have a changelog, here's how to maintain it as you ship future updates:

Best Practices (from Linear's experience):

  1. Set a schedule:

    • Weekly or bi-weekly cadence
    • Try not to slip – if progress is slow, understand why
    • Pair with your sprint/cycle completion
  2. What to include:

    • Feature 1–3 larger changes as highlights
    • Collect all small fixes in one section
    • Focus on things interesting to humans (not database migrations unless they improve UX)
    • Include screenshots or videos when possible
  3. Writing style:

    • Rotate writing responsibility (if you have a team)
    • The person who built the feature usually writes the entry
    • Find your voice – technical audiences appreciate details, others may not
    • Keep it human and engaging
  4. Share your updates:

    • Post changelog updates to Twitter/X with screenshots
    • Allow newsletter subscriptions (copy changelog content to your newsletter tool (Beehiiv, Substack, etc.))
    • Share in your community channels

How to Update:

Add new changelog entry for feature update
Help me add a new changelog entry for a feature I just shipped.
**Process:**
1.**Identify what to document:**
- What feature or change did you ship?
- Why does it matter to users?
- Include screenshots if helpful
2.**Add entry:**
- Open your changelog markdown file (wherever you created it earlier)
- Add new entry at the top of the file (latest first)
- Format: Date, Category, Title, Description
3.**Categories:**
- **New Feature:** Something users can now do
- **Bug Fix:** Fixing something that was broken
- **Improvement:** Making something better
- **Security:** Security-related updates
4.**Write clearly:**
- Focus on user value, not technical details
- Be specific: "Added dark mode" not "Updated UI components"
- Explain why it matters
5.**Commit and ship:**
- Commit changelog update with your feature
- Deploy together so changelog reflects current state
**Example entry:**
```
## [Date]
### New Feature: Dark Mode
Users can now switch to dark mode in their settings. We heard this was important for late-night workflows, so we're excited to ship it!
[Optional screenshot]
```

Remember:

"So write changelogs. It's an easy and low-effort way to keep the momentum, get new users, recruit, and build investor relationships. All things that help your company to be more successful." – Karri Saarinen, Linear

Resources:

Outcome: You understand how to maintain your changelog and have established a practice for documenting future updates.

I understand how to maintain my changelog going forward

Level 6 completed - Booyah!


Congratulations! You've made it through the entire Codex–from setting up your local environment to building a fully functional SaaS with payments, authentication, and everything in between. This is no small feat. You've stuck with it through the ups and downs, the debugging sessions, the feature implementations, and all those moments where things didn't work the first time. You've built something real, something that works, and something you can be proud of. Thank you for your perseverance, your dedication, and for trusting this process. You're not just a learner anymore–you're a builder. Now go ship something amazing. 🚀

– Ben