UX/UI Proposal for Eventify — Built-in bug reporting on every page
Every page in both apps (guest event site + admin platform) will have a floating bug button. When clicked, a slide-out panel appears with a minimal form. The system auto-captures everything technical. Admins triage issues in a dashboard.
The panel slides in from the right. It uses progressive disclosure — only 3 fields are visible by default. Advanced fields are hidden behind expandable sections.
| Field | Required? | Type | Default | Purpose |
|---|---|---|---|---|
| Category | Required | Icon tile selector (7 options) | None | Bug, UI Glitch, Content Error, Feature Request, Performance, Accessibility, Other |
| Title | Required | Text input (max 500 chars) | None | "What went wrong?" — one-line summary |
| Description | Required | Textarea (max 5000 chars) | Falls back to title | "Tell us more..." — freeform details |
| Screenshot | Optional | One-click capture button | None | Auto-captures current page as JPEG (quality 0.8, max 1920px) |
| Optional | Email input | Saved from last time / pre-filled from auth | For follow-up. "Remember me" persists to localStorage | |
| ▼ More Details (hidden by default, expandable) | ||||
| Steps to Reproduce | Optional | Textarea (max 5000) | Empty | "1. Go to... 2. Click on... 3. See error" |
| Expected Result | Optional | Text input (max 2000) | Empty | "What should have happened?" |
| Actual Result | Optional | Text input (max 2000) | Empty | "What actually happened?" |
| Severity | Optional | Dropdown | Minor | Critical / Major / Minor / Trivial |
| Reproducibility | Optional | Dropdown | N/A | Always / Sometimes / Once / Cannot Reproduce / N/A |
The system silently collects this data in the background from the moment the page loads. It's attached to every report automatically.
| Data | How It's Collected | Example |
|---|---|---|
| Browser + Version | User agent parsing | Chrome 128.0 |
| OS + Version | User agent parsing | macOS 15.2 |
| Screen Size | window.screen | 2560 × 1440 |
| Viewport Size | window.innerWidth/Height | 1920 × 1080 |
| Device Type | User agent parsing | desktop / mobile / tablet |
| Language | navigator.language | en-US |
| Current URL | window.location.href | /events/wedding/schedule |
| Console Errors | Monkey-patched console.error | Last 20 errors with timestamps |
| Network Failures | Monkey-patched fetch | Last 20 failed requests (URL, method, status) |
| User Breadcrumbs | Click + navigation listeners | Last 30 actions (clicked "RSVP", navigated to /gallery) |
| Web Vitals | web-vitals library | LCP: 1200ms, CLS: 0.05, INP: 120ms |
Route: /issues in the platform app. Accessible from the sidebar.
Track and triage reported issues from your event guests.
| ID | Title | Category | Severity | Priority | Status | Reporter | Created |
|---|---|---|---|---|---|---|---|
| ISS-42 | RSVP form doesn't submit on Safari | Bug | Critical | None | New | sarah@gmail.com | 2h ago |
| ISS-41 | Gallery images load slowly on mobile | Performance | Major | High | In Progress | Anonymous | 5h ago |
| ISS-40 | Typo in Hebrew translation on schedule page | Content Error | Trivial | Low | New | moshe@test.com | 1d ago |
| ISS-39 | Add dark mode support for event pages | Feature Request | Minor | None | New | david@test.com | 2d ago |
Route: /issues/:id. Click any row in the list to see full details + triage controls.
When I try to submit the RSVP form on Safari 18, clicking the "Submit" button doesn't do anything. No error message appears. The form just stays there. It works fine on Chrome.
1. Open the event page on Safari 18 2. Fill in name and email in the RSVP form 3. Click "Attending" 4. Click "Submit RSVP" 5. Nothing happens
RSVP should be submitted and confirmation shown
Button click has no effect, no error displayed
New → Triaged → In Progress → Resolved → Verified → Closed ↓ ↓ Reopened ←←←←←←←←←←← (verification failed) At any point: → Rejected | Deferred | Duplicate
| Fixed | Bug was fixed in the code |
| Won't Fix | Valid issue but intentionally not fixing |
| Duplicate | Already reported (linked to original) |
| Cannot Reproduce | Unable to reproduce with given steps |
| By Design | Working as intended, not a bug |
| Deferred | Valid but postponed to a future release |