mana-am/matrix-swift — explained in plain English
Analysis updated 2026-05-18
Show an animated thinking indicator while an AI chat feature waits for a response.
Replace a plain spinner with a more distinctive loading animation in an iOS app.
Let users or developers pick from a gallery of over 100 loader styles.
Add an accessible loading animation that automatically respects Reduce Motion settings.
| mana-am/matrix-swift | eeliberto/surgerelay-macos | jcranokc/app-monitor | |
|---|---|---|---|
| Stars | 146 | 150 | 151 |
| Language | Swift | Swift | Swift |
| Setup difficulty | easy | moderate | easy |
| Complexity | 1/5 | 3/5 | 2/5 |
| Audience | developer | general | general |
Figures from each repo's GitHub metadata at analysis time.
Add the package via Swift Package Manager in Xcode, no external dependencies needed.
Matrix is a Swift package that adds animated loading indicators to SwiftUI apps. Instead of a plain spinning circle, it draws small animated grids of dots in over one hundred different patterns, such as squares, circles, hexagons, triangles, and playful shapes like a heart or sparkle. It is a Swift port of an existing JavaScript library called matrix, and it was built to power the chat thinking animation in an iOS app called Mana. The package is meant for anyone building an iOS app in SwiftUI who wants a loading indicator that feels more crafted than a generic spinner, for example to show that an AI chat is thinking, that a tool is running, or as a small inline spinner elsewhere in an app. A key feature is that the loader choice is deterministic: giving it the same identifying key always produces the same loader, so the animation does not appear to randomly change every time SwiftUI redraws the view, which can happen while scrolling. Developers add it to a project through Xcode's package manager or by adding one line to their Package.swift file. Once installed, each loader is its own SwiftUI view, so a developer can drop in a named component directly, for example a specific square or hexagon loader with a chosen size, color, and speed, or use a single generic view and pass in a loader identifier, which is handy for pickers or picking one at random. The package also ships a built in interactive gallery view so a developer can browse every available loader inside their own app. Under the hood, every loader is pure SwiftUI: animated circles arranged in a small grid, with no image assets and no external dependencies. The animations respect the Reduce Motion accessibility setting, pausing and showing a static version automatically for users who have that setting turned on. The project is published with the original author's permission and asks that attribution and a link back to the source project be kept. It requires Swift 5.9 or newer and iOS 18 or newer, and it is maintained by Mana, an AI focused iOS creation studio.
Matrix Swift is a SwiftUI package with over 100 animated dot-grid loading indicators, ported from a JavaScript library, with no assets or dependencies.
Mainly Swift. The stack also includes Swift, SwiftUI, Swift Package Manager.
The explanation does not state the specific license terms, only that attribution to the original project must be kept.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.