arielb57

Paris, France

I build tools that have to be correct.

Marketplace infrastructure, developer tooling, and automation pipelines. Most of what I write ends up being about the part nobody sees: the schema, the access rules, the test that catches the case you did not think of.

Work

Every repository below is public, and every number is read from the GitHub API when this page is built.

irroots

Find every IRR of a cash flow, or prove there is none, using exact root isolation instead of Newton

TypeScript 7 commits today
capital-budgetingcorporate-financeexact-arithmeticfinanceirr
auctionclear

Call-auction uncrossing with each venue's tie-break rules, checked against brute force over every price

Rust 7 commits today
call-auctiondifferential-testingexchange-rulesmarket-microstructurematching-engine
thirteenf-delta

Real position changes from SEC 13F filings, not artefacts of amendments, units or splits

TypeScript 7 commits today
13fdata-qualityedgarfinancesec
digitblind

Exact rates of the typos ISIN, CUSIP, SEDOL, LEI, IBAN and ABA check digits fail to catch

TypeScript 7 commits today
check-digitcusiperror-detectionfintechiban
manytrials

How many strategies did your AI agent really try? Deflated Sharpe and PBO, done right

Python 6 commits today
backtestingdeflated-sharpe-ratiomultiple-testingoverfittingquant-finance
tipsratio

Exact TIPS index ratios, coupons, accrued interest and deflation floors in rational arithmetic

TypeScript 7 commits today
cpiexact-arithmeticfixed-incomeinflationtips
sumtree-audit

Merkle sum-tree proof of liabilities in Rust, shipped with the attack that breaks the naive version

Rust 7 commits today
auditauditingcryptographyexchangeexchange-solvency
peekahead

Black-box look-ahead bias detector for backtest features: names the leaking column, how far ahead it reads, and what the leak was worth in Sharpe

Python 7 commits today
backtestingdata-leakagedifferential-testinglook-ahead-biaslookahead-bias
sca-exempt

A PSD2 Strong Customer Authentication exemption engine that says when SCA can be skipped, and why.

TypeScript 7 commits today
compliancefintechopen-bankingpsd2sca
netmin

Settle a web of payment obligations in the fewest transfers, with a proof of optimality or gap

Python 9 commits today
combinatorial-optimizationdynamic-programmingfinancenettingnp-hard
homophone

Fast homophonic-substitution cipher solver in Rust that measures its own recovery limits

Rust 7 commits today
cipherclassical-ciphercryptanalysishomophonic-substitutionn-gram
buildcrit

Causal profiling for Ninja builds: which edge, if faster, would shorten wall-clock time

Rust 8 commits today
build-systemscausal-profilingcompile-timescritical-pathninja
elfcaps

Static audit of Linux binaries: which privacy-sensitive X11, input and screen APIs they can reach

Rust 9 commits today
elflinuxprivacyrustsecurity
includecost

Find the C/C++ headers whose removal would delete the most preprocessed code, proven by dominators

Rust 8 commits today
build-performancecompile-timecompile-timescppdominator-tree
magmahunt

Fast finite-counterexample search for implications between equational laws over magmas

Rust 8 commits today
automated-reasoningbacktrackingcounterexample-searchequational-theoriesmagma
knockwire

Recover signed interaction networks from knockout experiments, and report which edges can't be determined

Python 6 commits today
identifiabilitylinear-programmingmodular-response-analysisnetwork-inferencepython
hostsplit

Differential fuzzer that finds URLs whose hostname differs depending on who parses them

TypeScript 7 commits today
differential-testingfuzzingsecurityssrftypescript
xselaudit

Record X11 traffic and report which clients read your clipboard, when, and whether you pasted

TypeScript 7 commits today
clipboardlinuxprivacyprotocol-analysisprotocol-decoder
exactscale

Finds the provably best scale for each block of quantized LLM weights, plus the MSE heuristics lose

Python 6 commits today
ggufllmmodel-compressionnumerical-methodsnumpy
codecollapse

Measure how many truly different programs your code LLM samples, not just how many pass

Python 5 commits today
benchmarkingcode-generationdiversityllm-evaluationmode-collapse
jpegpast

Tell whether a lossless image was once a JPEG, and recover the quantization table it was saved with

Rust 6 commits today
compressiondataset-qualitydctforensicsimage-forensics
mqgap

Find viewport widths your CSS breakpoints miss or double-cover, fractional pixels included

TypeScript 6 commits today
cssinterval-arithmeticlintermedia-queriesresponsive-design
panfpe

NIST FF1 and FF3-1 format-preserving encryption for card tokens, checked against official vectors

