Introducing Quiver
A new Swift framework for statistics, linear algebra, and machine learning.
Today I’m pleased to announce a new Swift framework for statistics, linear algebra, and machine learning. Named “Quiver,” it’s a project I started in late 2024, so I’m filled with gratitude to be able to share the news with others. Instead of rambling on, here are some quick questions and answers.
What is it — who is it for?
Quiver is a math layer for Swift. This includes statistics, numerical computing, probability, signal analysis, and machine learning. The framework extends Swift’s standard Array type using a language feature called extensions. The result provides a new surface for numerical computing with code you can read end to end. It was designed for education as much as implementation — for students and educators teaching these ideas, and for developers putting them to work. What’s fun is that developers and students can learn the math, then build, test, and integrate models directly from Xcode and see them in action. The project originally started as lecture notes on paper before tinkering with Python — then deciding to write Quiver as a pure Swift framework.
How is it different?
As a small team the goal wasn’t to create something huge or to displace other (much larger) ML frameworks. On the contrary, the project’s size and “zero” dependency architecture may work to its advantage. In practice that means:
Statistics, probability, linear algebra, and signal analysis in one place
Train and fit machine learning models directly in code
Inspectable models — read the coefficients and intercepts, not just predictions
Math rendered the way you’d write it on paper - includes fractions and polynomials
Extends the Swift standard library’s Array - no new types or object models to learn
Zero external dependencies
Runs on every Apple platform, watchOS included
Runs server-side on Linux with Vapor
Supports a new web-based Notebook for learning Quiver and prototyping models
Extensive documentation that teaches the math alongside the code
They say to really know a subject is to teach it, and this has certainly been true with this project. Over the years it’s kept my curious mind (happily) occupied, asking questions, questions and more questions — attempting to connect ideas to abstract concepts. As we know, most of the computing landscape these days is dominated by Python. While Python is fabulous, it’s been great fun reimagining many of these concepts in Swift.
What can it do?
Quiver can train and fit models based on dynamic data potentially produced from an iPhone or watch. Quiver is also fully supported on Vapor and extends its full capabilities to server solutions. Ideas include utilization of the frameworks’ similarity and tokenization functions to create semantic search systems. Regardless, Quiver understands the full breadth of linear algebra / embeddings which can be applied to many applications.

Quiver also provides a set of visualization functions that bridge numerical data and chart-ready output. These operations handle the data preparation step — scaling values to a target range, computing frequency distributions, stacking series for area charts, and downsampling large datasets for responsive rendering. Each function returns structured output that maps directly to Swift Charts mark types.
For instructors and students the Quiver Notebook provides a new surface for learning Swift as well as numerical computing. With direct framework optimization an instructor can customize the IDE for teaching a statistics or ML course without Xcode or a lengthy configuration process. Anyone can also use the notebook to learn data science in Swift using built-in datasets then later deploy their solutions to Xcode.
How can I try it — is it open source?
Yep, certainly. Along with the framework comes complete documentation designed to teach the math alongside the code. This includes conceptual guides, code examples, and primers on linear algebra and machine learning fundamentals. Whether you’re a student or a seasoned developer, the docs are written so you can start from the beginning and make it your own.


