File | Date | Author | Commit |
---|---|---|---|
css | 6 days ago |
|
[3c7de1] Initial commit |
js | 6 days ago |
|
[fe5dcc] added saving and loading json |
LICENSE | 6 days ago |
|
[adb97a] Initial commit |
README.md | 6 days ago |
|
[f83737] 67 |
mun-timer.html | 6 days ago |
|
[fe5dcc] added saving and loading json |
A Customizable GUI timer designed for MUN.
Vibe-coded using Claude Sonnet 4.5. Initial Prompt:
Create a simple flexible timer app for a Model United Nation (MUN).
On the left, there is a numbered list of topics/agenda which can be reordered using up and down buttons, and on the right, there is a timeline of events which can also be reordered. The timeline should be interactable, clicking an event sets the current event to that event. In the center there is the title and subtitle of the current event, and potentially a topic. There could also be a timer if appropriate, the timer should have a pause/resume/reset function, and for moderated caucus there should be two timers, a total time and timer per speaker. There could also be a vote counter/visualize when appropriate, where votes are inputted.
On the bottom there are all the delegates and the chair, represented by the letters of their country (or in the case of the chair just a human icon). The order and title events, whether a timer is needed, the time and delegates are all saved in json format, which can be editied in the app or copied to elsewhere. Furthermore, a new mod/unmod caucus, voting etc can be added on the fly via a GUI panel.
Build this using HTML CSS and JS. Include the default json in the code.
67
.json
file. The filename includes a timestamp..json
file to restore the configuration. The file is validated for basic shape before applying.Notes:
- Loading JSON will reset the current event selection and re-render the UI.
- The expected schema matches the appData
object used by the app: { topics: Topic[], events: Event[], delegates: Delegate[], chair: { name: string } }
.