All posts

Thunderstorm is open source. Read every line yourself.

This morning the developer of Tinycast, a free launcher for the Mac, posted that I took his whole codebase, ran it through AI and now sell it as Thunderstorm, the launcher built into Droppy. That is a serious thing to say about someone's work, so it deserves a serious answer instead of a reply war. Here is mine. As of today, the full source of Thunderstorm is public: every file of the current code, the same code that goes out in the next Droppy update. Next to it sits the script I used to compare it with every version of Tinycast ever pushed to GitHub, so you do not have to take my word for anything. You can check it yourself in a few minutes.

"just ripped of my entire Tinycast code base and feed it to AI"

Read the full post by @abue_ammar on X

The short version: Thunderstorm is Droppy's own code. It shipped in Droppy 13.1 on March 16, 2026, three and a half months before the Tinycast repository was created on June 29, 2026. In September he and I worked together for a short while: with his permission, we tested his app inside Droppy for a few days. That test version was never released. It was removed before any update went out, so no Droppy user ever got his code. Measured against every version of Tinycast, today's Thunderstorm shares no more code with it than Droppy's code from June 2026 does, which was written before Tinycast existed. The source and the comparison are public at gitlab.com/droppyformac1/thunderstorm.
The Thunderstorm icon above the words Thunderstorm is open source, with a timeline: March 16, 2026 Thunderstorm ships in Droppy 13.1, June 29, 2026 Tinycast's repository is created, October 11, 2026 Thunderstorm's source is published
Three dates, all of them checkable.

The claims, one by one

Here is each thing that was said, next to what you can verify yourself. The sections below go into the details and the sources.

What was saidWhat the record shows
"Ripped off my entire codebase"Today's Thunderstorm shares as little code with Tinycast as Droppy's code from before Tinycast existed: 0.24% of code fingerprints, the same score. The source is public, so anyone can check.
"Fed it to AI to build Thunderstorm"Thunderstorm shipped on March 16, 2026; the Tinycast repository was created on June 29, 2026. Thunderstorm was not built from Tinycast. The only time his code was in Droppy was a test version we made together, with his permission, during our collaboration. It was never released.
"Even the logo is a thunder"Thunderstorm's storm cloud and lightning bolt icon shipped in March 2026, and the Internet Archive has it on getdroppy.app on June 7, 2026, before Tinycast existed.
"Selling it as paid"Droppy is a paid app, and the Thunderstorm inside it is Droppy's own code. Its source is now free for anyone to read.
"Forgot to change the placeholders"Fair. A few example texts from our collaboration survived the rewrite. They are replaced, and the published source has the new ones.
"This is his daily job"The screenshot shows DropClip, a fork of OpenClip made under OpenClip's MIT licence, which explicitly allows forks, with its author credited in every copy.

Thunderstorm has been in Droppy since March

Thunderstorm arrived in Droppy 13.1, released on March 16, 2026. It already had its name, its storm cloud and lightning bolt icon, clipboard search and a command catalog: 35 source files in that release.

You do not have to trust my git history for this. The Internet Archive saved a copy of getdroppy.app on June 7, 2026, three weeks before the Tinycast repository existed, and Thunderstorm is right there in the list of droplets, icon and all, described as a universal search and clipboard launcher.

Tinycast's GitHub repository was created on June 29, 2026, and it launched publicly at the end of July. So the name, the lightning bolt and the idea of a launcher living inside Droppy were all here first. That does not make Tinycast a copy of Thunderstorm, and I am not claiming it is. It only means a lightning bolt on a launcher icon proves nothing either way.

DateWhat happened
March 16, 2026Thunderstorm ships in Droppy 13.1, with its name and storm icon
June 7, 2026The Internet Archive saves getdroppy.app, listing Thunderstorm
June 29, 2026The Tinycast repository is created on GitHub
Late July 2026Tinycast launches publicly
September 2026A short collaboration: with his permission, we test Tinycast inside Droppy, credited to him. This test version is never released
End of SeptemberThe collaboration ends and the test version is removed, before any update ships
September 28, 2026Droppy 16.0 ships with the rewritten Thunderstorm
October 11, 2026The last leftovers are replaced and Thunderstorm's full source is published

What happened in September

In September, Abue and I worked together for a short while. With his permission, we made a test version of Droppy with Tinycast inside it, as a droplet carrying his name, his icon and his credit. In that test version, Thunderstorm also used parts of his launcher, again with his licence and his credit attached.

That test version was never released. No Droppy update ever contained it, and no released version of Droppy could even install those droplets, because they required a newer Droppy than anyone had. When the collaboration ended, all of it was removed and the affected parts of Thunderstorm were rewritten from scratch, before any update went out. Not a single Droppy user ever received his code.

Nothing about this is hidden. The public Droplet Store repository shows both steps, with his credit on the work: the test version being added, and being removed. Droppy 16.0, the first release after that, shipped on September 28 with the rewritten Thunderstorm.

Today's Thunderstorm, measured