TypeScript 6 commits today
cryptographyff1ff3-1format-preserving-encryptionnist
itchbook

Zero-copy NASDAQ ITCH 5.0 decoder and order book rebuilder, checked against a model book

Rust 6 commits today
binary-protocoldifferential-testinghftitchmarket-data
ddbreach

Decide whether a prop-firm drawdown rule was certainly, possibly, or never breached from OHLC bars

Rust 6 commits today
backtestingdrawdownformal-semanticsohlcprop-trading
lmsr-exact

An LMSR prediction-market maker in integer arithmetic where rounding can never be turned into profit

TypeScript 6 commits today
arbitragefixed-pointinterval-arithmeticlmsrmarket-maker
tiercliff

Find every usage level where a tiered price table charges less for more, in exact arithmetic

Rust 7 commits today
billingexact-arithmeticfintechpricingrust
cla-exact

Markowitz Critical Line Algorithm in exact rationals: the whole efficient frontier, certified

Python 6 commits today
critical-line-algorithmefficient-frontierexact-arithmetickktmarkowitz
fixgap

Check FIX session logs against the sequence-recovery rules and name the exact rule broken

TypeScript 6 commits today
conformance-testingfinancial-messagingfix-protocolmarket-infrastructuremodel-checking
volarb

Find static arbitrage in option quote grids, and the fewest quotes to drop to remove it

Python 6 commits today
arbitragederivativesdynamic-programmingexact-arithmeticoptions
queuebound

Tight best- and worst-case fill bounds for a passive order backtested on L2 data

Python 6 commits today
backtestinglimit-order-bookmarket-microstructureorder-bookpartial-identification
tickpack

Lossless tick-data codec that finds the price grid inside float columns and beats Gorilla XOR

Rust 6 commits today
compressionfloat-encodinggorillagorilla-compressionmarket-data
achclock

Compute ACH settlement dates, same-day windows and return deadlines using the real Fed calendar

TypeScript 6 commits today
achbankingbusiness-daysfederal-reservenacha
centdrift

Subscription proration in exact integer arithmetic where splitting a period never moves a cent

TypeScript 6 commits today
bigintbillingexact-arithmeticfintechinvoicing
exactcoverage

VaR backtests (Kupiec, Christoffersen, Basel traffic light) with exact finite-sample p-values

Python 6 commits today
backtestingbaselexact-inferencekupiecpython
markout-fdr

Find which clients send toxic flow from fill markouts, with honest error rates for overlapping horizons

Python 6 commits today
bootstrapfalse-discovery-ratefdrmarket-microstructuremarkouts
liqbracket

Exact liquidation prices for perpetual futures under tiered margin, including hedge mode

Python 7 commits today
derivativesexact-arithmeticliquidationmarginperpetual-futures
streamfall

Exact second-by-second insolvency cascades for networks of continuous money streams, with no ticking

TypeScript 6 commits today
bigintdefidiscrete-event-simulationevent-simulationliquidation
stubfrac

Day-count fractions with irregular stubs in exact rationals, plus a map of where conventions disagree

Rust 6 commits today
bondsday-countexact-arithmeticfixed-incomeisda
en16931-totals

Check e-invoice totals against the EN 16931 rules and find cent-exact fixes when rounding breaks them

TypeScript 6 commits today
compliancee-invoicingen16931fintechpeppol
shortswing

Largest Section 16(b) short-swing profit from insider trades, with a proof that it is optimal

Rust 6 commits today
complianceinsider-tradingmin-cost-flowoptimizationrust
centflip

Find the exact inputs where f64 interest or FX code rounds to the wrong cent, with proofs

Rust 6 commits today
continued-fractionsexact-arithmeticfixed-incomefloating-pointmoney
warmupbound

How many bars an EMA, RSI or ATR needs before its seed can't change a tick, proven

Rust 6 commits today
backtestingindicatorsnumerical-analysisquant-financerust
lotsnap

Turn a desired crypto order into the best one that passes every exchange filter, in exact decimals

TypeScript 6 commits today
bigintcrypto-exchangedecimal-arithmeticorder-managementtrading-infrastructure
matchlaw

An executable spec for continuous matching engines: replay your fills, get the first rule broken

Rust 6 commits today
differential-testingmarket-microstructurematching-engineorder-bookrust
forge

Mines daily engineering trends and ships complete, tested projects — with a quality gate that rejects its own output.

JavaScript 43 commits 2d ago
automationcode-generationllm-agentsnodejspipeline
arielb57

Profile README

3 commits 3d ago
arielb57.github.io

