Skip to content
View matthewjones372's full-sized avatar

Block or report matthewjones372

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
matthewjones372/README.md

Hi, I'm Matt

I write typed functional code on the JVM, in Scala and Kotlin, and some Python for ML.

The biggest thing here is tweet-street, a small bank in four services: accounts as actors on a three-node cluster, transfers as sagas, screening, two-person approvals, and a chaos run that checks the books still balance afterwards.

It runs on a few small Kotlin libraries I wrote to see how ideas hold up: lark (effects, actors and clustering on virtual threads), pelican (HTTP endpoints as values), proofload (load testing) and kimney (compile-time mapping). petshop is a smaller service that tries them out with notes on whether each one helped.

Elsewhere: verdict, a Scala 3 rules engine that reads rules from lambdas with a macro; a ZIO HTTP API over four film universes in Scala; estate, a TypeScript dashboard that puts what you need for each service on one page; and some ML work from my MSc.

Scala, Kotlin, ZIO, Arrow, TypeScript, Kafka, Kubernetes, Python, PyTorch

A snake eating my contribution graph

Pinned Loading

  1. winning-ticket-search winning-ticket-search Public

    Iterative magnitude pruning in PyTorch for finding lottery tickets (Frankle & Carbin), with late rewinding, quantisation-aware training and resumable checkpoints. Started for my ML MSc.

    Python

  2. pelican pelican Public

    Type-safe HTTP for Kotlin on Pekko HTTP. Describe an endpoint once, with its declared failures, and get the route, the OpenAPI document, typed clients and MCP tools from it.

    Kotlin

  3. estate estate Public

    One live page per service, built from the tools you already run (Prometheus, Kubernetes, Flux, GitHub Actions, Datadog and more), with links back to each. Reads, never stores. TypeScript, Effect an…

    TypeScript

  4. verdict verdict Public

    A Scala 3 rules engine where a rule is data, not a function. Write rules as Scala lambdas read by a macro, or load them from JSON, then evaluate, explain or compile them to SQL.

    Scala

  5. tweet-street tweet-street Public

    An example bank in four Kotlin and Scala services on Lark, Pelican and Proofload: accounts as actors, transfers as sagas, a cluster, Kafka and sign-in. A personal project.

    Kotlin

  6. gauntlet gauntlet Public

    Trust AI-written code. Verify the verifier.

    TypeScript