
Someone asked on Reddit how these flowers were made. He spent three hours giving the first open-source answer. 1,500 stars in a week.
What it is A LaTeX package that draws Delft-blue watercolor flowers and plants in code at compile time. It fills the margins and the empty space below the last page's text, and every page is different.
Why it blew up People on Reddit were already posting images and asking how they were made, and the original author wouldn't open-source it. This was the first open-source answer. A third party submitted it to HN the same day and it scored 385 points. A pile of reposting sites followed, and it gained 805 stars in one day.
CHow you could follow it Don't make another margin-flower package. Watch forum threads where someone asks "how is this made" alongside a stunning screenshot and no open source. Build an open-source version with AI within a day, and reply under the original post. Make the README a picture book with GIFs and a web playground.
- Data (updated daily) · Repo created 2026-10-30 · 1,568 stars · 7 days +438
GitHub · stars Data 2026-10-31 → 2026-11-08 (9 days, 9 observations). Points before 10-28 come from deeply / archive backfill, not every day has one
Someone on r/LaTeX posted an image and asked how the blue watercolor flowers in the margin were made in LaTeX. The original author wouldn't open-source it. In Oct 30, a developer who knew neither LaTeX nor Lua spent about three hours with Claude building florilegium and replied under the post. That afternoon someone submitted it to Hacker News, and 7 days later it had 1,547 stars. What's worth copying isn't the flowers. It's the playbook: find a "how is this done" that has already been publicly validated and that nobody has open-sourced, and be the first to deliver the answer.
One image and an author who wouldn't open-source it
The story doesn't start with the author. First, a post on r/LaTeX titled "How do you make these flowers in LaTeX," with a screenshot of procedurally generated borders. The original author said they wanted to keep it closed source. In the words relayed on HN, it was "don't want my code picked apart." Someone replied: "The flowers are nice, but not that deep."
Kevin Raymond (kevinraymond on GitHub) saw the post. In the repo's PROCESS.md he wrote that he knew neither LaTeX nor Lua, had no source code, and wanted to see how far AI could go: "Initial planning and release took about three hours." He used the web version of Claude for planning and Claude Code for implementation. He created the repo on Oct 30 07:49 (UTC), released v08:06 on 1.0, and posted the link back under the Reddit thread, promising to explain how it was done.
What it is
A LuaLaTeX package. When a document compiles, Lua computes the curves of every petal, leaf, and stem on the spot and draws them in a Delft-blue watercolor style, written straight into the PDF with no image assets. The flowers respond to the layout: they grow into margin space the body text doesn't use, and they fill the empty space below the last page's text. Each page is a garden determined by a seed. The same seed always produces the same page. Without a seed, printing twice gives two different gardens.
After the blowup the author released several more versions: 2.0 plants and insects sampled from a "genome," a TikZ version for pdfLaTeX, SVG/PostScript output, and a browser playground that works without a TeX install. In November it entered CTAN. It can be dropped straight into Overleaf.
How the stars came
| Timeline | What happened | Stars |
|---|---|---|
| 10-30 a.m. | Released v1.0, replied under the original Reddit post | — |
| 10-30 15:48 | A user named nanna submitted it to HN with the title "Florilegium: Procedural Flowers in LaTeX." It finished at 385 points and 54 comments. | — |
| 10-30 to 10-31 | daily.dev, LavX (in four languages), and several HN translation sites in Japanese, Korean, Vietnamese, French, and Chinese followed and reposted it. | 10-31:325 |
| 11-01 | +805 in a single day, the biggest jump of the whole run. The Daily Commit and a YouTube "GitHub Trending" roundup also picked it up. | 1,130 |
| 11-02 to 11-06 | Daily gains fell from 140 to 15. | 1,440 |
| 11-06 | GitHub live | 1,547 stars / 44 forks |
The author didn't submit it to HN. He first appeared in the HN comments on the morning of Oct 31: "I just found out my repo was mentioned (thanks nanna)." The long tail of reposting sites was mostly machines following HN, and the author didn't seed any of them. No paid promotion or big X account retweets were visible.
Forks and stars sit at about 1:35: most people came to look, not to use it.
What HN people were saying
Half the comment section is one word: beautiful, gorgeous, "This is what Knuth made TeX for! art!" One person said, "I've been totally disillusioned with software lately, hating it at work and in life, and seeing something this lovely made me feel a little better."
The other half argued about AI. The fourth comment was simply "Readme is AI. :/", and someone said, "Pretty, but the AI-written text is jarring." The author's response was to publish the entire AI collaboration as PROCESS.md: "Whichever side of AI you're on, I respect it." The argument itself was part of the heat. A "beautiful thing built by AI in three hours" was bound to get people arguing on HN.
Some people went and built their own versions. One user said they had used DeepSeek to turn it into an Obsidian plugin, using note filenames as seeds, "exactly what I've wanted for years of journaling." They posted only a screenshot, no repo.
Why it won, when it wasn't the best-looking
In the same comment section, someone said they preferred the look of the original Reddit image: "Next to that, yours is just okay." In Oct 31, wn-mitch posted tikz-flora, which used a pen-and-ink style with hot-stamped gold and even built a web color mixer. Some on HN said it "looks better." But tikz-flora came 18 hours later, and by 11-06 it had only 99 stars, one-fifteenth of florilegium's.
So the things that won, ranked by weight:
- The demand already existed. An image people wanted, a public "how is this done," and an original author who wouldn't open-source it. The validation and the first audience were already there.
- Speed. v1.0 came out in three hours, so the window was basically 24 hours.
- Instantly understandable and beautiful. Beautiful things are scarce in tech communities, and people who only look will still click a star on the way out.
- A story to tell. Pure computation has no source material, it borrowed the fill-the-gaps idea from 1998 years of decorative literature, and its seeds are reproducible. That fits HN's taste exactly.
- The README was built as a picture book: GIFs comparing six seeds, growth-process animations, and a browser playground. The later genome feature, TikZ version, and CTAN entry were all built after the blowup, and their job was to keep people around and hold the "authentic" position.
Who's following
Copycats came fast. Within a week there were: tikz-flora and its TypeScript web version (99 stars), two Typst ports, a XeLaTeX fork, a JS e-book version, a poetry web page, plus that Obsidian plugin that only had a screenshot. florilegium's own README has a section called "Ports and adaptations" that lists them all, which makes it look more like a small ecosystem.
The long-established LaTeX ornament package pgfornament has 196 fixed vector ornament pieces that must be placed by hand and don't grow with the layout. Word and Canva only offer static border templates. Before this, no open-source implementation of "a margin garden that grows on its own during typesetting" existed. Now there are seven or eight within a week.
If it were you
The verdict: Copying a "procedural margin flower" now is too late. What's worth learning is how it got its traction, and running that playbook on a different topic.
Who it's for: developers who code with AI, move fast, and have some taste, and want an open-source project that can hit the HN front page.
Who it's not for: anyone who wants a long-lived tool people keep using. Projects like this get lots of stars and few forks, and the heat fades within a week.
How to do it:
- Watch Reddit, forums, and X for posts asking "how was this made?", ideally with a stunning image where the original author hasn't open-sourced it or hasn't explained the method. Graphics, animation, typography, and generative art, where quality is obvious at a glance, are best.
- Ship a working open-source version with AI within 24 hours and reply under the original post. Make the README a picture book: a GIF of the effect, an animation of the growth or run process, and a browser playground so people can try it without installing anything.
- If you used AI, follow its lead and make the collaboration public, so "the AI built it" becomes a talking point instead of a red flag.
- If you want to build on florilegium itself, the open gaps are: a native version for Obsidian / Notion (people on HN already asked for one), other ornament systems (Islamic geometry, Japanese patterns, Celtic), and personalized print pieces generated from a seed (wedding invitations, poetry books). These might get tens to a few hundred stars, but probably not another 1,500 (inference, based on tikz-flora getting only 99 stars 18 hours later).
How to get users: the first stop is under the original post. The second is HN, but don't count on your own submission landing; florilegium got submitted by someone else. Once it hits HN, daily.dev and the translation sites repost it automatically.
When to move: this topic's window has already closed. For the next "how was this made" post, the window is usually one to two days after it goes up.
What would mean you read it wrong: if you've replied to the original post and written a picture-book README, and you're still under 100 stars three days later, the image wasn't compelling enough, or someone else replied first. Switch to the next topic instead of adding features to the same one.
Research notes: competitor table, acquisition evidence, full research report
- Competitors
Name Where Launched Scale How it differs from this one the author of the image in the original Reddit post (identity unknown) Other Earlier than 2026-10-30 a screenshot closed source, never released; florilegium is the first publicly available implementation of the same thing tikz-flora / flora.alpacasoft.dev Open source 2026-10-31 99 star / 12 fork a fine-art look in pen-and-ink watercolor with gold foil stamping, with a web mixer, and some people think it looks better; but it came 18 hours later, with only 1/15 of florilegium's stars pgfornament Open source years ago (CTAN) an established LaTeX ornament standard 196 fixed vector ornament pieces, placed by hand, that don't grow with the layout jemmybutton/byrne-euclid Open source 2017 1358 star a full-book project recreating Byrne's edition of Euclid's Elements, where the ornaments are incidental, not a general-purpose package ornamentalyst and other Typst ornament packages Open source Not verified Small plain static vector flourishes Word / Canva / Overleaf template borders Big-company features Already around Big static images or templates that don't grow to fill the margins and aren't procedurally generated - Where users come from
- Verified reply under the original Reddit r/LaTeX post: the README's Origin section and PROCESS.md both say the origin was the r/LaTeX post 1xixznw, where the author replied with the link
- Verified Hacker News front page: submitted by third party nanna 10-30 15:48, 385 points / 54 comments; +805 stars on the snapshot day right after
- Verified aggregators and automatic multilingual reposts: daily.dev, LavX (English, French, German, Chinese), hackernews.jp, AGI Hunt, TTJ, VN Read, TechFi24, r/hypeurls, Threads laxima.tech, The Daily Commit
- Inferred GitHub Trending: a YouTube video, "GitHub Trending Today #57", listed it in that day's chart; our database has trending_days_any=0
- Verified tech media: LockerGnome wrote one piece each on 10-31 and 11-04
- Verified ongoing releases, listed on CTAN: 6 versions shipped in 6 days, from v1.0 to v2.0.1, and it's listed on CTAN
kevinraymond/florilegium: why it got 1500 stars in 7 days
Research day 2026-11-06. Data sources: our GitHub database (repo_day, daily snapshots since 2026-10-31), the GitHub API (live), the HN Algolia API, and Jina / Exa / Brave search. The Reddit original was blocked by 403, so its content can only be cited from search snippets and HN comments. Anything marked "unverified" is inference.
One line
A LuaLaTeX package: at compile time it computes Delft-blue watercolor flowers and plants in Lua, filling the margins and the blank space under the last page of text. No image assets; each page's garden is determined by a seed, and from 2.0 onward plants and insects are sampled from a "genome" (15 body plans, 62 traits). There's also a TikZ library (works with pdfLaTeX), a browser playground, and SVG/PostScript output, and it's listed on CTAN.
1. Growth data and timeline
| Time (UTC) | Event | Sources |
|---|---|---|
| Some day (10-30 before) | Someone on r/LaTeX posted "How do you make these flowers in LaTeX" with a picture of procedurally generated floral borders. The original author refused to open-source it. | Reddit 1xixznw (search snippet); HN comment by bluerooibos quoting the original post: "The creator prefers to keep the source closed to avoid code critiques" |
| 10-30 07:49 | Repo created; v1.0 shipped 08:06. The author says about 3 hours passed from seeing the post to release, with Claude.ai (Fable 5.1) doing the planning and Claude Code (Opus 5.5) writing the implementation. | GitHub API;PROCESS.md |
| 10-30 | The author replied under the original Reddit post with the repo link and promised to publish the method. | PROCESS.md, HN author comment by kjraym |
| 10-30 15:48 | Third party nanna submitted it to HN as "Florilegium: Procedural Flowers in LaTeX", 385 points / 54 comments. The author only found out afterward. | HN Algolia item 50305637 |
| 10-30~10-31 | daily.dev, TeckDeck, LibHunt, hackernews.jp, AGI Hunt (Chinese and English), 向上研究所, TechFi24 (French), LavX (English, French, German, Chinese), TTJ (Korean), VN Read (Vietnamese), and other HN aggregators and translation sites reposted it in bulk. | Exa search results |
| 10-31 snapshot | 325 star | github repo_day |
| 11-01 snapshot | 1130 stars (+805 in one day, at peak) | github repo_day |
| 11-01 | The Daily Commit and Early Signal listed it; a YouTube video, "GitHub Trending Today #57", put it on that day's Trending | Brave search (this Trending entry was not verified against github.com/trending) |
| 11-01~11-05 | v1.3, v2.0, and v2.0.1 shipped back to back, listed on CTAN; LockerGnome wrote two pieces (10-31 and 11-04) | GitHub releases;ctan.org/pkg/florilegium |
| 11-02~11-06 snapshots | 1270 → 1351 → 1401 → 1425 → 1440, with daily gains falling from 140 to 15 | GitHub repo |
| 11-06 live | The GitHub API shows 1546 stars / 44 forks, about 100 more than that day's snapshot, possibly a small second wave after v2.0 (source unverified) | GitHub API |
Core read: one HN front-page exposure, amplified by a batch of automatic reposts, produced a single-day spike of 805 stars; after that it only got a long tail. The fork-to-star ratio is about 1:35, so most people came to look, not to use.
2. Competitors and similar projects
| Name | Where | Launched | Scale | How it differs from florilegium |
|---|---|---|---|---|
| the author of the image in the original Reddit post (identity unknown) | Closed source | Earlier than 10-30 | a single screenshot that set the whole thing off | closed source, not released; some on HN think the original looks better (fock, bluerooibos) |
| wn-mitch/tikz-flora + flora.alpacasoft.dev (a TypeScript port of web-flora, with a color mixer) | Open source / web | 10-31 01:49 (18 hours after florilegium) | 99 stars / 12 forks (GitHub API 11-06); the library lists 11-01 as 50 | Takes a pen-and-ink watercolor plus gold-foil route, has a web mixer, and someone on HN said it "looks even better than this"; its README names florilegium as one of its starting points. It also posted "Here's how to make those flowers" on r/LaTeX (poster unverified), but it came one step late and has only 1/15 of florilegium's stars. |
| pgfornament(CTAN) | an open-source TeX package | Years ago | an established LaTeX ornament standard | 196 fixed vector ornament pieces (vectorian and others), placed by hand, that don't grow with the layout and aren't procedurally generated |
| jemmybutton/byrne-euclid | Open source | 2017 | 1358 star | MetaPost reimplements Byrne's Euclid with procedural ornament; after an HN comment mentioned it, 11-01 gained 40 stars that day (Kuri 1314→1354), showing it reaches the same aesthetic audience |
| ornamentalyst and other Typst ornament packages | Typst Universe | — | Small | plain vector flourishes that don't grow with the page |
| Platane/Procedural-Flower | Open source / web | 2012 | 98 star | a web canvas that draws flowers procedurally, unrelated to typesetting |
| Big-company features | Word / Canva / Overleaf | — | — | only static border templates or image assets, with no ability to grow ornament around the text |
Verdict: an open-source "procedurally grown margin garden at typesetting time" had no ready-made implementation before this; every similar project found appeared within the 24–72 hours after it.
3. Where users come from (growth levers)
- Rode on a public "how do I make this" question (confirmed). An r/LaTeX original post had already validated the demand and the visuals, and the original author wouldn't open-source it. florilegium was the first public, downloadable answer, and its author replied directly under the original post.
- HN front page (confirmed). Submitted by nanna, not the author, and reached 385 points. Timing matches: +805 between submission day and the next-day snapshot.
- Aggregators and automatic multilingual reposts (confirmed). daily.dev, LavX (4 languages), Japanese, Korean, Vietnamese, French and Chinese HN translation sites, laxima.tech on Threads, r/hypeurls bot reposts, YouTube Trending roundups, and The Daily Commit. These mostly followed HN automatically; the author did no promotion of their own.
- Frequent releases and a README built like a picture book (confirmed). Shipped 6 versions in 6 days and made it into CTAN. The README has GIFs (a comparison of six seeds, a growth-process animation, an explainer on finding empty circles) and a browser demo that runs without installing TeX.
- The "AI-made" controversy drove discussion (confirmed; size of effect not verified). A thread on HN complained that the README was AI-written. The author published PROCESS.md (Claude took part throughout), and both sides kept arguing.
- No paid promotion, X amplification, or sock-puppet accounts found. A local x-radar corpus search for "florilegium" returned 0 posts.
4. Why it made the list
- The demand had already been publicly validated: there was an image people wanted and a "how is this made" question, and the original author kept the code closed. The first open-source version took that attention.
- Speed: about 3 hours to v1.0. The closest competitor, tikz-flora, came 18 hours later and has only 1/15 of its stars. The window was essentially 24 hours.
- Strong visual impact, understood at a glance: HN comments were almost all "beautiful" and "gorgeous," plus "This is what Knuth made TeX for." Beautiful work is rare in technical communities, and it pulls in people who only look, not use, to star it.
- A technical story to tell: purely computational, no asset files; it draws on a greedy gap-filling approach from 1998 years of ornament literature; 2.0 pairs genomes with pollinating insects; the same seed always yields the same page; without a seed, two printings are two different gardens. HN readers go for this.
- Low barrier to entry: it drops straight into Overleaf, with a web demo, a CTAN package, and a TikZ version.
- Derivative projects add credibility in return: the README has a dedicated "Ports and adaptations" section listing ports like Typst ×2, XeLaTeX, JS ePub, and poetry web pages, which makes it look like a small ecosystem.
5. Differentiation
Compared with long-established ornament packages like pgfornament, its edge is that the decorations respond to the layout: foliage grows into whatever space the text leaves open, the last page gets filled too, and every document and every page comes out different, yet reproducible. Against tikz-flora, which came out around the same time, the capabilities are roughly equal, and some people even rate tikz-flora's artwork higher, so differentiation was not the main reason it won. What won it was being the first public answer to the question and then landing on HN. The 2.0 genome, the TikZ support, and the theme system were built after it blew up; their job was to hold attention and keep its claim to being the authentic one, not to drive the initial traction.
6. Visibility and copycats
- Visibility: widely covered. HN 385 points, daily.dev, LockerGnome ×2, and a dozen-plus multilingual repost sites; Chinese coverage too, from AGI Hunt, Xiangshang Research Institute, and AI Tools Hub (11-03 published a Chinese tutorial). It makes no money, so there is no public revenue to report.
- Followers: tikz-flora / web-flora (99 stars), groeneveld/florilegiumTypst, Baldomo/florilegium-typst, jfoboss (JS ePub + a Russian Claude skill), amberwhitehead (poetry web pages), wilsybubs (XeLaTeX fork). On HN someone also said they turned it into an Obsidian plugin in a few hours with DeepSeek (only a screenshot was posted, no repo).
7. What's worth borrowing
- Watch Reddit and forum posts asking "how is this made?" that come with stunning screenshots and closed-source originals. Build an open-source version in a few hours with AI, and reply under the original post. The demand validation and the first wave of traffic are already there.
- The combination of "visualization + an algorithm with a story + a web demo" suits HN best. Make the README a picture book, with GIFs of the growth process.
- Publish the AI collaboration process (PROCESS.md) to turn the "AI-made" objection into a discussion point.
- Open directions (from recall cards and HN comments): native versions for Obsidian / Notion / e-books / Typst, other ornament traditions (Islamic geometry, Japanese, Celtic), and personalized printed matter generated from seeds (wedding invitations, poetry books).
8. What's still uncertain
- The post time and upvote count of the original Reddit post, and how much traffic the author's replies brought (Reddit 403; cannot be verified).
- Whether it actually charted on github.com/trending's daily list (the only corroboration is this YouTube roundup; our database has trending_days_any=0).
- Why 11-06's live star count is about 100 higher than the same-day snapshot, and where that wave came from.
- How many people actually use it in papers and documents (forks 44; CTAN download counts aren't visible).
Sources
- github.com/kevinraymond/florilegium ;PROCESS.md(raw.githubusercontent.com);GitHub API releases / repos
- news.ycombinator.com/item?id=50305637(HN Algolia API)
- www.reddit.com/r/LaTeX/comments/1xixznw/ (search summary), www.reddit.com/r/LaTeX/comments/1xk061k/ (search summary)
- daily.dev/posts/florilegium-procedural-flowers-in-latex-q6bn…
- lockergnome.com/free-latex-tool-grows-watercolor-flower-gard…, lockergnome.com/florilegium-lualatex-procedural-delft-margin…
- news.lavx.hu/article/github-project-florilegium-draws-proced…
- www.youtube.com/watch?v=PeJqgL1NW0c(GitHub Trending Today #57)
- thedailycommit.in/story/2026-11-01/05-github-kevinraymond-fl…
- flora.alpacasoft.dev/ ;github.com/wn-mitch/tikz-flora
- ctan.org/pkg/florilegium ;ctan.org/pkg/pgfornament
- Our GitHub repo repo_day (2026-10-31 to 11-06)