My portfolio and GitHub activity dashboard — static, zero dependencies, rebuilt daily from the GitHub API.

JavaScript 4 commits 3d ago
dashboardgithub-pagesportfoliostatic-sitezero-dependencies

Activity

393 contributions in 2026, across 48 repositories.

48
public repositories
344
commits across them
0
stars received
6
languages used
7
days with activity
5
longest daily streak

Contributions, last 12 months

SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri0 contributions on 2025-09-120 contributions on 2025-09-130 contributions on 2025-09-140 contributions on 2025-09-150 contributions on 2025-09-160 contributions on 2025-09-170 contributions on 2025-09-180 contributions on 2025-09-190 contributions on 2025-09-200 contributions on 2025-09-210 contributions on 2025-09-220 contributions on 2025-09-230 contributions on 2025-09-240 contributions on 2025-09-250 contributions on 2025-09-260 contributions on 2025-09-270 contributions on 2025-09-280 contributions on 2025-09-290 contributions on 2025-09-300 contributions on 2025-10-010 contributions on 2025-10-020 contributions on 2025-10-030 contributions on 2025-10-040 contributions on 2025-10-050 contributions on 2025-10-060 contributions on 2025-10-070 contributions on 2025-10-080 contributions on 2025-10-090 contributions on 2025-10-100 contributions on 2025-10-110 contributions on 2025-10-120 contributions on 2025-10-130 contributions on 2025-10-140 contributions on 2025-10-150 contributions on 2025-10-160 contributions on 2025-10-170 contributions on 2025-10-180 contributions on 2025-10-190 contributions on 2025-10-200 contributions on 2025-10-210 contributions on 2025-10-220 contributions on 2025-10-230 contributions on 2025-10-240 contributions on 2025-10-250 contributions on 2025-10-260 contributions on 2025-10-270 contributions on 2025-10-280 contributions on 2025-10-290 contributions on 2025-10-300 contributions on 2025-10-310 contributions on 2025-11-010 contributions on 2025-11-020 contributions on 2025-11-030 contributions on 2025-11-040 contributions on 2025-11-050 contributions on 2025-11-060 contributions on 2025-11-070 contributions on 2025-11-080 contributions on 2025-11-090 contributions on 2025-11-100 contributions on 2025-11-110 contributions on 2025-11-120 contributions on 2025-11-130 contributions on 2025-11-140 contributions on 2025-11-150 contributions on 2025-11-160 contributions on 2025-11-170 contributions on 2025-11-180 contributions on 2025-11-190 contributions on 2025-11-200 contributions on 2025-11-210 contributions on 2025-11-220 contributions on 2025-11-230 contributions on 2025-11-240 contributions on 2025-11-250 contributions on 2025-11-260 contributions on 2025-11-270 contributions on 2025-11-280 contributions on 2025-11-290 contributions on 2025-11-300 contributions on 2025-12-010 contributions on 2025-12-020 contributions on 2025-12-030 contributions on 2025-12-040 contributions on 2025-12-050 contributions on 2025-12-060 contributions on 2025-12-070 contributions on 2025-12-080 contributions on 2025-12-090 contributions on 2025-12-100 contributions on 2025-12-110 contributions on 2025-12-120 contributions on 2025-12-130 contributions on 2025-12-140 contributions on 2025-12-150 contributions on 2025-12-160 contributions on 2025-12-170 contributions on 2025-12-180 contributions on 2025-12-190 contributions on 2025-12-200 contributions on 2025-12-210 contributions on 2025-12-220 contributions on 2025-12-230 contributions on 2025-12-240 contributions on 2025-12-250 contributions on 2025-12-260 contributions on 2025-12-270 contributions on 2025-12-280 contributions on 2025-12-290 contributions on 2025-12-300 contributions on 2025-12-310 contributions on 2026-01-010 contributions on 2026-01-020 contributions on 2026-01-030 contributions on 2026-01-040 contributions on 2026-01-050 contributions on 2026-01-060 contributions on 2026-01-070 contributions on 2026-01-080 contributions on 2026-01-090 contributions on 2026-01-100 contributions on 2026-01-110 contributions on 2026-01-120 contributions on 2026-01-130 contributions on 2026-01-140 contributions on 2026-01-150 contributions on 2026-01-160 contributions on 2026-01-170 contributions on 2026-01-180 contributions on 2026-01-190 contributions on 2026-01-200 contributions on 2026-01-210 contributions on 2026-01-220 contributions on 2026-01-230 contributions on 2026-01-240 contributions on 2026-01-250 contributions on 2026-01-260 contributions on 2026-01-270 contributions on 2026-01-280 contributions on 2026-01-290 contributions on 2026-01-300 contributions on 2026-01-310 contributions on 2026-02-010 contributions on 2026-02-020 contributions on 2026-02-030 contributions on 2026-02-040 contributions on 2026-02-050 contributions on 2026-02-060 contributions on 2026-02-070 contributions on 2026-02-080 contributions on 2026-02-090 contributions on 2026-02-100 contributions on 2026-02-110 contributions on 2026-02-120 contributions on 2026-02-130 contributions on 2026-02-140 contributions on 2026-02-150 contributions on 2026-02-160 contributions on 2026-02-170 contributions on 2026-02-180 contributions on 2026-02-190 contributions on 2026-02-200 contributions on 2026-02-210 contributions on 2026-02-220 contributions on 2026-02-230 contributions on 2026-02-240 contributions on 2026-02-250 contributions on 2026-02-260 contributions on 2026-02-270 contributions on 2026-02-280 contributions on 2026-03-010 contributions on 2026-03-020 contributions on 2026-03-030 contributions on 2026-03-040 contributions on 2026-03-050 contributions on 2026-03-060 contributions on 2026-03-070 contributions on 2026-03-080 contributions on 2026-03-090 contributions on 2026-03-100 contributions on 2026-03-110 contributions on 2026-03-120 contributions on 2026-03-130 contributions on 2026-03-140 contributions on 2026-03-150 contributions on 2026-03-160 contributions on 2026-03-170 contributions on 2026-03-180 contributions on 2026-03-190 contributions on 2026-03-200 contributions on 2026-03-210 contributions on 2026-03-220 contributions on 2026-03-230 contributions on 2026-03-240 contributions on 2026-03-250 contributions on 2026-03-260 contributions on 2026-03-270 contributions on 2026-03-280 contributions on 2026-03-290 contributions on 2026-03-300 contributions on 2026-03-310 contributions on 2026-04-010 contributions on 2026-04-020 contributions on 2026-04-030 contributions on 2026-04-040 contributions on 2026-04-050 contributions on 2026-04-060 contributions on 2026-04-070 contributions on 2026-04-080 contributions on 2026-04-090 contributions on 2026-04-100 contributions on 2026-04-110 contributions on 2026-04-120 contributions on 2026-04-130 contributions on 2026-04-140 contributions on 2026-04-150 contributions on 2026-04-160 contributions on 2026-04-170 contributions on 2026-04-180 contributions on 2026-04-190 contributions on 2026-04-200 contributions on 2026-04-210 contributions on 2026-04-220 contributions on 2026-04-230 contributions on 2026-04-240 contributions on 2026-04-250 contributions on 2026-04-260 contributions on 2026-04-270 contributions on 2026-04-280 contributions on 2026-04-290 contributions on 2026-04-300 contributions on 2026-05-010 contributions on 2026-05-020 contributions on 2026-05-030 contributions on 2026-05-040 contributions on 2026-05-050 contributions on 2026-05-060 contributions on 2026-05-070 contributions on 2026-05-080 contributions on 2026-05-090 contributions on 2026-05-100 contributions on 2026-05-110 contributions on 2026-05-120 contributions on 2026-05-130 contributions on 2026-05-140 contributions on 2026-05-150 contributions on 2026-05-160 contributions on 2026-05-170 contributions on 2026-05-180 contributions on 2026-05-190 contributions on 2026-05-200 contributions on 2026-05-210 contributions on 2026-05-220 contributions on 2026-05-230 contributions on 2026-05-240 contributions on 2026-05-250 contributions on 2026-05-260 contributions on 2026-05-270 contributions on 2026-05-280 contributions on 2026-05-290 contributions on 2026-05-300 contributions on 2026-05-310 contributions on 2026-06-010 contributions on 2026-06-020 contributions on 2026-06-030 contributions on 2026-06-040 contributions on 2026-06-050 contributions on 2026-06-060 contributions on 2026-06-070 contributions on 2026-06-080 contributions on 2026-06-090 contributions on 2026-06-100 contributions on 2026-06-110 contributions on 2026-06-120 contributions on 2026-06-130 contributions on 2026-06-140 contributions on 2026-06-150 contributions on 2026-06-160 contributions on 2026-06-170 contributions on 2026-06-180 contributions on 2026-06-190 contributions on 2026-06-200 contributions on 2026-06-210 contributions on 2026-06-220 contributions on 2026-06-230 contributions on 2026-06-240 contributions on 2026-06-250 contributions on 2026-06-260 contributions on 2026-06-270 contributions on 2026-06-280 contributions on 2026-06-290 contributions on 2026-06-300 contributions on 2026-07-010 contributions on 2026-07-020 contributions on 2026-07-030 contributions on 2026-07-040 contributions on 2026-07-050 contributions on 2026-07-060 contributions on 2026-07-070 contributions on 2026-07-080 contributions on 2026-07-090 contributions on 2026-07-100 contributions on 2026-07-110 contributions on 2026-07-120 contributions on 2026-07-130 contributions on 2026-07-140 contributions on 2026-07-150 contributions on 2026-07-160 contributions on 2026-07-170 contributions on 2026-07-180 contributions on 2026-07-190 contributions on 2026-07-200 contributions on 2026-07-210 contributions on 2026-07-220 contributions on 2026-07-230 contributions on 2026-07-241 contribution on 2026-07-250 contributions on 2026-07-260 contributions on 2026-07-270 contributions on 2026-07-280 contributions on 2026-07-290 contributions on 2026-07-300 contributions on 2026-07-310 contributions on 2026-08-010 contributions on 2026-08-020 contributions on 2026-08-030 contributions on 2026-08-040 contributions on 2026-08-050 contributions on 2026-08-060 contributions on 2026-08-070 contributions on 2026-08-080 contributions on 2026-08-090 contributions on 2026-08-100 contributions on 2026-08-110 contributions on 2026-08-120 contributions on 2026-08-130 contributions on 2026-08-140 contributions on 2026-08-150 contributions on 2026-08-160 contributions on 2026-08-170 contributions on 2026-08-180 contributions on 2026-08-190 contributions on 2026-08-200 contributions on 2026-08-210 contributions on 2026-08-220 contributions on 2026-08-230 contributions on 2026-08-240 contributions on 2026-08-250 contributions on 2026-08-260 contributions on 2026-08-270 contributions on 2026-08-280 contributions on 2026-08-290 contributions on 2026-08-300 contributions on 2026-08-310 contributions on 2026-09-010 contributions on 2026-09-020 contributions on 2026-09-030 contributions on 2026-09-040 contributions on 2026-09-050 contributions on 2026-09-060 contributions on 2026-09-070 contributions on 2026-09-080 contributions on 2026-09-090 contributions on 2026-09-100 contributions on 2026-09-110 contributions on 2026-09-124 contributions on 2026-09-13144 contributions on 2026-09-1473 contributions on 2026-09-1549 contributions on 2026-09-16122 contributions on 2026-09-17
Less More

