Fencing conference management app

#25 Add button for new fencer on match Create page

~ethanmad filed ticket on bouts.app todo

a month ago

#23 Support merging fencers

~ethanmad commented on bouts.app todo

a month ago


bouts.app is a fencing conference management web-app made to help fencing conferences share competition results, track performance automatically, and save administrators time! You don't need to spend hours collating results from each team—let bouts.app take care of it and skip the headache.

bouts.app helps manage the following aspects of your conference:

  • Participants, from schools to fencers
  • Competitions, with support for match entry
  • Ranking fencers and teams for seedings and championships
  • Win-loss records, for schools, squads, and fencers
  • Centralizing management of records

Try it out at demo.bouts.app. Note that you will need an admin account to make edits. If interested, please email us to schedule a meeting.


bouts.app is intended for collegiate and high-school fencing conferences which have NCAA-style events. That is, matches consist of two teams with three fencers (plus substitutes) and nine bouts to five touches. It may work in conferences with similar formats as well.


For help using bouts.app, please see our user manual. If you do not find the help you need there, you can email us for personal assistance.


  1. Clone the repository: git clone git@git.sr.ht:~ethanmad/bouts.app.
  2. Make your changes.
  3. go build and check your changes on localhost:3000.
  4. Prepare and send a patchset.


To use the app with custom configurations or in development, create a config.json file with the following format.

  "domain" : "localhost"
  "port": 3000,
  "env": "dev",
  "pepper": "secret-random-string",
  "hmac_key": "secret-hmac-key",
  "database": {
    "host": "localhost",
    "port": 5432,
    "user": "your-username",
    "password": "your-password",
    "name": "boutsapp_dev"
  "mailgun": {
      "from" : "support@bouts.app",
      "api_key": "secret-api-key",
      "domain": "mg.bouts.app"
  "season_start_date":  "2020-08-01T00:00:00.00Z",
  "minimum_bouts": 15

Change the values as needed. For example, a production environment should set env to "prod", set pepper and hmac_key to random strings, and use a different database name with a real username and password.

See also:


bouts.app is licensed under the GNU AGPL v3. See LICENSE for details.