Phineas Fritsch

I build tools for problems I have.

Financial actuarial mathematics at UCLA, graduating June 2027. MATH 174E, Mathematics of Finance, and MATH 177, Theory of Interest and Applications, are behind me — 177 is the Exam FM syllabus almost line for line. MATH 178A, Foundations of Actuarial Mathematics, starts this fall. Sitting Exam FM in fall 2026. No exams passed yet. Most of what is below came out of a job, a fraternity house, or a course I was annoyed by.

Running now

checked 2026-09-01 10:03 UTC
when this page was built
  1. Dibs

    up · 630ms Rails 8 · PostgreSQL · Kamal · Docker · AI-assisted

    Ranks UCLA general-education courses by real grade history and emails you when a seat opens in one you are watching.

    Limit
    UCLA only, and it cannot enroll you. It watches and it emails. The grade data ends at Spring 2025, because that is the last term the public-records responses cover.
    Live
    dibs.ge
    Source
    github.com/phineasfritsch/ge_snipe
  2. Shelfmark

    up · 192ms Vanilla JS · Alma SRU · Cloudflare Workers · Tesseract.js · AI-assisted

    A replacement for UCLA library search, built on the catalog endpoint the university already publishes. It finds the book, then tells you which shelf face to stand at — which the official search cannot do at all.

    Limit
    The shelf map is the biomedical library only, and a bare call number is currently assumed to be a Biomed one, so a call number that lives in another building can still return a confident shelf face here. Level 4 has not been surveyed. It has no accounts, holds or renewals, and it links out to the official record rather than replacing it.
    Live
    shelfmark.phineasfritsch.com
    Source
    github.com/phineasfritsch/biomed_callnumber_finder
  3. Better Bio Schedule

    up · 277ms Cloudflare Workers · Web Push · iCalendar · AI-assisted

    One link for every daily staff schedule at the biomedical library, laid out for a phone, with a notification when you are put on something other than the desk.

    Limit
    Reads the schedule; it cannot change it. One library. I have taken the link off this page.
  4. The Cut Card

    up · 165ms React Native · Expo · TypeScript · Cloudflare Workers · AI-assisted

    Blackjack practice that drills you to correct first and fast second: basic strategy, counting, and the arithmetic of how much you can put at risk.

    Limit
    It teaches; it does not predict, and it will not tell you what you stand to win. Nothing in it is financial advice and it is not a system.
    Live
    thecutcard.com
  5. Jellyfin Matcher

    up · 480ms Next.js · socket.io · Docker · GHCR · AI-assisted

    Everyone swipes the same deck of films on their own phone and the first one you all like wins. No stalemates — that is the whole point.

    Limit
    You need your own Jellyfin server. It is not a hosted service and there is nothing to sign up for.
    Live
    jellymatch.phinster.net
    Source
    github.com/phineasfritsch/jellyfin-matcher
  6. bruinthetachi.com

    up · 197ms Astro · Sveltia CMS · Cloudflare Pages · AI-assisted

    A replacement for my fraternity chapter's WordPress site: a static build the next webmaster can edit without knowing what a build is. It runs, and the domain has not been cut over to it yet.

    Limit
    The redirect map is incomplete and I would rather say by how much. The old sitemap index names 6 sub-sitemaps and 292 URLs; 60 resolve on the replacement. The 232 that do not include 8 of the 13 top-level pages, among them /about/, /brotherhood/, /social/. Measured by ops/measure-migration.mjs rather than counted by hand, because counting it by hand produced a wrong answer twice. The live chapter domain still serves the old WordPress site, and the cutover is mine to schedule. One chapter, not a product, and not something anyone else should adopt without reading the photo policy first.
    Live
    preview.bruinthetachi.pages.dev
    Source
    github.com/phineasfritsch/bruinthetachi.com
  7. nakra

    source only Swift 6 · SwiftUI · SwiftPM · AI-assisted

    A reminder app where the condition is a thing you build out of blocks — every Tuesday that lands on a full moon, or the next dry morning.

    Limit
    Not on the App Store. The engine is tested; the app around it is still a skeleton, and the README says so.
    Source
    github.com/phineasfritsch/nakra

How this was built

An AI wrote most of the code in every project on this page. I am not an engineer by training. I am an actuarial mathematics student who wanted these things to exist, and what I do looks much more like running a product team than writing software: I decide what gets built, split the work across several agents at once, review what comes back, reject the parts that are wrong, and own whether the thing works when a real person opens it.

Owning it is most of the work. Agents report success on broken work, confidently, with a detailed account of what they checked, so the useful skill is building the thing that can contradict them and then actually reading what it says. This site runs a gate before it deploys, pins the sentences that matter so a later rewrite cannot quietly delete them, and reads production back after shipping to confirm what is live. The status figures above were measured rather than asserted.

The decisions worth asking me about are on each project's page: why Dibs runs Postgres at sixty connections and not thirty, why call numbers sort as decimals, why a weather condition gets three values instead of two, why a blackjack app is forbidden from mentioning money. Those are mine. The typing largely was not.

Elsewhere

  • UCLA Sailing Team

    Treasurer 2024–25, then Team Captain 2025–26. Ran the exec board, and moved a team to regattas every other week on a budget that did not stretch.

  • Theta Chi, Beta Alpha Chapter

    House Manager 2025–26, then Network Manager since 2026. Ran a $10,000 annual operating budget and directed a summer of renovations (plumbing, structural repairs, a new game room) then used them in recruitment for the second-largest pledge class in chapter history.

  • Actuarial Case Competition (BAS)

    Winter 2025. Evaluated three commercial property insurance structures for a simulated Fortune 500 client, then ran 10,000-iteration Monte Carlo simulations against Lognormal, Gamma and Pareto fits to compare Risk-Adjusted TCOR across retentions and aggregate limits.