A web-based hexcrawl note-taking application for tabletop RPG campaign management. Annotate hexagonal grid cells on your campaign map with text notes, images, and custom colors.

- Python 3
- sqlite3
- Flask
python app.pyOpen your browser to http://127.0.0.1:5000
- Click on any hex in the map to select it
- Use the editor panel on the left to add notes
- Choose a border color using the color picker
- Optionally add a single character label
- Click Save to persist your changes
Moonshae/
├── app/
│ ├── app.py # Flask backend server
│ ├── static/
│ │ └── map.png # Campaign map image
│ └── templates/
│ └── index.html # Main application interface
├── hex_data.db # SQLite database (auto-created)
└── README.md
To use your own map:
- Replace
app/static/map.pngwith your map image - Adjust the hex grid parameters in
index.htmlif needed:hexRadius- Size of each hex- Image bounds in the Leaflet configuration