Skip to content
AtheronLABS

You're visiting from the United States. Prices are shown in US dollars. Not right?

labs@atheron:~/industries/municipalities$ serve --permits --311 --utilities --council

Municipal software

From the permit counter to the rink.

Most of what your residents need from you is small and frequent: a permit, a pothole, a water bill, a swim lesson. We build the systems that let them do it online, in either official language. Your staff work from one record instead of five.

// what you are up against

The problems we hear most.

01

Permits that start at the counter

Applications arrive as PDFs and paper, inspectors write notes in the truck and type them up at the office, and an applicant calls to ask where their file is.

02

311 in a spreadsheet

Requests come in by phone, email and social media, are logged by hand, and a resident who reported a streetlight never hears it was fixed.

03

Bills and bookings in separate places

Water bills, tax payments and recreation registration each have their own login, or none, and the front desk spends Monday mornings on the phone.

04

Council packages built by hand

Agendas, reports and minutes are assembled in a word processor, posted as PDFs nobody can search, and the accessible version is an afterthought.

// example projects

Systems we could build for you.

Each one is hypothetical, labelled as such, and priced live from our rate card. Open any of them in the estimator and make it yours.

Example projectWeb appMobile app

Permits, inspections and bylaws

Hypothetical. Not a client, not a result.

// The problem

A growing town takes building and development permits by PDF, books inspections by phone, and runs bylaw files in a cabinet, so staff retype everything and applicants cannot see progress.

// What we would build

An online portal where residents and builders apply, pay and track permits, an iOS and Android app inspectors and bylaw officers use offline in the field, and a staff workspace on the town's property and GIS data, built and tested to WCAG 2.1 AA.

// What is in it

  • Applications, documents and fees online, with status the applicant can follow
  • Inspection booking, results and photos from the field app, offline
  • Bylaw complaints, files, notices and tickets in one place
  • Property and zoning data from GIS and the assessment roll
  • Records kept to the municipality's retention schedule
  • Accessibility built and tested to WCAG 2.1 AA, with audit readiness support

// Stack

  • Next.js
  • React Native
  • PostgreSQL with PostGIS
  • ArcGIS REST API
  • Payment processor's hosted checkout
  • AWS Canada

// estimate

Build
≈ US$186,000 to US$285,000, delivered within 34 weeksCAD 265,200 to 405,700
Hosting
≈ US$492 a monthCAD 700 a month
Support
≈ US$2,500 a monthCAD 3,565 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

Timeline by milestone

Discovery
2.9 to 3.4 weeks
Design approved
8.4 to 14.9 weeks
Core features
2.4 to 3.4 weeks
Full build
1.4 to 2.4 weeks
First build on devices
4.4 to 7.4 weeks
Testing and fixes
0.4 to 0.9 weeks
Store submission
0.4 to 0.9 weeks
Retention rules checked with your records manager
0.9 weeks
Controls built and evidenced
0.9 weeks
Readiness review
0.9 weeks
Launch
0.9 to 1.4 weeks

Outside our hands, and added to the calendar

App store review
1 week
Payment processor setup and PCI questionnaire
2 to 6 weeks
GIS and property data access
1 to 4 weeks

How it is paid

Deposit 20%
CAD 53,040 to 81,140
Discovery 6.4%
CAD 16,972.80 to 25,964.80
Design approved 6.4%
CAD 16,972.80 to 25,964.80
Core features 5.3%
CAD 14,055.60 to 21,502.10
Full build 3.5%
CAD 9,282.00 to 14,199.50
First build on devices 14.1%
CAD 37,393.20 to 57,203.70
Testing and fixes 1.7%
CAD 4,508.40 to 6,896.90
Store submission 4.7%
CAD 12,464.40 to 19,067.90
Retention rules checked with your records manager 7%
CAD 18,564 to 28,399
Controls built and evidenced 7%
CAD 18,564 to 28,399
Readiness review 7%
CAD 18,564 to 28,399
Launch 6.9%
CAD 18,298.80 to 27,993.30
Holdback, 30 days after launch (10%)
CAD 26,520 to 40,570
Example projectWeb appMobile appAIOpen-source model

311 requests with an assistant

Hypothetical. Not a client, not a result.

// The problem

A city takes 311 requests by phone, email and social media, logs them in a spreadsheet, and its call centre answers the same questions about garbage days and parking all day.

// What we would build

