The open, privacy‑first Model UN registration stack built for simplicity.
Design forms, manage delegates, and collaborate securely using only Google Sheets + Apps Script. No vendor lock‑in, no opaque databases — just your data.
Unified Flow
- Sign in to obtain an ID token.
- Run the Settings wizard: Sheet → Endpoint.
- Design your form & publish with
form/#KEY
. - Invite collaborators & monitor submissions.
Everything configuration‑related lives in Settings. Lightweight. Auditable. Yours.
Why MUNify?
Own Your Data
All submissions land directly in your Google Sheet. Export, pivot, archive without proprietary lock‑in.
Rapid Provisioning
Wizard guides you through sheet selection and endpoint registration or beta auto‑provision.
Secure by Design
Short‑lived ID tokens, whitelist enforcement, invite tokens, and minimal local storage only.
Inline Form Designer
Live HTML editing with instant preview; keep or customize a clean starter template.
Invite Collaboration
24h tokens let trusted users self‑whitelist—no manual email juggling.
Auditable Simplicity
Small, readable codebase. Fork, extend, self‑host on GitHub Pages.
From zero to live in minutes
Sign In
Google Identity button gives you a short‑lived ID token.
Select Sheet
Pick existing or create a fresh spreadsheet for delegates.
Register Endpoint
Point to your Apps Script Web App or auto‑provision (beta).
Share Form
Distribute the public URL. Monitor Sheet in real time.
Lightweight client calls
Core operations are simple fetches to your Apps Script endpoint. Example append (handled internally):
// Minimal append flow (simplified)
const cfg = JSON.parse(localStorage.getItem('munify_config')||'{}');
const url = localStorage.getItem('munifyAppsScriptUrl');
const row = ['Name','Email','Year','ID'];
await fetch(url+'?mode=append&key='+cfg.key, {
method: 'POST',
headers: { 'Content-Type': 'application/json', Authorization: 'Bearer '+cfg.idToken },
body: JSON.stringify({ row })
});
FAQ
Do I need a backend server?
No — Google Apps Script acts as your minimal server. Host the static site (this repository) anywhere (GitHub Pages works).
Is any personal data stored here?
Only in your Google Sheet. Local storage keeps temporary config (sheet id, key, token) in your own browser.
How do invite tokens work?
Owner creates a 24h token → collaborator redeems while signed in → server adds them to whitelist.
Can I customize the form markup?
Yes. The Designer lets you edit raw HTML, add fields, and reset to a starter template at any time.
Ready to launch your next conference?
Spin up a registration flow in minutes and keep complete control over your data pipeline.
Open Settings Wizard