×
moseby@harders-it: ~
moseby@harders-it:~$ cat README.md

Moseby.nu

One calendar for a village, so nobody books the same evening

role Built it, runs it
year 2026
status Live
site moseby.nu
stack [Laravel] [Livewire] [Tailwind CSS]

Moseby is a small Danish village. It has a football club, a local history society, a Thursday meet for anyone with a car or a motorcycle, and a handful of people who arrange things for everyone else. Moseby.nu is the one place where all of it is written down.

The problem

A village has a fixed number of people willing to leave the house on a Saturday. When two associations book the same evening, they are not reaching two audiences, they are splitting one. Nobody does it on purpose. They simply have no way of knowing what anyone else has planned, because each association announces on its own Facebook page, to its own members, at whatever moment suits them.

The result is a summer party and a bingo night on the same date, both with half the turnout they hoped for, and two committees wondering what went wrong.

What it does

  • A month at a glance. The calendar is the front page. No login, no menu, no scrolling to find out whether the 8th is taken.
  • The full picture per event. Poster, start and end time, where it is, which association is behind it, a link, and the programme as the organiser wrote it.
  • Recurring events. The Thursday meet happens every Thursday. It is entered once and shows up for as long as it runs.
  • Into your own calendar. An event can be carried over to whatever calendar you already use, so it survives on a phone that never visits the site again.

The point is not that it does much. It is that everyone looks at the same page before picking a date.

Submissions go through a person

Anyone with something to announce sends me a mail and I enter it. That is the whole workflow, and it is deliberate.

A village produces a handful of events a month. Building accounts, roles, submission forms and a moderation queue for that volume would mean maintaining a login system that gets used twice a week, and asking a treasurer in her seventies to remember a password. A mail costs the sender nothing and costs me a minute.

The calendar does not warn about clashes either. It does not need to: the collision is visible the moment anyone opens the month. Making the software enforce what a glance already tells you would be solving a problem that the picture has already solved.

Technical notes

Laravel and Livewire, with Tailwind for the interface. Livewire carries the month navigation and the event dialogs without turning the site into a single page application, which keeps a village calendar the size of a village calendar.

It is my own initiative, and I run it. There is no association behind it, no budget and no advertising. It costs a domain and a corner of a server.

moseby@harders-it:~$ ls screenshots/
The Moseby.nu month calendar with local events across August
# A month at a glance, which is the whole point
An event opened on Moseby.nu, showing poster, time, place, organiser and programme
# One event, with everything an organiser wants to say about it