Lobbyist Registration System

User Story Map

🔴 MVP - Launch Critical (Phase 1)
🟡 Phase 2 - Important (Post-Launch)
🟢 Phase 3 - Enhancement (Future)

How to Read: Each swim lane represents a user role. Activities flow left-to-right showing the user journey. Tasks are listed under each activity. Click and scroll to explore the full map.

👤 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. 1. Review & Validate: Confirm this user story map captures all requirements from ordinance
  2. 2. Create Wireframes: Build 2-3 options for the 4 complex screens identified above
  3. 3. Set Up Project: Initialize Next.js + Prisma + TypeScript with database schema
  4. 4. Build MVP Slice: Complete one vertical feature end-to-end (registration → admin → public view)
  5. 5. Iterate: Expand horizontally, adding more MVP features following the map