Languages by volume

Rust 42.6%
TypeScript 34.1%
Python 18.6%
JavaScript 4.3%
CSS 0.3%
Shell 0.1%

By year

YearCommitsPRsIssuesTotal
202634401393
20250000
20240000
20230000
20220001

Repositories

RepositoryLanguageCommitsStarsUpdated
irroots TypeScript 7 0 today
auctionclear Rust 7 0 today
thirteenf-delta TypeScript 7 0 today
digitblind TypeScript 7 0 today
manytrials Python 6 0 today
tipsratio TypeScript 7 0 today
sumtree-audit Rust 7 0 today
peekahead Python 7 0 today
sca-exempt TypeScript 7 0 today
netmin Python 9 0 today
homophone Rust 7 0 today
buildcrit Rust 8 0 today

About

I am a self-taught developer working mainly on backend systems and developer tooling. The work I care about tends to sit underneath the product: data models, authorisation rules, migration paths, and the tests that keep them honest.

Most of my time goes to VYVE, a marketplace I have been building since May 2026 — Postgres with row-level security throughout, an escrow payment flow, and the legal and tax structure that has to match it. Roughly 340 commits so far. Working on it taught me that the hardest part of a marketplace is not the code: it is deciding who is allowed to see what, and then proving the database actually enforces it.

Alongside it I build smaller, sharper things. forge is a pipeline that reads six engineering feeds every morning, ranks what it finds by cross-source corroboration, and turns the survivors into specifications — then refuses to let anything through unless its tests genuinely prove something. Some of the repositories on this page came out of it, and each one says so.

On how this work was made. All of it was written with AI assistance — that is true of the repositories marked as pipeline output and of the ones that are not. The difference the labels record is autonomy, not authorship: the marked ones were produced end to end by forge from a specification, and reviewed by me before publication; the rest I built directly, deciding and correcting as I went. I can explain any of them, which is the standard I hold them to.

Everything measurable on this page is read from the GitHub API when the page is built, once a day. If a number looks small, it is because it is small.