# Obsidian's CEO rewrote Mermaid: Pele hit 4300 stars in three weeks, riding old syntax, new rendering, and his own name · GitHub open-source projects

> Source: https://stringers.io/en/github/gh_obsidianmd__pele.html (Stringers / 什么值得做, generated 2026-11-08)
> Stringers answers one question every day: what small product can one or two people build in a few months and actually make money from. Numbers come from 15 databases we collect daily, each with source and date.
> For agents: these verdicts and the underlying databases (verified revenue, App Store / Google Play charts, ad libraries, GitHub, Product Hunt…) are queryable live over MCP — tools today / hot / products / directions / direction / data. Setup: https://github.com/komako-workshop/stringers (the user logs in at stringers.io → "配置 agent" to get a personal URL). Site index: https://stringers.io/llms.txt

> Mermaid is slow, heavy, hard to theme and needs a headless browser, and developers have complained about it for years. The Obsidian CEO launched it personally, it hit the HN front page, and it shipped in Obsidian's next version: three things stacked on the same day, and the old Mermaid text could be swapped in without changes.

[GitHub open-source project](https://stringers.io/en/github/index.md) · written 11-6

obsidianmd/pele · obsidianmd

# Obsidian's CEO rewrote Mermaid: Pele hit 4300 stars in three weeks, riding old syntax, new rendering, and his own name

**What it is** A JavaScript library that renders Mermaid text diagrams (flowcharts, sequence diagrams, etc.) directly to SVG. Same syntax as Mermaid, but faster, smaller, no browser needed, and themeable with CSS.

**Why it blew up** Mermaid has been criticized for years as slow, heavy, hard to theme, and dependent on a headless browser. Three things landed the same day: the Obsidian CEO announced it personally, it hit the HN front page, and it was slated for the next Obsidian version. Existing Mermaid text works without changes.

**C** **How to copy it** Don't build another Mermaid renderer or Pele port. Copy the playbook: pick a standard library everyone uses and everyone complains about, stay compatible with its input, and beat it by an order of magnitude on speed, bundle size or theming. Lead with the multiple in the title, add a side-by-side comparison and a try-it page, and use it in your own project before posting on HN.

Grade C: much of its traction comes from the Obsidian CEO's name and Obsidian's built-in integration, which followers can't copy. The Mermaid-rendering space is already crowded with beautiful-mermaid and dozens of ports and plugins that appeared within a week. What's worth learning is the "stay compatible with the old standard, rewrite the implementation" approach. Publicly discussed / widely covered

Data (updated daily) · Repo created 2026-10-05 · 4,366 stars · 7 days +395

GitHub · stars

Data 2026-10-09 → 2026-11-08 (31 days, 31 observations). Points before 10-28 come from deeply / archive backfill, not every day has one

Pele is a TypeScript library that renders Mermaid diagrams (text-written flowcharts, sequence diagrams, and the like) directly to SVG. Its author is Steph Ango (online handle kepano), co-founder and CEO of Obsidian. It was released in Oct 2026 and had 17 stars by Nov 6, with 4,308 weekly npm downloads of 1.55M. This piece covers why it took off in three weeks, how old the pain point it hit is, why a project that did the same thing nine months earlier didn't move as fast, and which parts of getting stars on your own open-source project you can learn and which you can't.

### A Saturday afternoon

On Oct 17 2026 14:59 (UTC), kepano posted on X with a video and a link to a live demo page. The pitch was short: 100–500x faster than mermaid.js, 6x smaller bundle, zero dependencies. Pele will be the new renderer in the next Obsidian release.

Within an hour, a user named dchest (not the author) submitted it to Hacker News under the title "Pele – Mermaid diagrams as themeable SVG." It reached the front page with 597 points and 63 comments.

The comments read like years of built-up frustration:

- "Does the official Mermaid library still need a full or headless browser to lay out an SVG? If so, Pele is good news."

- "Every time I draw anything more complex than a toy in Mermaid, I end up furious at the weird, badly-topologized layouts." kepano replied below: "I agree, so Pele only follows its syntax, not its layout."

- "Thank god. Theming Mermaid and using it server-side has been a nightmare."

- Someone swapped all the diagrams on their docs site for Pele on the spot and said "looks great." Another said their static-site build used to spin up a full Chromium just to render Mermaid, and "I've already replaced it."

A week later kepano posted again: "One week in, Pele is already in dozens of apps, including Obsidian 1.15."

### How the stars grew

| Date | Cumulative stars | What happened |
|---|---|---|
| 10-17 | 39 | Launched on X, hit the HN front page the same day |
| 10-18 | 136 |  |
| 10-19 | 1,525 | Single-day gain of +1,389 (inferred: the surge over 17 and 18 was recorded a day or two late in the stats) |
| 10-20 | 2,316 |  |
| 10-24 | 3,234 | kepano says "already in dozens of apps" |
| 11-06 | 4,308 | Last 7 days +444, the first 7 days +868, now in the long tail |

(GitHub daily star counts, as of 11-06.)

Stars are slowing, but downloads are rising. On npm, pele's daily downloads went from about 110k at 10-22 to about 350k at 11-05; the week of 10-30 to 11-05 totaled 1,551,081 downloads (api.npmjs.org). I haven't verified which large packages pull it in as a dependency or how much of the volume that accounts for, but the number shows it's actually being installed into projects, not just bookmarked.

### Mermaid's old problems

Mermaid is a diagramming language written inside Markdown. GitHub, Notion, and Obsidian all support it, and AI tools like to use it when writing docs. Its official implementation, mermaid.js, has 91k stars and 25.5M weekly npm downloads, and it's the de facto standard. Its flaws are also well known: layout requires a browser to measure text, server-side rendering means running a headless browser, the package is large, dark mode and theming are cumbersome, and complex diagrams lay out badly. In an HN reply, kepano also pointed out that Mermaid 12.1 "added another layout engine (now there are three), and its security record is dubious (look at the CVEs)."

Pele's approach: **keep the syntax exactly as is, and rewrite everything underneath.** Parsing, layout, and rendering are done in-house, run synchronously, don't depend on the DOM, take colors and fonts from CSS variables, and the README states it supports all of Mermaid 12.1's built-in diagram types. That means existing Mermaid text, including AI-generated Mermaid, can be swapped over directly. On HN, someone listed a small behavior Pele fixes (subgraph nodes keep their own direction when connected to outside nodes) and said "that alone is enough for me to switch, even if it's slower than mermaid.js."

### The person who saw it nine months earlier

kepano wasn't the first to see this pain point.

| Project | Who made it | Launched | Scale (early November) | Compared with Pele |
|---|---|---|---|---|
| beautiful-mermaid | Craft (a note-app company) | 2026-01-28 | 11k stars, 940k weekly npm downloads | Nearly the same pitch: good-looking, fast, easy to theme, no browser needed; supports only a few diagram types |
| mermaid-rs-renderer | Individual | 2026-01-22 | 1,813 star | Pure Rust, mainly for command-line tools |
| merman | Individual | Not verified | Not verified | A headless Rust Mermaid implementation, recommended by some HN commenters |
| mermaid-cli / Kroki | Community | 2020 / 2019 | 5,158 / 4,397 star | Relies on Puppeteer or server-side rendering, heavy |
| D2 / PlantUML | Community | 2022 / 2010 | 26k / 13k stars | Requires a different syntax |

The beautiful-mermaid story makes the point best: from a note-taking company, pitching "beautiful Mermaid," nine months earlier. It has 11k stars now, which isn't bad. But Pele got about 40% of that star count in three weeks, and its weekly npm downloads have already overtaken it. The difference comes down to two things. Pele covers all diagram types, so it can be seriously adopted as a complete drop-in for mermaid.js. And on launch day the author was Obsidian's CEO, with a commitment to ship it in Obsidian's next version on day one, so "people are using it in production" was true from the start.

### An ecosystem grew on its own

In the one to three weeks after launch, dozens of repos appeared around it on GitHub: a Go port (claiming byte-for-byte identical output), two Rust ports, a Dart port, command-line tools, plugins for mdBook, Sphinx, rustdoc, DokuWiki, and Astro/Starlight, two Neovim plugins, a VS Code extension, and an official Discourse theme component. Someone shipped an agent skill for AI agents the day after launch. A consulting firm built a demo site, and a Medium post claimed "Obsidian rewrote Mermaid from scratch, 500x faster."

Most of these derivatives extend its reach rather than compete with it. Every extra plugin is another entry point back to Pele.

### What it got right

kepano's name and Obsidian's built-in placement are things nobody else can get. But these are things anyone can copy:

**Stay compatible with something everyone uses and has complained about for years.** Don't invent new syntax, just swap the implementation. Migration cost for users is near zero, and their existing content comes with them. However good D2 or PlantUML is, people still have to be convinced to switch syntax first.

**Lead the headline with numbers.** "100–500× faster, 6× smaller, zero dependencies": three figures people can repost without reading the README.

**Ship something playable.** The online demo has a Compare mode, so you can run the same text through mermaid.js side by side. When HN questioned the claims, kepano answered by linking the demo.

**The author launched it personally, and others posted it to HN.** The HN submitter wasn't the author, which makes it look like organic recommendation.

**Released very frequently in the first few weeks.** From 10-06's 1.0 to 10-31's 1.13.0,25 days, about 20 versions went out (GitHub releases). Fixing community issues quickly is what gave plugin builders the confidence to adopt it.

### If it were you

**Verdict:** Don't build another Mermaid renderer. Pele already covers every diagram type and is backed by Obsidian. Go, Rust, and Dart ports were done within three weeks of release, so that lane is crowded. What you can take is its playbook: find a de facto standard that everyone uses and everyone complains about, stay compatible with its input, and beat it by an order of magnitude on speed, size, theming, or security.

**Who it's for:** Developers who have firsthand pain with an established library and can rewrite its core. Especially if you already run a project on that library, since your own production use serves as the endorsement.

**Who it's not for:** People hoping to get stars by making yet another Pele port or Pele plugin. Stars for ports and plugins plateau low, and most of that ecosystem is already taken.

**How to do it:** Look in other domains for something like Mermaid: a text format that has become a standard, where the official implementation is slow, heavy, and hard to customize. Examples are other text formats common in Markdown (math notation, sheet music, diagram description languages), or tools that require a headless browser just to run. Follow Pele's pattern: state in the first README line what it's compatible with and how much faster and smaller it is; build a demo page that lets people compare side by side; and ship releases frequently in the first month, responding to community issues.

**How to get users:** You don't have Obsidian's user base, so you rely on Hacker News and your pain-point users. The people in HN threads saying "I have to spin up a whole Chromium just to render this" are your first users. Before posting to HN, move your own project or a friend's docs site over first, and post with the proof that it's already running in production. Also consider an agent skill pack. AI-generated text formats keep multiplying, and a renderer that is fast, needs no browser, and runs server-side is exactly what's in demand.

**When to move:** The sooner the better. Pele showed that "rewrite an old standard" can gain traction within 2026 years, and in the coming months others will rewrite other established libraries the same way. Every good target someone else takes is one you lose.

**Signs you misread it:** ① After a month or two, Pele's npm downloads fall back and almost no one uses it outside Obsidian. That would mean its volume came mainly from Obsidian itself, not from the "compatible + rewrite" approach. ② Someone uses the same approach to rewrite another established library, with no big-name backing, hits the HN front page, and gets thousands of stars. That would show the path works for individuals too, and this rating should go up. ③ Early followers like beautiful-mermaid speed up after Pele launched. That would show the real demand is for a "beautiful Mermaid," not full compatibility.

[GitHub repo ↗](https://github.com/obsidianmd/pele)

**Research notes: competitor table, acquisition evidence, full research report**

Competitors

| Name | Where | Launched | Scale | How it differs from this one |
|---|---|---|---|---|
| mermaid-js/mermaid | Open source | 2014 | 91k stars, 25.5M npm weekly downloads | Same syntax. Pele rewrote the parsing and layout: no browser, synchronous execution, a bundle 6× smaller, CSS-variable theming, and a narrower security surface. |
| lukilabs/beautiful-mermaid(Craft) | Open source | 2026-01-28 | 11k stars, 940k weekly npm downloads | Nearly the same selling points, but it covers only a few diagram types. Pele covers all of Mermaid 12.1's built-in types and has Obsidian as its launch host. |
| 1jehuang/mermaid-rs-renderer | Open source | 2026-01-22 | 1813 star | Native Rust, positioned as a replacement for the CLI. Pele can directly replace mermaid.js on the frontend. |
| mermaid-cli / Kroki | Open source | 2020 / 2019 | 5158 / 4397 star | Needs Puppeteer or a server side. Pele produces SVG synchronously in JS. |
| D2 / PlantUML | Open source | 2022 / 2010 | 26k / 13k stars | Requires switching syntax. Pele works directly with existing Mermaid text and LLM-generated Mermaid. |
| Legacy built-in Mermaid in GitHub, Notion, and Obsidian | Big-company features | Years | — | All use mermaid.js internally. Pele is Obsidian 1.15's new built-in renderer. |

Where users come from

- **Verified** **Founder launch on X** : kepano's 2026-10-17 post: 100-500× faster, 6× smaller, will be the new renderer in the next version of Obsidian. A week later, another post: 'already in dozens of apps'.

- **Verified** **Hacker News** : submitted by dchest on 2026-10-17, 597 points, 63 comments (item 50132193).

- **Verified** **Obsidian community and built-in distribution** : two r/ObsidianMD threads saying 'coming in Obsidian 1.15'; the Obsidian forum already has feature requests about pele.

- **Verified** **Organic ecosystem spread** : after 10-17, dozens of pele-* repos appeared on GitHub, including an official Discourse component, pele.wiki, and Medium articles.

- Inferred **Demand from AI and agents writing Mermaid** : HN comments mention Claude drawing diagrams with markdown. pele-skill and dsh-pele appeared the day after launch.

## obsidianmd/pele: Obsidian's official Mermaid renderer, and why it earned 3 stars in 4300 weeks

### One line

Pele is a TypeScript library written almost entirely by Steph Ango (kepano), co-founder and CEO of Obsidian. He made the large majority of the 384 commits (GitHub contributors, 2026-11-06). It accepts Mermaid 12.1 syntax, does its own layout, and outputs SVG directly, with no dependencies, synchronous execution, and colors and fonts driven by CSS variables. It claims to be 100–500× faster than mermaid.js with a 6× smaller bundle. Three things combine to explain its traction: kepano's and Obsidian's reputation, the HN front page, and Mermaid's long-standing problems (slow, large, hard to theme, needs a browser, has CVEs). It also keeps existing syntax, so switching costs almost nothing.

### Data

- Repo created 2026-10-05, made public 2026-10-17. The data card as of 2026-11-06 shows 4308 stars and 128 forks, read from the GitHub API that day: 4329.

- Our repo_day records: 10-17 39 → 10-18 136 → 10-19 1525 → 10-20 2316 → 10-24 3234 → 11-06 4308. The largest single-day gain is recorded on 10-19 (+1389). That's one to two days off from the X and HN launches on 10-17, most likely collection lag, so the 10-17–10-18 spike was probably logged as 10-19 (inferred). Over the last 7 days it gained +444, versus +7 in the 868 days before that. It's now in the long tail.

- npm weekly downloads 1,551,081 (2026-10-30–11-05, api.npmjs.org). Over the same period beautiful-mermaid was at 941,214 and mermaid at 25,524,314. Daily downloads rose from 10-22's 110k to 11-05's 350k and kept climbing. That suggests projects are actually installing it as a dependency, not just starring it. I haven't verified which large packages pull it in.

- Releases are frequent: from 10-06's 1.0.x to 10-31's 1.13.0,25 days, about 20 versions went out (GitHub releases).

### Competitors

| Product | Type | Launched | Scale | What sets Pele apart |
|---|---|---|---|---|
| mermaid-js/mermaid | Open source (de facto standard) | 2014 | 91k stars, 25.5M npm weekly downloads | Pele is compatible with its syntax but rewrites the parsing and layout: no DOM or browser measurement, synchronous execution, a bundle 6× smaller, colors via CSS variables, and a narrower security surface. |
| lukilabs/beautiful-mermaid (from Craft) | Open source | 2026-01-28 | 11k stars, 940k weekly npm downloads | Same selling points (good looks, speed, easy theming, no browser), but it supports only a few diagram types (the similar skill lists 6). Pele says it covers all of Mermaid 12.1's built-in types and has Obsidian as its launch host. |
| 1jehuang/mermaid-rs-renderer | Open source Rust | 2026-01-22 | 1813 star | Native Rust, positioned as a replacement for the CLI. Pele targets the JS/browser ecosystem and can directly replace mermaid.js on the frontend. |
| mermaid-cli / Kroki | Open-source server-side rendering | 2020 / 2019 | 5158 / 4397 star | Relies on Puppeteer or a server, which is heavy. Pele produces SVG synchronously in Node and in the browser. |
| D2, PlantUML, Graphviz | Open source, different syntax | 2022 / 2010 / earlier | D2 26k, PlantUML 13k stars | Requires switching syntax. Pele doesn't: nearly all existing Mermaid text and AI-generated Mermaid works as-is. |
| Mermaid rendering built into GitHub, Notion, and legacy Obsidian | Big-company features | Years | — | All use mermaid.js internally. Pele is Obsidian 1.15's new built-in renderer. |

Bottom line: demand for this lane was already proven in early 2026, when beautiful-mermaid earned 11k stars. Pele wasn't the first, but it has the broadest coverage and a big host behind it.

### Growth tactics (evidence)

1. **Founder launched it personally on X** (confirmed). kepano posted on 2026-10-17 14:59 UTC: "100-500× faster than mermaid.js, 6× smaller bundle, No dependencies… Pele will be the new renderer in the next version of Obsidian," with a video and a playground link (x.com/kepano/status/2111472054293913749). A week later he posted again: "One week later, Pele is already in dozens of apps including @obsdmd 1.15," with a changelog attached. It was cross-posted to Threads.

2. **HN front page** (confirmed). On 2026-10-17 15:55, dchest (not the author) submitted "Pele – Mermaid diagrams as themeable SVG." It got 597 points and 63 comments (HN Algolia, item 50132193). The comments focused on a few pains: mermaid needs a headless browser, layout is poor, theming and dark mode are hard, and server-side rendering is a nightmare. At least one commenter moved their docs site over on the spot.

3. **Distribution through the Obsidian community and product** (confirmed). r/ObsidianMD had two threads: "Pele: New renderer for Mermaid diagrams coming in Obsidian 1.15" and "Pele, from the Obsidian team…" The Obsidian forum already has requests about "mermaid/pele diagram max characters." With Obsidian 1.15 shipping it built in, millions of users become its users automatically (user count not verified).

4. **Organic ecosystem adoption** (confirmed). In the 1–3 weeks after launch, dozens of pele-* derivative repos appeared on GitHub: pele-cli, pele-go (a byte-for-byte identical Go port), pele-rs (two of them), pele_dart, mdbook-pele, sphinx-pele, pele-rustdoc, dokuwiki-pele, Astro/Starlight integrations, two pele.nvim plugins, a VS Code extension, the official Discourse theme component (discourse/discourse-pele-theme-component), and an agent skill (jpmanson/pele-skill). There's also a pele.wiki demo site built by a consulting firm, and a Medium post titled "Obsidian Rebuilt Mermaid From Scratch. Pele Renders Diagrams 500x Faster." kepano's "dozens of apps" claim roughly checks out.

5. **AI writes Mermaid tailwind** (inferred, partly evidenced). HN comment: "allow Claude to edit and draw and save to a single markdown file". Someone built an agent skill the day after launch, and DeepSeek Harness integrated it (hesheng01/dsh-pele). LLMs already output Mermaid all the time, so a renderer that is "fast, no browser, streams diagrams" fills a real need.

No paid promotion seen, and the open-source library needs none.

### Why it took off

- **Celebrity plus platform endorsement** : the author is the Obsidian CEO, who promised at launch it would ship in Obsidian's next version. "Someone uses it in production" was true from day one.

- **Backward compatible, nearly zero-cost to switch** : no new language invented; the existing Mermaid ecosystem plugs straight in (versus D2 and PlantUML, which make users change syntax).

- **Numbers that travel** : "100–500× faster, 6× smaller, zero deps" is a headline you can forward as-is; the volcano goddess name, hand-drawn logo and playground make it more memorable and shareable.

- **The pain point is old** : on HN people have complained about mermaid's layout, themes, headless browsers and CVEs for years. kepano himself, in an HN reply, pointed at Mermaid 12.1 "ships with yet another layout engine (three now), and has a questionable safety record (see CVEs)".

- **Broad coverage, fast iteration** : supports all built-in diagram types, tested against Mermaid's own parser spec plus differential fuzzing; roughly 20 releases in 25 days. That let it be adopted seriously rather than just starred and abandoned, and the 1.55M weekly npm downloads prove it.

### Differentiation

Versus mermaid.js: same syntax, but lighter, faster, synchronous, no browser needed, themes via CSS, a tighter security surface. Versus "prettier Mermaid" projects like beautiful-mermaid: full type coverage, Obsidian as a launch host, and the author is a designer, so the visuals are consistent. The differentiation is real, but it isn't enough on its own; beautiful-mermaid sold nearly the same pitch 9 months earlier. What got Pele to 3 weekly stars and million-level weekly downloads in 4000 weeks was the differentiation (full compatibility) combined with distribution (kepano himself, HN, built into Obsidian).

### Visibility and copycats

- Visibility: already widely discussed. HN at 597 points, with coverage from Obsidian's official channels, Reddit and Medium; kepano's tweet is the primary source. Star growth has already slowed.

- Copycats and derivatives: lots of follow-ups, but mostly ecosystem plugins and language ports (Go, Rust, Dart), not head-on competitors. Projects like nexmoe/pele-rs, a "pure Rust Mermaid-to-SVG", are starting to appear as independent implementations.

### Takeaways

1. Replace a de facto standard library that everyone uses but has been criticized for years, **stay compatible with its input format** , and be an order of magnitude better only on performance, size, theming and security.

2. A "production environment of its own" at launch, used as credibility backing.

3. Headlines use multiples, paired with a playground and video, the author launches it personally, and the community is left to post to HN.

4. Frequent releases in the first few weeks, responding to community issues, so ecosystem plugins grow on their own.

### Uncertain

- Whether the 10-19 single-day peak was collection lag or secondary spread (e.g. Obsidian 1.15 previews, Chinese reposts) is unverified.

- How much of the 1.55M weekly npm downloads come from transitive dependencies of some big package is unverified.

- Obsidian 1.15's official launch date and user count are unverified; Reddit scores for the two threads couldn't be fetched (Reddit blocked the requests).

- kepano's follower count on X is unverified (GitHub followers: 9565).

### Sources

- [github.com/obsidianmd/pele](https://github.com/obsidianmd/pele) (README, releases, contributors, 2026-11-06)

- [x.com/kepano/status/2111472054293913749](https://x.com/kepano/status/2111472054293913749)

- [news.ycombinator.com/item?id=50132193](https://news.ycombinator.com/item?id=50132193), [news.ycombinator.com/item?id=50134925](https://news.ycombinator.com/item?id=50134925)

- [www.reddit.com/r/ObsidianMD/comments/1x8dp2r/](https://www.reddit.com/r/ObsidianMD/comments/1x8dp2r/), [www.reddit.com/r/ObsidianMD/comments/1xaqlcg/](https://www.reddit.com/r/ObsidianMD/comments/1xaqlcg/)

- [medium.com/@vinayanand2/obsidian-rebuilt-mermaid-from-scratc…](https://medium.com/@vinayanand2/obsidian-rebuilt-mermaid-from-scratch-pele-renders-diagrams-500x-faster-e20c2280f555)

- [forum.obsidian.md/t/allow-configuring-mermaid-pele-diagram-m…](https://forum.obsidian.md/t/allow-configuring-mermaid-pele-diagram-max-characters/120025)

- [pele.wiki/](https://pele.wiki/), [pele.run/](https://pele.run/)

- api.npmjs.org (weekly downloads for pele, beautiful-mermaid, mermaid, 2026-10-30~11-05)

- GitHub search for "pele mermaid" (list of derivative repos), competitor repo APIs

- Our github repo repo_day (data card)

This article was written by AI from public data and the data we collect daily. Numbers are sourced, and inferences are labeled.
