
One Xiaohongshu video brought in hundreds of stars: the last mile for "AI-drawn scientific figures"
What it is An open-source desktop tool: take a scientific figure that AI or matplotlib has drawn, then drag, edit, lay it out in millimeters, and check journal specs right on the canvas, without touching the original script. It also works with Codex and Claude Code.
Why it took off Graduate students draw figures quickly with Codex, but getting them to submission quality means going back and forth with the AI. The author posted a pain-point demo video on Xiaohongshu (14k likes, nearly 20k saves), and Chinese grad students followed through to download and star it.
AHow you could get in on it Stop making yet another matplotlib version. Either switch ecosystems (ggplot2, MATLAB, Makie) or switch use cases (AI-made slides, resumes, spreadsheets) and build an editor for "the last mile of AI output." Post demo videos where the target audience hangs out. Tavotto's English-world space is still empty.
- Data (updated daily) · Repo created 2026-08-16 · 674 stars · 7 days +67
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
Tavotto is an open-source desktop tool that fixes the paper figures AI draws with matplotlib: drag legends on the canvas, change font sizes, lay out multi-panel figures in millimeters, and check journal specs before export, all without changing a line of the original script. In 82 days it got 666 stars. Those stars didn't come from GitHub, X, or HN. They came from a single video the author posted on Xiaohongshu. If you want your open-source project seen, the thing worth copying is the position it found and where it tells the story.
A video with 14k likes
On the evening of Sep 19, 2026, at 11:38, a personal Xiaohongshu account with 2328 followers posted a video titled "The hard problem with AI drawing is finally solved." The caption covered one thing:
AI-generated scientific figures are high quality... but they often don't meet publication standards and need a lot of fixing... we ask for a change, and ten minutes later it comes back changed, and sometimes it's wrong again.
It went on to say "So I wrote a small tool, Tavotto... you can edit and lay out directly on the canvas and export, without modifying the source code," followed by "it's already open source." By Nov 6, the video had 14,408 likes, 19,696 saves, 493 comments, and 3,454 shares. More saves than likes is the classic pattern for a tool post: bookmark now, dig it out on the day you write the paper.
The numbers jumped the next day: on Sep 20, forks rose by 13 in a single day (the whole repo had only single digits before), PyPI downloads hit 338 that day (single digits per day in early September, per pypistats), and that week outside users began piling up issues like "initial render process crash" and "can't write back to source." The v19 release on Sep 0.15.0 had its Windows installer alone downloaded 1934 times, and macOS 511. Windows far outnumbered Mac, which matches the PC distribution among graduate students at Chinese universities.
On Oct 30, the author posted another video, "Tortured by AI-tweaked figures for half a month, so I just wrote a tool," with 563 likes and 1040 saves. The next day stars rose by 68 in one day (from 518 to 586), then 20, 17, 10, 8, and 4 per day, slowly tapering off.
What problem it actually solves
The most-liked comment in the thread (119 likes) asked: "Why do people say figures drawn by Codex calling Python can't be used in papers?" The author's reply got 459 likes, and it's basically the product's manual:
Codex lowers the barrier to using Python to process data and draw figures, but it doesn't understand real academic standards... figure width has to meet single-column or double-column specs, font size can't be below 8 pt, tick direction, and so on. Handling these details by talking to Codex takes a lot of time and is hard to describe precisely.
By 2026, graduate students using Codex and Claude Code to write matplotlib plots was already common. Output is fast, but "move the legend left 3 mm, change the font size to 8 pt" told to an AI can take several rounds and still come out wrong. Illustrator is precise, but it doesn't know which element is the legend and which is the tick marks, and when the data updates, all the manual layout is wasted.
Tavotto's approach: it recognizes matplotlib objects, you edit them directly on the canvas, and the edits are saved as a separate "overlay" while the original script stays untouched. When the data updates and the script reruns, the edits can be reapplied. It also ships a Codex plugin, a Claude Code plugin, and an MCP, so you can select an object on the canvas and have the AI modify exactly that object.
Why this one, and not the similar tool from eight years ago
It's not new in features. pylustrator has let you edit matplotlib figures interactively and write the changes back to your script since 2018, eight years now, with 904 stars on GitHub. SciencePlots and figures4papers, the journal style templates, each have over nine thousand stars, but they're used before plotting, not after.
What Tavotto adds is a new pitch: "I'll tune the AI-drawn figure until it's ready for submission." That pitch only became viable by 2026. "Codex scientific plotting" was already a hot topic on Xiaohongshu: "Codex makes research-grade figures incredibly good" got 3978 likes (6-23), and "Codex scientific plotting is unbeatable" got 1490 likes (7-28). People were just impressed by AI-generated figures, then immediately hit the "still needs fixing" wall, and Tavotto sits right at that point.
A few other things let the traffic stick:
- The author is a user too. He describes himself as doing research and development in parallel, and he previously wrote an MCP for the molecular dynamics software LAMMPS. In the comments he answers one by one: "The latest version auto-saves... after a double-click it should re-render with your new layout" and "This feature is coming later and will go live soon."
- No environment setup needed. The installer bundles Python, numpy, and matplotlib, and there's a Windows version. The README lists an Alibaba Cloud PyPI mirror. It works with domestic models like DeepSeek, Kimi, Zhipu, MiniMax, and Bailian. It's bilingual in Chinese and English.
- One person writing furiously with AI. The repo has 1328 PRs and 468 issues, and there's only one contributor who can be @-mentioned. PR titles are all in Chinese with design-decision numbers, and it went from v0.1 to v0.21 in 81 days (inference: the author is developing intensively with an AI coding assistant).
Almost nobody in the English-speaking world knows about it
Searching for "Tavotto" on X in the last 90 days returned 0 results, and HN had 0. There's no media coverage, and no paid promotion found. The only trace is a possibly author-posted English summary ("Finally fixed the biggest headache with AI-generated... I built Tavotto"), and the original post couldn't be found. A few aggregator sites have passively indexed it, with very little volume.
The projects around it are all still small: in Oct 9 a Chinese project called mpltweak appeared, "tweak matplotlib layouts like a PPT and write the parameters back into code", at 3 stars, so it's just a copycat; UCSD's October put out a Jupyter plugin called Plottery on arXiv, still a research prototype; and the various plotting skills that get Codex/Claude to draw good-looking charts in one go have anywhere from a few to a hundred-plus stars. They're upstream of this, not competitors.
| Name | What it is | Scale | How Tavotto differs |
|---|---|---|---|
| pylustrator | Interactive matplotlib editing | 904 stars, since 2018 | Writes changes back to code; no millimeter layout, journal pre-checks, or AI integration |
| SciencePlots / figures4papers | Journal style templates | 9.4k / 9.6k star | Used before plotting, not for editing after |
| AI scientific plotting skills | Get the AI to draw it well in one shot | A few to a hundred-plus stars | Upstream; the two can be used together |
| Illustrator / Inkscape | Vector post-processing | De facto standard in academia | Doesn't recognize legends or ticks, so layout is wasted when the data changes |
| mpltweak | Chinese copycats | 3 star | 10-09 shows up |
There's another part that's hard to see from outside: this repo's star list API doesn't return anything (GitHub returns 404 or 0), so there's no day-by-day data on how many stars came in during September. By Oct 17 it had 500 stars, and judging by the timing of forks and downloads, most probably came in the few days after Sep 19 (inference, not verified).
If it were you
In one line: the "last mile for AI output" spot has just opened up and is still empty. Tavotto shows that a single pain-point demo video can bring in hundreds of stars. The method is clear; the bet is whether your video can take off.
- Who it's for: developers who already use an "AI-generated, but still needs manual fixes" workflow, especially grad students, research engineers, or people who already have accounts on Xiaohongshu or Bilibili.
- Not for you if: you're thinking of building another matplotlib figure-tweaking tool. This space is already deep (Tavotto has 1300 PRs from a single person), and mpltweak's 3 stars are a warning sign. It's also not for anyone counting on "free and open source" to pay the bills. It has tips enabled, but tips aren't a revenue model worth planning around.
- How to build it: change the ecosystem or the use case, and don't go head-to-head. Ecosystem: R's ggplot2, MATLAB, Julia's Makie. Build "after AI draws it, edit it on the canvas until it's submission-ready, without touching the script." Use case: AI-generated slides, resumes, tables and LaTeX layouts in papers, and UI mockups all have gaps where "AI is fast, but the last step needs a human." Copy three things from Tavotto: recognize the objects (don't treat it as a flat image), store edits separately from source files, and auto-check against the spec before export. Then package it as a Codex / Claude Code plugin and MCP so it lives inside the AI workflow.
- How to get users: go where your audience looks for tools, and have the author appear on camera with a demo video. For grad students, that's Xiaohongshu. Write titles like "Tortured by X for half a month, so I just built a tool," with visuals of "double-click, drag, export." On the English side, Tavotto is still unclaimed: r/academia, r/PhD, the academic crowd on X, and Show HN are all worth trying. Don't skimp on reducing friction: a Windows installer with the runtime bundled, domestic mirrors, and support for China-available models.
- When to move: before the first half of 2027. Once Codex and Claude learn to produce journal-compliant figures on their own, or matplotlib and Origin officially ship this kind of editor, most of this "last mile" will be eaten.
- What would mean you misread it: If Tavotto's third and fourth videos can't pull stars, then the September spike was just luck. Or if a similar tool (say, a ggplot2 version) gets two or three serious videos with no more than a thousand likes each, the demand only exists for the matplotlib-plus-Codex crowd, and switching ecosystems won't hold up.
Research notes: competitor table, acquisition evidence, full research report
- Competitors
Name Where Launched Scale How it differs from this one pylustrator Open source 2018 GitHub 904 star interactive edits written back to the generation script; Tavotto leaves scripts alone and saves overrides, with millimeter layout, journal pre-checks, a desktop installer, and AI integration Plottery Open source 2026-10(arXiv) academic prototype Jupyter plugin with two-way sync between figure and code; Tavotto is a standalone desktop app aimed at the submission step figures4papers / SciencePlots Open source 2025 / 2018 9.6k / 9.4k star a style template and scripts used before plotting, not an editor after plotting Codex / Claude scientific plotting skills (nature-style-skill, schematic-figure, etc.) Open source since mid-2026 A few to a hundred-plus stars has AI draw it right the first time; Tavotto handles edits after the AI is done. They're upstream and downstream of each other. Adobe Illustrator / Inkscape Other Long-established the de facto standard for post-processing in research doesn't recognize legends, axes or other objects; manual layout becomes void once data updates Origin / GraphPad Prism Other Long-established mainstream commercial research software all-in-one GUI plotting, doesn't work with Python or AI-generated scripts converts AI figures to editable PPT / vector (Edit Banana, ChatCNS, etc.) Web 2026 single Xiaohongshu posts with thousands of likes handles bitmap schematics, not matplotlib data plots matplotlib's built-in Figure options Big-company features Very early ships with the library only edits a few properties; can't do layout, pre-checks, or save edits - Where users come from
- Verified Xiaohongshu (the author's own video): giddy's 2026-09-19 video "The AI plotting editing problem has finally been solved" 14408 likes / 19696 saves / 493 comments / 3454 shares; the next day forks +13, PyPI downloads 338. 10-30 second video 563 likes / 1040 saves, star +68 the next day.
- Verified Riding AI coding assistant hype (Codex / Claude Code plugins, MCP): README and copy use "AI-drawn figures" as the entry point; on Xiaohongshu, "codex scientific plotting" hot posts have thousands of likes; supports one-click integration with 8 AI editors.
- Verified Aggregators / reposts: the Threads account "AI 開源工具學習" reposted it twice; claude-updates.com 11-03 copied the README; viralagent.si and context7 list it. Volumes are tiny.
- Inferred English Reddit posts: Exa only surfaced one Google redirect snippet, "Finally fixed the biggest headache with AI-generated… I built Tavotto"; the original post wasn't found.
Why Tavotto/Tavotto took off
One line
Tavotto is an open-source desktop tool (AGPL, Tauri + Python) that handles the "last mile" for scientific figures made with matplotlib: drag legends on the canvas, change font sizes, lay out multi-panel figures in millimeters, and check journal specs (minimum font size, column width, dpi) before export. The original script stays untouched; edits live alongside it as overrides and get reapplied after the data is regenerated. It positions itself as "the figure editor for after Codex / Claude Code draws the figure," with a Codex plugin, a Claude Code plugin, and MCP.
Bottom line: its stars didn't come from GitHub, X, or HN. They came from a single video the author posted on Xiaohongshu. That 2026-09-19 video got 14k likes and nearly 20k saves, and Chinese grad students followed the video to download and star it. 10-30 The author posted a second video, which led to a small peak of +68 on 10-31.
Data (GitHub / PyPI / Xiaohongshu, as of 2026-11-06)
- Repo created 2026-08-16, 82 days ago. 666 stars (669 per the API right now), 39 forks. Daily stars in our GitHub tracking: 10-17 already 500,10-30 518,10-31 586 (+68), then +20, +17, +10, +8, +4 each day, cooling off.
- The star list can't be retrieved: the REST stargazers endpoint and the web /stargazers page both return 404; GraphQL's stargazers.totalCount=0, but stargazerCount is 669. The cause hasn't been identified (see "Unknowns"). So the early star pace can only be backed out from forks and downloads:
- Fork timing: 9-19 1 forks, 9-20 with 13 on a single day, 9-21 through 9-30 total 6 forks, sporadic in October, then 10-30 to 11-03 another 10. Most fork accounts look Chinese (liutao981027, yuanyi5453-oss, etc.).
- Daily PyPI downloads (pypistats, excluding mirrors): early September was single digits per day, 9-19 151, 9-20 338, 9-21 190, 9-22 265; 10-28 to 10-31 ran 137 to 159 per day. Last 30 days: 1941 total.
- Release installers: v0.15.0 (released 9-19), the Windows installer alone was downloaded 1934 times, macOS 511. Every release since has had far more Windows downloads than Mac, which fits the device mix of Chinese university grad students.
- The development pace is unusual: GraphQL shows 1328 PRs and 468 issues, and only one user can be @-mentioned, erwanjun. PR titles are all Chinese with ADR numbers ("ADR 0170" and similar), which looks like one person driving an AI agent at high intensity. v0.1 (then called Magplot) to v0.21 took only 81 days.
- External user issues cluster between 9-20 and 9-22 ("first render process crash," "can't write back to source," "Codex Desktop canvas freezes," etc.), which lines up with the Xiaohongshu traffic wave.
Where users come from (growth levers)
- The author's own Xiaohongshu videos (confirmed, main source). The author's Xiaohongshu account "giddy" (now nicknamed "葱茸包", IP Fujian, 2328 followers, bio "Research and development in parallel. Currently creating: Tavotto.com") is an ordinary personal account. Its earlier posts were mostly life content; the top tech post was "I built an MCP service for LAMMPS," with 108 likes.
- 2026-09-19 23:38 (Beijing time) video "The AI plotting editing problem has finally been solved": 14,408 likes, 19,696 saves, 493 comments, 3,454 shares (TikHub Xiaohongshu API). The pain point in the copy: "AI scientific plotting is high quality... but the output often doesn't meet publication standards... you change one spot, come back ten minutes later, and it may be wrong again," plus "already open source" and "can be integrated into Codex." Saves outnumber likes, which is typical of a tool post people bookmark until they write a paper.
- The next day (9-20) forks +13, PyPI downloads 338, and external issues piled up, timing that matches exactly.
- 2026-10-30 20:35 second video "Tortured by AI figure edits for half a month, so I just built a tool": 563 likes, 1040 saves, 54 comments. In the comments the author said the video was made with Remotion from a storyboard. The next day (10-31) star +68 and PyPI 154, which lines up.
- 2026-11-05 brand piece "a dot. a line. a figure. Tavotto.": 10 likes, didn't drive much traffic.
- The comments show who the users are: the top-liked comment asks "can figures drawn by Codex go straight into a paper?" (119 likes); the author's top reply (459 likes) explains that Codex lowers the drawing barrier, but doesn't know academic conventions, so column width, font size and similar details still need fixing. Some people said "I'm building something similar and found it already exists."
- Riding AI coding assistant hype (confirmed). The README and Xiaohongshu copy both use "Codex / Claude Code figures" as the entry point. It ships a Codex plugin and a Claude Code plugin, and can be integrated with one click into Cursor, Trae, WorkBuddy, DeepSeek Harness, and MiniMax Code. "Codex scientific plotting" is already a hot topic on Xiaohongshu, e.g. "Codex makes scientific-grade figures so well" with 3978 likes (2026-06-23), and "Codex scientific plotting is unbeatable" with 1490 likes (2026-07-28). Tavotto sits right in the gap of "AI finished the figure, but you still have to fix it."
- Aggregators and auto-reposts (confirmed, small volume). The Threads account "AI 開源工具學習" reposted it twice (at the time with 502 and 507 stars); claude-updates.com copied the README on 11-03; viralagent.si and context7 list it. These are passive listings, not growth drivers.
- Not found: x-radar search for "Tavotto" in the last 90 days returned 0 posts; HN (Algolia) 0 results; no original Reddit post found (Exa surfaced one Google redirect snippet, "Finally fixed the biggest headache with AI-generated… I built Tavotto," which suggests the author may have posted in English on Reddit or elsewhere, but the original couldn't be located, so the impact can't be measured); no press coverage and no ads found.
Competitors
| Name | Where | Launched | Scale | How Tavotto differs |
|---|---|---|---|---|
| pylustrator | Open source | 2018 | GitHub 904 star | Also interactive matplotlib editing, with changes written back to the generation script; Tavotto leaves scripts alone and saves overrides, with millimeter layout, journal pre-checks, a desktop installer, and AI integration |
| Plottery (UCSD paper) | Open source / academic | 2026-10 arXiv | research prototype | Jupyter plugin with two-way sync between figure and code; Tavotto is a standalone desktop app aimed at the submission step |
| figures4papers / SciencePlots | Open source | 2025 / 2018 | 9.6k / 9.4k star | a style template and scripts used before plotting; Tavotto is an editor used after plotting |
| Various Codex / Claude scientific-plotting skills (nature-style-skill, schematic-figure, Icarus-Figures, etc.) | Open source | since mid-2026 | A few to a hundred-plus stars | Get the AI to draw it nicely in one go; Tavotto handles the "you still have to fix it after AI draws it" part. The two are upstream and downstream. |
| Adobe Illustrator / Inkscape vector post-editing | Big companies / open-source software | Long-established | De facto standard in academia | Editable, but it doesn't understand "this is a legend"; when the data updates, the manual layout is wasted. Lots of Xiaohongshu tutorials on converting AI images to vectors and then editing them with AI follow this old path. |
| Origin / GraphPad Prism | Commercial software | Long-established | Mainstream in science | All-in-one GUI plotting, but doesn't connect to Python or AI-generated scripts |
| converts AI figures to editable PPT / vector (Edit Banana, ChatCNS, etc.) | Web / Xiaohongshu | 2026 | single Xiaohongshu posts with thousands of likes | Handles bitmap schematic diagrams (mechanism figures), not data plots. The two needs sit next to each other but aren't the same thing. |
| mpltweak(shdbl) | Open source | 2026-10-09 | 3 star | The Chinese "adjust matplotlib layout like PPT, write parameters back to the code" pitch showed up after Tavotto blew up, so it's a copycat. |
| matplotlib's built-in Qt toolbar "Figure options" | Big-company feature (built into the library) | Very early | Everyone has it | Can only change a few properties; no layout, no pre-submission checks, no saving |
Why it's working
- The pain point is very concrete and the timing is right: By year 2026, grad students commonly use Codex or Claude to write matplotlib plotting code. Figures come out fast, but "move the legend 3mm, change the font to 8pt" means asking the AI to revise again and again, which is slow and easy to get wrong. Tavotto sums it up in one line: "I'll help you tune the AI-drawn figure until it's ready to submit."
- Telling it on the right platform, in the right format: Grad students discover tools on Xiaohongshu, and a demo video (double-click the figure, drag the legend, export) makes it instantly clear. Saves outnumber likes, which shows people are bookmarking it as a tool.
- The author is the user: He does scientific work himself (he previously built an MCP for LAMMPS), answers questions in the comments personally, and directs users to GitHub and the official site on the spot.
- Polished, low barrier to entry: The installer bundles Python and numpy / matplotlib, so no environment setup is needed. There's a Windows installer (the main device for grad students in China). The README lists an Alibaba Cloud PyPI mirror. It's bilingual, and it can connect to domestic LLMs (DeepSeek, Kimi, Zhipu, MiniMax, Bailian).
- Funneling from Chinese platforms to GitHub: Chinese users are used to starring free open-source tools on GitHub, so one viral video can bring in hundreds of stars. The English-speaking circles (X, HN, Reddit) have almost no buzz.
Differentiation
- The core difference is "it doesn't change the original script; edits are stored as overrides, and they can be reapplied after the data is rerun," plus "it understands matplotlib objects" (it can tell titles, legends, ticks, and curves apart). Vector editors like Illustrator can't do either, and pylustrator writes changes back to code. The journal pre-submission checks and millimeter-precise layout are built directly around the "submit" step.
- Another difference is positioning itself as a companion tool for AI coding assistants: a Codex / Claude Code plugin and MCP. That lets it ride the "AI scientific plotting" topic from year 2026, which older tools like pylustrator never caught up with.
- Are these differences why it took off? Partly. The differentiation gave it something to demo, but the Xiaohongshu video is what actually drove traffic. pylustrator has been around for 8 years and has only 904 stars, which shows the features weren't the missing piece. What was missing was the new "AI output still needs editing" angle, plus one viral video.
How visible it is
Word in small circles: on Chinese science Xiaohongshu there was a 14k-like viral post, but only on that one platform. Nothing on X, HN, or in the media. No revenue involved (it's free and open source, with only Ko-fi and Afdian tipping links). A small copycat (mpltweak) has already appeared. There's a lot of Xiaohongshu content on converting AI images into editable formats, but most of it sits on the bitmap schematic track.
What others can borrow
- Build tools for the "last mile of AI output": AI generates fast, but there's still a final stretch (specs, fine-tuning) before it's deliverable, and every vertical (paper figures, PPT, resumes, UI mockups) has this gap.
- Reach a vertical audience (grad students) on the platform where they discover tools themselves (Xiaohongshu). Have the author post a pain-point demo video himself, with copy like "I suffered for X days, so I just wrote a tool."
- Lower the install barrier: a Windows installer with a bundled runtime, domestic mirrors, and support for domestic LLMs.
- Package it as a Codex / Claude Code plugin and MCP so it shows up inside AI workflows.
Unknowns
- Why the star list can't be retrieved (REST 404, GraphQL returns 0): GitHub may be restricting or flagging stargazer data for this repo, reason unknown. So there's no day-by-day data on how many stars the 9-19 wave brought. Going by forks and downloads, most of the 500 stars before 10-17 likely came in the days after 9-19, but this is unverified.
- Whether an English Reddit post exists and how well it did: not verified.
- Whether they paid for Xiaohongshu promotion or worked with science bloggers: no evidence found. The viral videos were all on the author's own account.
- How many active users there are: adding up Release downloads and PyPI gives roughly a few thousand to just over ten thousand. Retention is unclear.
Sources
- GitHub API / GraphQL: Tavotto/Tavotto releases, forks, issues, discussions (2026-11-06)
- Our GitHub repo daily stars (data card, 10-17 to 11-06)
- pypistats.org: tavotto overall / recent
- TikHub Xiaohongshu API: search "Tavotto", the profile and posts of user 5ea4fa160000000001000036, comments on notes 6aaeac6b000000001203f582 / 6ae48f06000000001b01f649
- www.tavotto.com/zh/support/, README
- x-radar search "Tavotto" (last 90 days, 0 posts); HN Algolia (0 results)
- arXiv 2610.14306 (Plottery); GitHub GraphQL for competitor star counts