DEV Community

Cover image for Stop Maintaining a Separate Changelog. Auto-Sync Your forg.to Product's Updates to Your Website in 5 Minutes
Kumar Kislay
Kumar Kislay

Posted on • Originally published at forg.to

Stop Maintaining a Separate Changelog. Auto-Sync Your forg.to Product's Updates to Your Website in 5 Minutes

You ship a feature. You post about it on forg.to. Then you open your website changelog and do it all over again.

That's the problem. You're writing the same update twice, for two different audiences, and the second time is just busywork. forg.to already has your updates. Your website should just… show them.

Here are three ways to make that happen. Pick whichever fits.
**
Method 1: Embed Widget (60 seconds, zero code)**
Go to your product on forg.to, hit Share, then Embed. Pick a theme and accent color, copy the iframe, drop it wherever your changelog section lives.

`<iframe
src="https://forg.to/embed/your-product?theme=dark&accent=%2310b981"
width="100%"
height="420"
frameborder="0"
style="border-radius:12px;border:1px solid rgba(128,128,128,0.15);"

`

It shows your 5 latest updates, your logo, tagline, and upvote count in a timeline layout. Every time you post on forg.to, the embed updates. You do nothing else.
Theme options: dark or light. Five prebuilt color presets (Classic, Night, Creator, Minimal, Warm), or pass any hex code to match your brand.

Method 2: Announcement Banner (even less work)
No changelog page? Don't want one? This is for you.
Paste a small script tag into your site's

. It fetches your latest update and injects a dismissible banner at the top or bottom of every page.

<script>
(function(){
var s="your-product", t="dark", a="#10b981", p="top";
fetch("https://forg.to/api/embed/"+s+"/latest")
.then(function(r){ return r.json() })
.then(function(d){
// creates the banner, handles dismiss, cleans itself up
});
})();
</script>

The smart bit: it uses localStorage to track which update each visitor has seen. Post something new on forg.to and the banner surfaces again for everyone. One post, automatic nudge to your whole user base. You choose "top" or "bottom". That's the only decision.


Method 3: The API (if you want full control)
If you want your changelog to look exactly like the rest of your site and don't want to deal with an iframe, use the public API. It's read-only JSON, CORS-open, and takes about 20 lines to wire up.
GET https://api.forg.to/v1/products/{your-slug}/updates
Authorization: Bearer YOUR_API_KEY
Full Next.js example:

`// app/changelog/page.tsx

async function getUpdates() {
const res = await fetch(
'https://api.forg.to/v1/products/your-slug/updates',
{
headers: { Authorization: Bearer ${process.env.FORG_API_KEY} },
next: { revalidate: 3600 },
}
);
if (!res.ok) return [];
return (await res.json()).updates;
}
export default async function ChangelogPage() {
const updates = await getUpdates();
return (

What's New


{updates.map((u) => (


{u.title}


{u.content}


{(Date.now() - new Date(u.createdAt)) / 86400000 < 7 && (
New
)}

))}

);
}`

Full styling control, your component structure, no iframe quirks. Rate limit is 100 req/min, which is more than enough for a changelog page.


What you get out of this
Your website changelog updates every time you post on forg.to. You write it once.
Visitors see that your product shipped something last Tuesday. That builds trust quietly.
Regularly updated content is good for SEO. A self-updating changelog compounds over time without any extra effort.

The point is simple: you were already writing these updates. Now they just go to two places instead of one.


Sign up at forg.to, post your first update, and pick any method above. You're done in under five minutes.

Top comments (0)