matrices.

an independent practice · automation · optimization · modeling · ai

matrices builds systems that decide.

and adapt. and improve themselves.

Most software waits to be told what to do. The systems built here do not. Each one holds a model of its world, updates that model as evidence arrives, and acts on what the posterior says. Below are three of them, told the way an essay would tell them: a problem, an approach, a result.

01

three systems

serif

a consumer-health causal inference engine

Wearable and biomarker data in, personalized and dose-aware recommendations out, with a causal model in between.

problem

Wearables and blood panels produce a stream of numbers and almost no guidance on what to change. Generic advice ignores the thing that matters most: how your outcomes respond to your behaviors, at your doses.

approach

serif encodes the mechanism as a causal DAG. Behaviors like sleep and training load act on biomarkers, and biomarkers act on outcomes. Bayesian posteriors are fit over the edges of that graph, so every recommendation arrives with a dose and an uncertainty attached, not just a direction.

result

The engine has run for 1,188 participants across 3 cohorts, turning raw wearable and biomarker streams into recommendations that are personal, dose-aware, and honest about what the data can and cannot support.

Causal diagram: sleep and training load point to biomarker, biomarker points to outcome, with dotted direct paths from sleep and training load to outcome. sleep training load biomarker outcome direct effects mediated
The shape of the serif model. Behaviors act on a biomarker, and the biomarker acts on the outcome. Dotted paths are direct effects; the solid path is the mediated one the engine estimates, per person and per dose.

prism

a Bayesian adaptive political-disposition quiz

Political disposition as 14 latent dimensions and 130 archetypes, measured by a quiz that rewrites itself as you answer.

problem

Political labels compress a person onto one axis, and fixed-form quizzes spend most of their questions confirming what the first few already established. The interesting structure, how someone reasons and not just where they land, never gets measured.

approach

prism models disposition across 14 latent dimensions and matches the running posterior against 130 archetypes. Each question is chosen in real time to be the most informative one remaining, so the quiz adapts to every answer instead of following a script.

result

The estimate converges in about 30 questions: enough to place a person among 130 archetypes without asking a hundred things their earlier answers already implied.

Scatter plot sketch: archetype dots across two dimensions, with a dotted path that starts wide and spirals inward to a circled point labeled about question 30. one latent dimension another dimension question 1 about question 30
A sketch of two of prism's 14 dimensions. Dots are archetypes; the dotted path is the running estimate, jumping widely on early answers and settling in about 30 questions.

markets

prediction-market decomposition and tooling

A prediction-market price is one number wearing many beliefs. The tooling here takes the number apart.

problem

Related contracts move together because they share underlying drivers, and the price alone will not tell you which driver moved. Trading or forecasting on raw prices means reasoning about a sum without seeing its parts.

approach

A Bayesian model decomposes contract prices into shared latent terms, so a family of related contracts reads as a few common factors plus a residual that belongs to each contract alone. Live dashboards keep the decomposition current as prices move.

result

Live dashboards over the decomposition, and an active forecasting track record built on the same machinery: forecasts made against the latent terms, not against the headline number.

Tree diagram: a contract price node splits into latent term a, latent term b, latent term c, and a residual; the latent terms are marked as shared with related contracts. contract price latent term a latent term b latent term c residual + + + shared with related contracts this contract only
One contract's price, split into latent terms shared across a family of related contracts plus a residual that belongs to this contract alone. When prices move, the decomposition says which term did the moving.
02

the practice

The three systems above are built from four kinds of work. Engagements draw on whichever mix the problem needs.

aautomation

Agentic pipelines and workflow orchestration: LLM-powered systems that run unattended, designed with a human in the loop exactly where judgment matters and nowhere else.

boptimization

Portfolio and resource-allocation optimization, and decision analysis under uncertainty. Objectives are distribution-aware: the full shape of outcomes, not just the expected value.

cmodeling

Bayesian inference in Stan, PyMC, and NumPyro. Causal DAGs and treatment-effect estimation, agent-based simulation and synthetic populations, probabilistic forecasting.

dai

Applied LLM systems: evaluation and scoring pipelines, adaptive question engines, and machine learning that ships to real users rather than staying in a notebook.

matrices is the independent practice of sam cialek: fifteen years across quantitative finance, data science, and software engineering, now pointed at systems that decide, adapt, and improve themselves.

B.A. Economics & Mathematics New York University 2011

MBA Columbia Business School 2019

M.S. Computer Science Georgia Tech 2024

03

start a conversation

If you have a decision process that should be a system, or a system that should be smarter about its decisions, get in touch. Thirty minutes is usually enough to tell whether the problem is a fit.