On 7 November 2026, the Swarm Rebuild Chrome extension, whose source lives at DhvanilPatel/swarm-cursors on GitHub, stands at 1,715 stars. The repository is 24 days old. The Chrome Web Store lists about 9,000 users.
The extension wipes the page you are on and rebuilds it with a swarm of animated cursors. It makes a striking screen recording. That is also why it deserves a few minutes of checking before you click.
At a glance
- What it is: a Chrome extension (version 1.1.0). You click its icon or press Alt+Shift+S, and the page is cleared and redrawn piece by piece.
- Where the idea comes from: Joel Califa’s Swarm site came first. The extension’s README credits him and says much of its animation engine is adapted from his work.
- What we found in the code: on 7 November, the main branch contained no network calls, no storage and no remote code.
- What is unclear: there is no licence, we could not establish who maintains it, and we could not confirm that the Web Store package matches the repository.
- Our advice: fine to try on a public page. Keep it away from pages that show private data, especially while recording.
What does Swarm Rebuild actually do?
The README describes a Chrome extension that clears the current page. A swarm of cursors, styled like those in a multiplayer design tool, then rebuilds it. You start it with the toolbar icon or the Alt+Shift+S shortcut.
There is a Tour mode and three speeds (1×, 2× and 3×). The sound is generated in the browser with the Web Audio API.
The README is open about the limits:
- It does not run on chrome:// pages, on the Chrome Web Store or in the PDF viewer.
- The rebuild is visual. It is not a clone of the page, and the page’s own scripts are not run.
- Web components are rebuilt as plain styled elements.
- Very long pages are capped at about 4,000 layers or 40,000 pixels.
The README also says the Web Store version can lag behind the repository. You can install the code directly from the swarm-rebuild/ folder instead.
Who built Swarm Rebuild, and who built the original?
The idea belongs to Joel Califa. The repository behind his Swarm site (califa/swarm-site) was created on 14 October 2026 at 19:05 UTC, with a single commit that publishes the built site. The swarm-cursors repository followed about four and a half hours later, at 23:42 UTC.
The README is clear about the debt. Califa is credited for the choreography, the cursors, the flocking physics, the rulers and the overall look. In its own words: “Large parts of the animation engine here are adapted directly from his site.”
The repository itself shows a short history:
- 14 October 2026: repository created, initial commit.
- 15 October 2026: version 1.1.0, with sound design and live video rebuilds. The privacy notice carries the same date.
- 5 November 2026: the README gains a Chrome Web Store link.
- 6 November 2026: lighter WebP images. This is the last push, at 16:35 UTC.
The owner is DhvanilPatel, a GitHub account from 2014 with 16 public repositories. All four commits, however, come from a different account called chipthebot.
That account was created on 7 February 2026, has one public repository and shows no bio. We cannot tell how the two are related.
One clue: chipthebot opened and merged pull request #3 itself on 5 November, so it has write access to the repository.
What permissions does Swarm Rebuild ask for?
The manifest lists two permissions: activeTab and scripting. It uses Manifest V3, Chrome’s current extension format.
Chrome’s documentation explains the first one. It gives an extension temporary access to the active tab when you invoke it, for example by clicking its icon. That access ends when you navigate to another site or close the tab.
The scripting permission lets the extension inject code into that tab. Together, the two mean the extension can touch a page only after you click or press the shortcut. It has no standing access to every site you visit.
One more detail matters. When the page has a visible canvas, video, iframe, embed or object element, the extension takes one screenshot of the tab.
It does this because the rebuild cannot copy those elements as text. The privacy notice in the repository says the capture stays in memory.
What did we find when we read the code?
On 7 November we searched the extension’s source for the usual routes by which data leaves a browser. The main file, swarm.js, runs to about 3,800 lines. It is readable and not minified.
None of these appeared in it:
fetch(,XMLHttpRequest,sendBeaconorWebSocket, which send data to a server.eval(ornew Function, which run text as code.chrome.storage,localStorageordocument.cookie, which store or read saved data.- Dynamic
import(or the creation of script elements, which load more code.
The only URL written into the file is the standard SVG namespace address on w3.org. The code opens one Web Audio context, for the sound. It sends one message to the extension’s own background script, named swarm:unhide, to restore the page once the swarm’s layer covers it.
The background script is short. On a click, it checks the page for visible media. If it finds any, it hides everything else for 90 milliseconds, captures the tab as a PNG image and hands it to the page script.
Then it injects swarm.js. If anything fails, it shows a red badge on the icon for 2.5 seconds.
This matches the privacy notice, which says the extension collects, stores and sends nothing. The notice is dated 15 October 2026 and covers version 1.1.0.
A text search is not a security audit. A determined author could build a function name at runtime. Still, the code is plain, and the claims line up with the files.
What can the rebuilt page or the Tour expose?
This is the part we would watch most closely. To rebuild a form faithfully, the code copies the current value of each input field into the new layer.
Password fields are replaced by dots, one per character. An empty field shows its placeholder text.
The code also strips contenteditable settings, inline event handlers and autofocus from the copies. The rebuilt page is therefore a picture of the original, not a working page.
For you, this has a practical meaning. A draft email, a search query or an address typed into a page will appear in the animation.
Anyone watching a recording will see it. A password shows only as dots, but the dots reveal its length.
Nothing in the main-branch code we read on 7 November suggests the data leaves your machine. The risk is what you show, not what the extension sends. Our guide to screen-reading AI assistants covers the same habit: decide what is visible before any tool looks at it.
What do the open issues and pull requests say?
On 7 November the repository had seven open items: four issues and three pull requests. They sketch the state of the project.
- Issue #4 (5 November) reports that a stale screenshot can be reused after you exit and relaunch the extension. It also says the page can stay hidden if startup fails. We did not reproduce either problem.
- Pull requests #2, #5 and #6 are open and not merged. One fixes fixed backgrounds that cover the rebuilt page. One addresses the stale screenshot. One fixes
<picture>images that were squashed or clipped, and badge text that was invisible. - Issue #7 (6 November) asks for a video export button.
- Issues #1 and #8 ask for permission. The first wants to host
swarm.json a portfolio site. The second wants to publish a Firefox port on addons.mozilla.org. Issues #1, #4 and #8 had no comments.
A project this young with unmerged fixes is normal. It also means the version you install may not include them.
Can you reuse or port the code?
Not safely today. The repository has no licence file. Its README says to check with Joel Califa before reusing the code.
Califa’s own Swarm repository has no licence either. Two people have already asked in public (issues #1 and #8). We saw no answer.
Without a licence, the authors have granted no permission to copy or redistribute the code. If you plan to build on it, ask both authors first.
Should you install Swarm Rebuild?
| If you are… | Verdict | Why |
|---|---|---|
| Curious and want to try it | Go ahead, on a public page | Two narrow permissions. No network code found in the repository. |
| On a page with private data | Do not run it | Field values are replayed on screen. |
| Recording a video | Check the page first | Anything typed or visible is in the footage. |
| A developer wanting the code | Look, do not copy | No licence. Ask the authors. |
| An IT manager | Wait | Unclear maintainer. Web Store package unchecked. |
How do you check any extension before installing it?
The same steps work for any extension that has public source. Our piece on what to verify before evaluating a GitHub project covers the repository side.
- Read
manifest.json. The permissions should match what the tool does. Here there are two. - Read the privacy file. Check that its date and version match the manifest. Here both point to version 1.1.0.
- Compare the Web Store version with the repository. The store shows version 1.1.0, updated on 5 November, which matches the manifest. That proves the label, not the contents.
- For a strict check, install the unpacked folder from the repository. You then run exactly the code you read.
- Try it first on a page with nothing private on it.
The same logic applies to plugin stores more widely. See why one-click installs need a security gate.
What we could not verify
We did not install or run the extension. Everything above comes from reading the repository and the store page.
We read the main branch, not the file packaged in the Chrome Web Store. The store shows the same version number as the manifest, but we could not compare the contents. If the two differ, our code findings may not apply to what you install.
We could not establish who chipthebot is, or how that account relates to DhvanilPatel. We saw no public statement from Joel Califa about the extension.
We did not measure social media reach. Nor can we say how many people have seen videos of it.
The only popularity figures we have are 1,715 GitHub stars and the store’s rounded 9,000 users. A search of Hacker News on 7 November found no discussion thread to cite.
The project is moving quickly: four commits in 24 days. The open pull requests and licence requests are the next things to watch.
Sources
- The DhvanilPatel/swarm-cursors repository on GitHub (README, manifest, source files, privacy notice, issues, pull requests, commit history)
- Joel Califa’s Swarm site and its califa/swarm-site repository
- Swarm Rebuild on the Chrome Web Store (users, version, update date)
- Chrome documentation: the activeTab permission
