What it is
two apps, two very different usersAn organiser running a summer camp needs registrations, groups, staff, attendance and a way to tell four hundred parents the same thing at once. A parent needs one thing: to know their kid is fine, and to see them having a good day.
So getdiez is a dashboard for the organiser and a mobile app for the family, over the same data. The dashboard is where the camp gets run. The app is where the day arrives: the group, the schedule, the notices and the photos.
I co-founded it and I own the technical side. The architecture, the data model and every decision below the interface are mine to get right.
The part that decides the architecture
photos of other people's childrenEvery other feature here is ordinary software. The galleries are not. A photo from a camp day contains children whose parents have each made a different decision about whether their child may appear anywhere at all, and that decision has to hold at the moment the image is served, not at upload time and not in a setting somebody remembers to check.
That requirement is why access control lives in the database, expressed as policies, and why those policies are tested in pgTAP like any other unit of logic. Everywhere else a leak is a bug report. Here it would end the product.
- Next.js
- Expo
- Supabase
- PostgreSQL · RLS
- pgTAP
- Role
- Co-founder, technical lead
- Stage
- In development
- Shape
- Organiser dashboard + family app
- Public
- Not yet
Why there is nothing to look at
on purposeThere is no public site and no screenshots on this page, and both are deliberate: the interesting screens are full of real children's names, and a mocked-up version would be a picture of something that does not exist.
It is built story by story, in the season it will be used in. When there is a camp running on it, this page gets the screenshots it is missing.