👤 LOBBYIST Journey
graph LR
subgraph "1️⃣ Determine Registration
🔴 MVP"
A1[Check Hours
Spent Lobbying]
A2[Understand
Exemptions]
A3[Read
Requirements]
end
subgraph "2️⃣ Register
🔴 MVP"
B1[Create
Account]
B2[Complete
Registration Form]
B3[Select/Add
Employer]
B4[Upload Auth
Document]
B5[Submit
Application]
end
subgraph "3️⃣ Track Activity
🟡 Phase 2"
C1[Log Lobbying
Hours]
C2[Get Warning
at 8hrs]
C3[Track by
Employer]
end
subgraph "4️⃣ Report Quarterly
🔴 MVP"
D1[Receive Reminder
Email]
D2[Enter Expense
Totals]
D3[Itemize >$50
Expenditures]
D4[Add Estimates
if needed]
D5[Submit
Report]
end
subgraph "5️⃣ Manage Profile
🟡 Phase 2"
E1[Update Contact
Info]
E2[Add/Remove
Employers]
E3[View Past
Reports]
E4[Download
PDFs]
end
A1 --> A2 --> A3 --> B1
B1 --> B2 --> B3 --> B4 --> B5
B5 --> C1
C1 --> C2 --> C3
C3 --> D1
D1 --> D2 --> D3 --> D4 --> D5
D5 --> E1
E1 --> E2 --> E3 --> E4
style A1 fill:#fee2e2
style A2 fill:#fee2e2
style A3 fill:#fee2e2
style B1 fill:#fee2e2
style B2 fill:#fee2e2
style B3 fill:#fee2e2
style B4 fill:#fee2e2
style B5 fill:#fee2e2
style D1 fill:#fee2e2
style D2 fill:#fee2e2
style D3 fill:#fee2e2
style D4 fill:#fee2e2
style D5 fill:#fee2e2
style C1 fill:#fef3c7
style C2 fill:#fef3c7
style C3 fill:#fef3c7
style E1 fill:#fef3c7
style E2 fill:#fef3c7
style E3 fill:#fef3c7
style E4 fill:#fef3c7
🏢 EMPLOYER Journey
graph LR
subgraph "1️⃣ Authorize Lobbyists
🔴 MVP"
F1[Receive
Request]
F2[Review
Request]
F3[Sign
Authorization]
F4[Upload
Document]
end
subgraph "2️⃣ Manage Lobbyists
🟡 Phase 2"
G1[View Active
Lobbyists]
G2[Add New
Lobbyist]
G3[Terminate
Authorization]
end
subgraph "3️⃣ Report Quarterly
🔴 MVP"
H1[Receive Reminder
Email]
H2[Enter Total
Lobbying Spend]
H3[Report Spending
per Lobbyist]
H4[Itemize >$50
to Officials]
H5[Submit
Report]
end
subgraph "4️⃣ Review Compliance
🟡 Phase 2"
I1[View
Deadlines]
I2[Download
Past Reports]
I3[View Lobbyist
Reports]
end
F1 --> F2 --> F3 --> F4
F4 --> G1
G1 --> G2 --> G3
G3 --> H1
H1 --> H2 --> H3 --> H4 --> H5
H5 --> I1
I1 --> I2 --> I3
style F1 fill:#fee2e2
style F2 fill:#fee2e2
style F3 fill:#fee2e2
style F4 fill:#fee2e2
style H1 fill:#fee2e2
style H2 fill:#fee2e2
style H3 fill:#fee2e2
style H4 fill:#fee2e2
style H5 fill:#fee2e2
style G1 fill:#fef3c7
style G2 fill:#fef3c7
style G3 fill:#fef3c7
style I1 fill:#fef3c7
style I2 fill:#fef3c7
style I3 fill:#fef3c7
⚖️ BOARD MEMBER Journey
graph LR
subgraph "1️⃣ Post Calendar
🔴 MVP"
J1[Enter Meeting
Events]
J2[Add Attendee
Info]
J3[Bulk Import
CSV]
J4[Submit
Quarterly]
end
subgraph "2️⃣ Track Receipts
🔴 MVP"
K1[Log Receipt
from Lobbyist]
K2[Track Running
Total]
K3[Categorize
Expenditure]
end
subgraph "3️⃣ Report Receipts
🔴 MVP"
L1[Receive
Reminder]
L2[Review Logged
Receipts]
L3[Itemize >$50
Expenditures]
L4[Submit
Quarterly Report]
end
subgraph "4️⃣ Research Lobbyists
🟡 Phase 2"
M1[Search
Lobbyists]
M2[View Lobbyist
Activity]
M3[View Employer
Info]
end
J1 --> J2 --> J3 --> J4
J4 --> K1
K1 --> K2 --> K3
K3 --> L1
L1 --> L2 --> L3 --> L4
L4 --> M1
M1 --> M2 --> M3
style J1 fill:#fee2e2
style J2 fill:#fee2e2
style J3 fill:#fee2e2
style J4 fill:#fee2e2
style K1 fill:#fee2e2
style K2 fill:#fee2e2
style K3 fill:#fee2e2
style L1 fill:#fee2e2
style L2 fill:#fee2e2
style L3 fill:#fee2e2
style L4 fill:#fee2e2
style M1 fill:#fef3c7
style M2 fill:#fef3c7
style M3 fill:#fef3c7
🌐 PUBLIC Journey
graph LR
subgraph "1️⃣ Search Lobbyists
🔴 MVP"
N1[Basic
Search]
N2[Filter by
Name]
N3[Filter by
Employer]
N4[Filter by
Subject]
N5[Filter by
Date Range]
end
subgraph "2️⃣ View Details
🔴 MVP"
O1[View Lobbyist
Profile]
O2[View Expense
Reports]
O3[View Employer
Info]
O4[View Board
Calendars]
end
subgraph "3️⃣ Analyze Data
🟡 Phase 2"
P1[View Top
Spenders]
P2[View Most Active
Subjects]
P3[Spending
Trends]
P4[Visual
Charts]
end
subgraph "4️⃣ Export Data
🟢 Phase 3"
Q1[Download
CSV]
Q2[Download
PDF Reports]
Q3[API
Access]
end
N1 --> N2 --> N3 --> N4 --> N5
N5 --> O1
O1 --> O2 --> O3 --> O4
O4 --> P1
P1 --> P2 --> P3 --> P4
P4 --> Q1
Q1 --> Q2 --> Q3
style N1 fill:#fee2e2
style N2 fill:#fee2e2
style N3 fill:#fee2e2
style N4 fill:#fee2e2
style N5 fill:#fee2e2
style O1 fill:#fee2e2
style O2 fill:#fee2e2
style O3 fill:#fee2e2
style O4 fill:#fee2e2
style P1 fill:#fef3c7
style P2 fill:#fef3c7
style P3 fill:#fef3c7
style P4 fill:#fef3c7
style Q1 fill:#d1fae5
style Q2 fill:#d1fae5
style Q3 fill:#d1fae5
🛡️ ADMIN Journey
graph LR
subgraph "1️⃣ Review Registrations
🔴 MVP"
R1[View Pending
Applications]
R2[Review
Documents]
R3[Request
Corrections]
R4[Approve/
Reject]
R5[Send
Notifications]
end
subgraph "2️⃣ Monitor Compliance
🔴 MVP"
S1[Dashboard of
Deadlines]
S2[View Overdue
Reports]
S3[Send Reminder
Emails]
S4[Flag Late
Submissions]
end
subgraph "3️⃣ Enforce Violations
🟡 Phase 2"
T1[Issue
Fines]
T2[Track Fine
Payments]
T3[Process
Appeals]
T4[Schedule
Hearings]
T5[Grant Contract
Exceptions]
end
subgraph "4️⃣ Manage System
🟡 Phase 2"
U1[User Account
Management]
U2[System
Settings]
U3[Generate
Reports]
U4[View Audit
Logs]
end
R1 --> R2 --> R3 --> R4 --> R5
R5 --> S1
S1 --> S2 --> S3 --> S4
S4 --> T1
T1 --> T2 --> T3 --> T4 --> T5
T5 --> U1
U1 --> U2 --> U3 --> U4
style R1 fill:#fee2e2
style R2 fill:#fee2e2
style R3 fill:#fee2e2
style R4 fill:#fee2e2
style R5 fill:#fee2e2
style S1 fill:#fee2e2
style S2 fill:#fee2e2
style S3 fill:#fee2e2
style S4 fill:#fee2e2
style T1 fill:#fef3c7
style T2 fill:#fef3c7
style T3 fill:#fef3c7
style T4 fill:#fef3c7
style T5 fill:#fef3c7
style U1 fill:#fef3c7
style U2 fill:#fef3c7
style U3 fill:#fef3c7
style U4 fill:#fef3c7
📊 Development Priority Summary
🔴 MVP - Phase 1
Launch Critical (Weeks 1-8)
- ✅ Lobbyist registration & exemption checker
- ✅ Employer authorization workflow
- ✅ Quarterly expense reporting (both roles)
- ✅ Board member calendar & receipt posting
- ✅ Public search & view functionality
- ✅ Admin review & compliance dashboard
- ✅ Email notifications for deadlines
🟡 Phase 2
Post-Launch (Weeks 9-14)
- ⏱️ Hour tracking for lobbyists
- ⏱️ Profile management & history
- ⏱️ Employer lobbyist management
- ⏱️ Board member research tools
- ⏱️ Public data analysis & trends
- ⏱️ Violation enforcement workflow
- ⏱️ System admin tools
🟢 Phase 3
Future Enhancements
- 💡 Public data export (CSV)
- 💡 PDF report generation
- 💡 Public API access
- 💡 Mobile app
- 💡 Advanced analytics
- 💡 Integration with other systems
- 💡 Automated compliance checks
🎨 Recommended Wireframes
Based on this user story map, these screens have the highest complexity/uncertainty and should be wireframed:
1. Lobbyist Registration Flow
- • Multi-step vs single page?
- • Employer selection/creation
- • Document upload UX
- • Exemption checker integration
2. Quarterly Expense Report
- • Total + itemized expense entry
- • Table/form hybrid for >$50 items
- • Estimate flag workflow
- • Official name autocomplete
3. Admin Compliance Dashboard
- • Information density
- • Deadline visualization
- • Action priorities
- • Quick approval/rejection
4. Public Search Interface
- • Multiple filter combinations
- • Results display (table vs cards)
- • Mobile responsive layout
- • Sort and pagination
🚀 Next Steps
-
1.
Review & Validate: Confirm this user story map captures all requirements from ordinance
-
2.
Create Wireframes: Build 2-3 options for the 4 complex screens identified above
-
3.
Set Up Project: Initialize Next.js + Prisma + TypeScript with database schema
-
4.
Build MVP Slice: Complete one vertical feature end-to-end (registration → admin → public view)
-
5.
Iterate: Expand horizontally, adding more MVP features following the map