A 311 web and mobile app where residents report issues with a photo and a location, routing to the right crew, status updates back to the resident, and an assistant on an open-source model hosted in Canada that answers from the city's published pages and creates requests for staff to accept.

// What is in it

  • Requests with photo and map location, from the web or the app
  • Routing to departments and crews, with status sent back to the resident
  • Field crews close requests from their phones, with a photo
  • An assistant that answers from published pages and links its source
  • An open-source model served in a Canadian region in the city's own account

// Stack

  • Next.js
  • React Native
  • PostgreSQL with PostGIS
  • Llama or Mistral (open-source)
  • vLLM
  • AWS Canada

// estimate

Build
≈ US$216,000 to US$330,000, delivered within 41 weeksCAD 307,600 to 470,200
Hosting
≈ US$7,020 a monthCAD 10,000 a month
Support
≈ US$2,500 a monthCAD 3,565 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

AI route
Open-source model
Model running cost
≈ US$6,530 a monthCAD 9,300 a month

Timeline by milestone

Discovery
3.5 to 4 weeks
Specification and evaluation plan
0.5 weeks
Design approved
8.5 to 14.5 weeks
Core features
1.5 to 3 weeks
Full build
1 to 1.5 weeks
First build on devices
3 to 5 weeks
Working pilot
5.5 to 9.5 weeks
Testing and fixes
0.5 to 1 weeks
Store submission
1 to 1.5 weeks
Retention rules checked with your records manager
1.5 to 3 weeks
Launch
1 to 1.5 weeks
Production
1 to 1.5 weeks

Outside our hands, and added to the calendar

App store review
1 week
GIS and property data access
1 to 4 weeks

How it is paid

Deposit 20%
CAD 61,460 to 93,980
Discovery 4%
CAD 12,292 to 18,796
Specification and evaluation plan 6.1%
CAD 18,745.30 to 28,663.90
Design approved 4%
CAD 12,292 to 18,796
Core features 3.3%
CAD 10,140.90 to 15,506.70
Full build 2.2%
CAD 6,760.60 to 10,337.80
First build on devices 8.7%
CAD 26,735.10 to 40,881.30
Working pilot 18.5%
CAD 56,850.50 to 86,931.50
Testing and fixes 1.1%
CAD 3,380.30 to 5,168.90
Store submission 2.9%
CAD 8,911.70 to 13,627.10
Retention rules checked with your records manager 8.7%
CAD 26,735.10 to 40,881.30
Launch 4%
CAD 12,292 to 18,796
Production 6.5%
CAD 19,974.50 to 30,543.50
Holdback, 30 days after launch (10%)
CAD 30,730 to 46,990
GPU time for training and testing, at cost
CAD 300. Billed up front, at cost, outside the milestones
Example projectWeb app

Resident bills and bookings

Hypothetical. Not a client, not a result.

// The problem

Residents pay water bills by cheque or at the bank, register for swimming lessons by phone at 7 in the morning, and need a different login, or a visit, for each.

// What we would build

One resident account in English and French for utility bills, tax balances and recreation bookings, with online payments through a processor's hosted checkout and balances read from the municipal finance system.

// What is in it

  • Utility bills and tax balances read from the finance system
  • Online payment, pre-authorised debit sign-up and paperless billing
  • Recreation programs, drop-ins and facility bookings with waitlists
  • Household members under one account, with their own bookings
  • Notices for service interruptions and program changes

// Stack

  • Next.js
  • PostgreSQL
  • Municipal finance system integration
  • Payment processor's hosted checkout
  • AWS Canada

// estimate

Build
≈ US$100,000 to US$153,000, delivered within 22 weeksCAD 142,400 to 217,800
Hosting
≈ US$492 a monthCAD 700 a month
Support
≈ US$2,500 a monthCAD 3,565 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

Timeline by milestone

Discovery
2.9 to 3.4 weeks
Design approved
5.4 to 8.9 weeks
Core features
2.9 to 4.9 weeks
Full build
1.9 to 3.4 weeks
Testing and fixes
0.9 to 1.9 weeks
Launch
0.9 to 1.4 weeks

Outside our hands, and added to the calendar

Payment processor setup and PCI questionnaire
2 to 6 weeks
Finance system access from your vendor
1 to 4 weeks

How it is paid

