matt murtaugh.
about. skills. work. uses. blog.
Side Project


Status: Private Beta

I built KeepScore to ease keeping scores while playing card games. This project aimed to create a flexible tool that players can use on different types of card games.


As much as I enjoy board games and RPGs, I grew up playing old-fashion card games. I started playing card games again a few years ago. Two games inspired this system:

  • Oh Pshaw (most know it as Oh Shit!)

  • Hand & Foot

None of the existing Hand & Foot scoring apps fit our needs. Many work great, but they didn't offer the flexibility to match how we score the game. We also play a lot of Oh Pshaw, and this game uses a lot of negative scores, which I find much more difficult to calculate on the fly.

Both games require more math than I want to do during a game. Many other apps lacked the flexibility that I wanted.

How it Works

The app includes three parts: templates, games, and players.


Templates are the framework for each game. You could think of this as games like Rummy, Golf, Pinochle, etc. Templates are much more complex than a lot of other apps.

Templates offer the ability to have custom fields. Custom fields can be inputs, toggles, or calculations. Inputs can have a modifier that adjusts the value during calculation. Toggles have a success or failure value. And calculations are a way to interact with other fields and bids or add/subtract/multiply values.

This template system gives users the ultimate flexibility to build games that suit their needs. Due to the possible confusion of adding a new template, our system supports a "template" gallery. This feature is still in alpha and not yet available to users.


We often play games with the same players, which made sense to create this functionality for this app. When starting a new game, we can quickly add players to a game and get started in less than a minute for existing players.


Games are the bread and butter of this app. Think of a game as sitting down at the table, grabbing a piece of paper to start playing a new game, and playing.

Games are quick to create from our existing templates. We add players from our player database and combine them if the game uses teams instead of single players.

I focused on flexibility when adding players. This system has the following features:

  • Group players for teams

  • Split teams into individual players

  • Reorder players (depending on how players are sitting at the table)

  • Remove players

  • Change player/team color

  • Bulk add players to the game

  • Change start player

Each game features a scoresheet, the ability to set round bids (if supported by the template), report round scores, show running totals, show round totals, and show a graph of scores across the game.

Reporting Scores

© 2024 matt murtaugh. All rights reserved.