Saying "I rewrote it" is easy, so I measured it, the way plagiarism checkers do, and I am publishing the tool so you can repeat it. In plain terms, this is what was compared.

  1. Thunderstorm today: all 256 Swift files, about 115,000 lines, exactly as published.
  2. Tinycast: its full git history, 990 commits on every branch up to October 10, 2026. Every version of every source file counts, including code Tinycast has since changed or deleted.
  3. Two methods: matching lines, which looks for stretches of identical lines once spacing and comments are stripped, and fingerprinting, the technique tools like MOSS use, which turns code into thousands of small fingerprints so a copied passage is found even when it was reformatted.
  4. A baseline: the same check on Droppy's whole codebase as it was in June 2026, before Tinycast existed. Whatever turns up there is coincidence by definition, because there was nothing to copy yet. Two Swift apps for the Mac always share some everyday code.
Chart titled No copied code. Longest identical stretch: Thunderstorm today 5 lines, Droppy in June 2026, written before Tinycast existed, 4 lines. Code also found in Tinycast: Thunderstorm today 0.24 percent, Droppy in June 2026 0.24 percent. Below: March 16, 2026 Thunderstorm ships in Droppy 13.1; June 29, 2026 Tinycast's repository is created.
Today's Thunderstorm scores exactly like Droppy's own code from before Tinycast existed.
What was checkedLongest identical stretchCode also found in Tinycast
Thunderstorm today5 lines0.24%
Droppy in June 2026, before Tinycast existed4 lines0.24%

On today's Thunderstorm the check finds exactly what it finds on Droppy's own code from before Tinycast existed: the same 0.24%, and no shared stretch longer than five lines. Every short match was read by hand. They are everyday boilerplate, like opening a file picker or setting up a PDF view, plus the names in Raycast's extension API, which both launchers have to use to run Raycast extensions, and lists of facts such as currency codes. None of it is copied logic.

The placeholders, and the other leftovers

One reply in the thread pointed at the example text in Thunderstorm's quicklink editor. That one is fair, and I would rather say so than argue it. While preparing this post I went through far more than the code: names, labels, example values and settings wording. A handful of example texts from the collaboration's test version slipped through into Droppy 16.0, including the search field's prompt and the quicklink example he posted. They are texts, not code, but they came from his app, so they are gone. The search field says "Search your Mac" again, as it did before September, and the quicklink example is a Wikipedia search. The published source already has every replacement, and they reach your Mac with the next Droppy update.

Why launchers look alike

Spotlight put a search field in the middle of the screen in 2005. Alfred added actions and workflows in 2010. Raycast, in 2020, gave us the panel most launchers share today: a wide panel with a list under a search field, an actions menu on Command K, quicklinks with an {argument} placeholder, snippets and clipboard history. Tinycast follows that design too, and its developer says himself that the line he draws is the code, not the interface. Thunderstorm follows it too, on purpose: it runs Raycast extensions and imports Raycast quicklinks, so it speaks Raycast's formats.

None of that is code. A feature list, a layout or a keyboard shortcut is a convention, and conventions are the reason you can sit down at any launcher and know what to do. Whether code was copied is the actual question, and the code is now public.

About DropClip

Later in the thread, a screenshot of a Droplet Store commit renaming OpenClip to DropClip was posted as a "stealing record". The facts: OpenClip, by Ganesh M, was released under the MIT licence, which allows anyone to fork it. OpenClip ran inside Droppy as a droplet made together with its author. DropClip is Droppy's fork, taken on September 23, 2026, while OpenClip was still MIT licensed; OpenClip moved to a different licence two days later. Every copy of DropClip carries Ganesh M's copyright notice, exactly as the MIT licence asks, and its provenance file in the public Droplet Store repository records what was taken and when. Forking an MIT project and crediting it is what that licence is for.

About AI, and about selling it

I build Droppy with help from AI tools, like a lot of developers in 2026, and I have never hidden that. Using AI is not the same as copying someone. What matters is what ends up in the code, and that is now there for anyone to read.

Droppy is a paid app and Thunderstorm is part of it. What you pay for is the whole app and the work that keeps it improving every week. The source of Thunderstorm itself is free to read, under the same licence as the rest of Droppy's source.

Check it yourself

  1. Clone the Thunderstorm repository from gitlab.com/droppyformac1/thunderstorm.
  2. Clone Tinycast from GitHub, including its full history.
  3. Run python3 verify/compare.py --ours Sources --theirs ../tinycast --history. It needs nothing but Python, reads files without running anything, and prints every match with file names and line numbers on both sides. Add --baseline with any other Swift project to see what coincidence looks like.

If you find something I missed, tell me, publicly or in private. I will look at it and fix it in the open, the same way I did with the leftovers above.

Back to building

I would much rather spend my time on Droppy than on an argument. Tinycast is a good launcher, and the Mac is better with more good launchers on it, not fewer. Thunderstorm is mine, it is out in the open now, and the next update is already on its way.

Sources and version scope

Checked against: Thunderstorm's source as published on October 11, 2026; Droppy 13.1.0, released March 16, 2026; the Internet Archive copy of getdroppy.app from June 7, 2026; the Tinycast repository on GitHub, all branches and history up to October 10, 2026; Droppy's own source as of June 19, 2026; the public Droplet Store repository, including DropClip's licence and provenance file. Raycast is a trademark of its owner; Droppy is not affiliated with or endorsed by Raycast or Tinycast.