Deposit 20%
CAD 28,480 to 43,560
Discovery 7.7%
CAD 10,964.80 to 16,770.60
Design approved 7.7%
CAD 10,964.80 to 16,770.60
Core features 23.3%
CAD 33,179.20 to 50,747.40
Full build 15.5%
CAD 22,072 to 33,759
Testing and fixes 7.7%
CAD 10,964.80 to 16,770.60
Launch 8.1%
CAD 11,534.40 to 17,641.80
Holdback, 30 days after launch (10%)
CAD 14,240 to 21,780
Example projectWeb app

Council agendas and minutes

Hypothetical. Not a client, not a result.

// The problem

The clerk's office assembles council packages by hand, posts them as scanned PDFs residents cannot search, and finds a past motion by memory.

// What we would build

A council meetings system where staff reports move through review into the agenda, minutes are written against the agenda during the meeting, and every motion and vote is searchable on an accessible public site.

// What is in it

  • Staff reports through review and approval into the agenda
  • Agenda packages published as accessible web pages, not only PDFs
  • Minutes, motions and votes recorded against agenda items
  • Every past motion searchable by topic, date and vote
  • Records kept to the retention schedule and ready for information requests

// Stack

  • Next.js
  • PostgreSQL
  • S3-compatible storage
  • DigitalOcean Toronto

// estimate

Build
≈ US$57,500 to US$88,000, delivered within 16 weeksCAD 81,900 to 125,300
Hosting
≈ US$176 a monthCAD 250 a month
Support
≈ US$1,000 a monthCAD 1,425 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

Timeline by milestone

Discovery
2.9 to 3.4 weeks
Design approved
2.9 to 4.4 weeks
Core features
1.9 to 3.4 weeks
Full build
1.4 to 2.4 weeks
Testing and fixes
0.9 weeks
Retention rules checked with your records manager
0.9 weeks
Launch
0.9 to 1.4 weeks

How it is paid

Deposit 20%
CAD 16,380 to 25,060
Discovery 6.8%
CAD 5,569.20 to 8,520.40
Design approved 6.8%
CAD 5,569.20 to 8,520.40
Core features 20.4%
CAD 16,707.60 to 25,561.20
Full build 13.6%
CAD 11,138.40 to 17,040.80
Testing and fixes 6.8%
CAD 5,569.20 to 8,520.40
Retention rules checked with your records manager 8.7%
CAD 7,125.30 to 10,901.10
Launch 6.9%
CAD 5,651.10 to 8,645.70
Holdback, 30 days after launch (10%)
CAD 8,190 to 12,530
Example projectWeb appBlockchain

Regional shared cost ledger

Hypothetical. Not a client, not a result.

// The problem

Several municipalities share the cost of a regional water system, transit and fire mutual aid, and each year they argue over whose figures are right.

// What we would build

A shared record of usage and cost allocations on a private permissioned ledger, with a node for each participating municipality, so the numbers behind each invoice are the same for all. If one municipality or the regional district is trusted by all to keep the books, a shared database is cheaper, and we will say so.

// What is in it

  • Usage, call-outs and costs recorded by each participant
  • The agreed allocation formula applied the same way for everyone
  • A node for each municipality, with read access for auditors
  • Invoices built from the record and sent to each finance system
  • Records kept to each municipality's retention schedule

// Stack

  • Next.js
  • Hyperledger Besu (private, permissioned)
  • PostgreSQL
  • AWS Canada

// estimate

Build
≈ US$114,000 to US$174,000, delivered within 27 weeksCAD 161,700 to 247,400
Hosting
≈ US$176 a monthCAD 250 a month
Support
≈ US$2,500 a monthCAD 3,565 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

Timeline by milestone

Discovery
2.9 to 3.4 weeks
Architecture
0.4 weeks
Design approved
2.9 to 4.9 weeks
Core features
1.4 to 2.4 weeks
Full build
0.9 to 1.9 weeks
Devnet
2.9 to 4.9 weeks
Testing and fixes
0.4 weeks
Testnet
2.9 to 3.4 weeks
Retention rules checked with your records manager
2.9 to 3.4 weeks
Launch
0.9 to 1.4 weeks
Mainnet
0.9 to 1.4 weeks

Outside our hands, and added to the calendar

Finance system access from your vendor
1 to 4 weeks

How it is paid

