update boker to myboker.org

This commit is contained in:
SowinskiBraeden committed 2026-07-08 09:59:32 -07:00
1 parent f284702e3d
commit 7c1c049148
4 files changed
+39 -36

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
---
title: myboker.org
slug: myboker-org
summary: A home poker league tracker with player stats, leaderboards, session history, and settlement tracking. Built around an append-only event ledger and now live as a public web app.
label: Project
date: 2026-06-28
status: Active
featured: true
order: 2
live: https://myboker.org
tags: Python, Flask, Jinja, Chart.js, PostgreSQL, Analytics
---
## Overview
This project started as a small internal tool called Boker for tracking buy-ins and payouts during casual poker nights. It has since grown into [myboker.org](https://myboker.org), a more complete home league tracker that I now run publicly.
The app covers the full workflow: recording sessions, tracking buy-ins and rebuys, calculating settlements and payouts, and surfacing per-player stats and leaderboards over time. There is a public-facing side for players to check standings and session history, and an admin area for managing the actual data entry during and after a game.
The core data model is an append-only event ledger backed by PostgreSQL in production. Every buy-in, rebuy, payout, and correction is recorded as its own event rather than overwriting state, which keeps the full history auditable and makes it straightforward to reconstruct any session at any point.
## Focus Areas
- Designing an append-only event ledger for trustworthy, auditable record keeping
- Building player stats, leaderboards, and session analytics from raw event data
- Handling settlement and payout calculations across variable buy-ins and rebuys
- Creating simple admin tooling that works well in a real-world, low-distraction context
## Notes
The storage model is the part I keep coming back to. Because every action is an event rather than a snapshot, it is easy to trace what happened in a session, catch data entry mistakes, and replay history accurately. It is a genuinely useful tool for a specific problem — nobody wants to manage a poker league in a spreadsheet — and that constraint kept the design grounded throughout.