Portal Framework
The citizen self-service portal, "My Dashboard", and service catalog presentation layer — every module that exposes citizen-facing services uses Portal Framework for a unified digital experience.
Page Load
Accessibility
Concurrent Users
Lighthouse Mobile
Purpose-Built for Canadian Municipalities
How It Works
The identity journey, step by step
From first registration to golden record resolution — how a resident's identity evolves across the platform.
First-Time Portal Visit
A new resident discovers and uses the citizen portal for the first time.
How it works
The resident searches for their municipality online, lands on the portal (SEO-optimized with structured data), browses the service catalog, and finds 'Pay Property Tax'. They create a MyAccount using civic-identity, link their property by roll number and postal code, and see their tax balance on the dashboard. They make a payment through the embedded payment-engine flow and receive a confirmation.
Step 1 of 5
Purpose & Scope
What this module owns
Clear ownership boundaries prevent duplication and ensure every capability has exactly one authoritative home.
Owns
14Delegated to
5Citizen identity management
Form rendering and submission
Payment processing
Case tracking logic
Notification generation
These capabilities are handled by dedicated modules and consumed via stable API contracts — keeping boundaries clean and ownership unambiguous.
Core Capabilities
What it does
4 capability groups comprising 6 discrete capabilities — each with API surface, business rules, and data ownership.
A browseable, searchable catalog of all municipal services with personalized recommendations and seasonal highlights.
Service Directory
Browseable catalog of all municipal services grouped by category (e.g., Property & Tax, Water & Sewer, Recreation, Permits, Roads, etc.).
Search
Full-text search across services, forms, FAQs, and knowledge base.
Service Cards
Each service shows: name, description, estimated processing time, required documents, fees, eligibility, link to apply/request.
Popular Services
Algorithm-driven display of most-used services.
Personalized Recommendations
Based on citizen's property type, ward, history — suggest relevant services.
Seasonal Highlights
Promote seasonal services (e.g., pool registration in spring, tax due date reminders in June).
Real-World Scenarios
Who uses this, and how
4 persona-driven scenarios showing how Portal Framework works in practice — from resident registration to privacy compliance.
Property Owner
Multi-Property Account Management
A landlord with three rental properties needs to check balances, pay taxes, and track permits across all properties.
Steps
- 1Landlord logs into the portal and sees the property selector showing all three addresses
- 2Dashboard summary cards show aggregate balances: total tax owing, total utility owing
- 3They select the first property to view its detailed tax and utility accounts
- 4Pay the overdue utility bill with Apple Pay via portal PWA on their phone
- 5Switch to the second property and check the building permit inspection schedule
- 6View 'My Payments' for a consolidated payment history across all properties
Outcome
One login, three properties managed. The landlord saved trips to city hall and has a complete picture of all municipal obligations.
View scenario
Parent
Summer Recreation Registration Day
A parent needs to register two children for summer swimming lessons on opening day — a high-traffic event.
Steps
- 1Parent receives a push notification: 'Summer registration opens tomorrow at 7 AM'
- 2At 7 AM, they open the portal (PWA on their phone) — portal handles 5,000 concurrent users
- 3Search for 'swimming lessons' in the service catalog
- 4Select age-appropriate time slots for both children via the recreation module embedded in portal
- 5Pay registration fees for both in a single transaction via payment-engine
- 6Receive confirmation email and see registrations in 'My Dashboard > Recreation'
Outcome
Both children registered and paid in under 5 minutes. Portal performance holds under peak load. Parent can track schedules from their dashboard year-round.
View scenario
Accessibility User
Accessible Kiosk Experience
A visually impaired citizen visits city hall to pay their property tax using the accessible kiosk.
Steps
- 1Citizen approaches the kiosk with adjustable height (wheelchair accessible)
- 2Activates high-contrast mode and large font via the accessibility menu
- 3Uses screen reader to navigate: 'Pay a Bill' > 'Property Tax'
- 4Enters roll number using the accessible on-screen keyboard
- 5Reviews balance with large, high-contrast display
- 6Taps debit card; kiosk announces payment confirmation via screen reader and prints receipt
Outcome
Full independent transaction without staff assistance. AODA compliance ensures equal access for all citizens.
View scenario
Citizen
Emergency Portal Announcement
A water main break requires an urgent announcement to affected citizens.
Steps
- 1Municipal staff create a pinned banner announcement: 'Water main break on Oak Street — boil water advisory in effect'
- 2Portal displays the announcement prominently on all pages
- 3Push notifications sent to citizens in the affected ward via notification-engine
- 4Citizens open the portal and see the advisory on their dashboard
- 5Knowledge base article linked with details: affected area, timeline, bottled water distribution
- 6When resolved, the announcement is unpinned and an update notification sent
Outcome
Citizens informed within minutes via multiple channels. Portal serves as the authoritative source for emergency information with full bilingual content.
View scenario
Internal Architecture
How it's built
3 architectural layers comprising 18 components — from API gateway to data quality engine.
3 layers · 18 total components
Portal Framework
Every module owns a single bounded context, exposes stable APIs, and can be composed into any Civic product — that's the architecture that scales.
Krutik Parikh
Creator of Civic
Data Model
Entity Architecture
3 entities with 3 relationships — the authoritative schema for this bounded context.
Entities
Select an entity to explore its fields and relationships
API Surface
Integration Endpoints
12 RESTful endpoints across 3 resource groups — plus 4 domain events for async integration.
/api/v1/portal/services
List all services (filtered by category)
/api/v1/portal/services/search
Search services
/api/v1/portal/services/{code}
Get service detail
/api/v1/portal/services/recommended
Personalized recommendations
Ecosystem
Products that depend on this module
17 Civic products consume Portal Framework — making it one of the most critical platform services in the ecosystem.
CRM / 311
Service request submission, case tracking
View product →
Property Tax
Tax account view, payment, certificate request
View product →
Utility Billing
Account view, PAD enrollment, consumption chart
View product →
Recreation
Program search, registration, booking, family management
View product →
Licences & Permits
Application submission, status tracking, renewal
View product →
Parking
Permit purchase, fine payment
View product →
Animal Services
License purchase, renewal, complaint
View product →
Building Inspection
Permit application, inspection booking
View product →
Court / POA
Fine payment, trial request, early resolution
View product →
Elections
Voter information, candidate list, polling locations
View product →
Cemetery
Plot search, service request
View product →
Citizen Engagement
Surveys, consultations, budget participation
View product →
Tourism & Events
Event calendar, vendor applications
View product →
Social Housing
Waitlist application, maintenance request
View product →
CMS
General website content
View product →
Open Data
Dataset browsing and download
View product →
Transit
Route planning, pass purchase
View product →
Technical Specifications
Performance, Compliance & Configuration
Availability
Page Load
Accessibility
Mobile Performance
PWA
Bilingual
SEO
Concurrent Users
Kiosk
FAQ
Frequently Asked Questions
Ready to Integrate
Build on Portal Framework
Request an architecture brief, integration guide, or live demo environment for your team.