Deposit 20%
CAD 32,340 to 49,480
Discovery 2.2%
CAD 3,557.40 to 5,442.80
Architecture 5.9%
CAD 9,540.30 to 14,596.60
Design approved 2.2%
CAD 3,557.40 to 5,442.80
Core features 6.6%
CAD 10,672.20 to 16,328.40
Full build 4.4%
CAD 7,114.80 to 10,885.60
Devnet 17.7%
CAD 28,620.90 to 43,789.80
Testing and fixes 2.2%
CAD 3,557.40 to 5,442.80
Testnet 11.8%
CAD 19,080.60 to 29,193.20
Retention rules checked with your records manager 8.7%
CAD 14,067.90 to 21,523.80
Launch 2.2%
CAD 3,557.40 to 5,442.80
Mainnet 6.1%
CAD 9,863.70 to 15,091.40
Holdback, 30 days after launch (10%)
CAD 16,170 to 24,740
Example projectWeb appAIFrontier model

Resident services in many languages

Hypothetical. Not a client, not a result.

// The problem

A growing city's residents speak dozens of languages, but its website, service requests and notices are in English and French only, and newcomers rely on friends to translate.

// What we would build

Key service pages, request forms and notices localised into the community's most spoken languages with native review, right-to-left layouts where needed, and an assistant that answers common questions in the resident's language from the city's own pages.

// What is in it

  • Service pages and request forms in the community's languages
  • Native review, and right-to-left layouts where needed
  • An assistant that answers from the city's own pages
  • Updates to a page sent for translation automatically

// Stack

  • Next.js
  • PostgreSQL
  • Crowdin
  • Claude API
  • DigitalOcean

// estimate

Build
≈ US$126,000 to US$192,000, delivered within 23 weeksCAD 178,800 to 273,400
Hosting
≈ US$218 a monthCAD 310 a month
Support
≈ US$2,500 a monthCAD 3,565 a month

Prices in your currency are estimates from today's Bank of Canada rate. All invoicing is in CAD or USD.

AI route
Frontier model
Model running cost
≈ US$42 a monthCAD 60 a month

Timeline by milestone

Discovery
2.9 to 3.4 weeks
Specification and evaluation plan
0.4 weeks
Design approved
2.4 to 3.4 weeks
Core features
1.4 to 2.4 weeks
Full build
0.9 to 1.4 weeks
Working pilot
3.9 to 6.9 weeks
Testing and fixes
0.4 to 0.9 weeks
Retention rules checked with your records manager
0.9 to 1.9 weeks
Launch
0.9 to 1.4 weeks
Production
0.9 to 1.4 weeks

Outside our hands, and added to the calendar

Payment processor setup and PCI questionnaire
2 to 6 weeks
GIS and property data access
1 to 4 weeks

How it is paid

Deposit 20%
CAD 35,760 to 54,680
Discovery 1.8%
CAD 3,218.40 to 4,921.20
Specification and evaluation plan 8.9%
CAD 15,913.20 to 24,332.60
Design approved 1.8%
CAD 3,218.40 to 4,921.20
Core features 5.4%
CAD 9,655.20 to 14,763.60
Full build 3.6%
CAD 6,436.80 to 9,842.40
Working pilot 26.9%
CAD 48,097.20 to 73,544.60
Testing and fixes 1.8%
CAD 3,218.40 to 4,921.20
Retention rules checked with your records manager 8.7%
CAD 15,555.60 to 23,785.80
Launch 1.8%
CAD 3,218.40 to 4,921.20
Production 9.3%
CAD 16,628.40 to 25,426.20
Holdback, 30 days after launch (10%)
CAD 17,880 to 27,340

// questions

What buyers in this industry ask us.

Do you work outside British Columbia?

Yes. We are in British Columbia and work with municipalities anywhere in Canada; prices are in Canadian dollars.

Can you work through our procurement process?

Yes. We respond to requests for proposals and provide the security, privacy and accessibility documentation procurement asks for.

How do payments work?

A deposit to start, then payments at agreed milestones, with 10% held until 30 days after launch. The deposit is a smaller share on larger projects.

Who owns the code?

The municipality does, once the work is paid for, so you are not locked to us for changes.

// where we work

Find your market.

We work from Kelowna with clients across Canada, the United States and further afield. Each market page covers working hours, hosting, the privacy law that applies, and prices in your currency.

// next

Not quite your project?

Tell us what you have in mind. We will come back to you with a range and the questions that would narrow it. Or book a call and talk it through.

Software for municipalities: permits, 311, billing and council | Atheron Network Labs