Michael Alexander Independent prototype · Forward-deployed exercise Open the working demo
City of Medina, Ohio · Permitting & Code Enforcement RFP · Feb 18, 2026

A city published its requirements. Here is a working prototype, built against them.

In February 2026 the City of Medina, Ohio (pop. ~26,000) published an RFP for permitting and code-enforcement software: ten enumerated capabilities, real volumes (about 2,700 records and 2,400 inspections a year), seven staff users with three in the field, and a requested proposal structure. Proposals closed March 13. This is an independent, retrospective forward-deployment exercise against that public document: a demonstration system whose catalog and form fields come from the city's own published documents, whose fee and workflow rules are labeled as assumptions, and whose written spine supplies the requirement mapping, discovery questions, rollout plan, and cost anchors the RFP asked proposers to address. It was built without stakeholder access, and says so; discovery with the agency is where a real deployment would begin.

Demonstration only, with synthetic data; all names are fictional. Not a bid; not affiliated with, endorsed by, or submitted to the City of Medina, Medina County, or any software vendor. The city's contractor registration now runs on a commercial permitting platform and its permit applications remain PDF forms as of August 2, 2026; this exercise analyzes a closed public procurement. Contact: michael@vismu.co.

01 / The ten requirements

Every RFP requirement, mapped and graded honestly.

The RFP enumerates ten required capabilities. The grades below are deliberately strict: BUILT means the demo does the thing end to end; PARTIAL means a meaningful subset works and the gaps are named; SIMULATED and PLANNED mean what they say. A demo that grades itself generously would be arguing against its own thesis.

#City's requirement (paraphrased from the RFP)What the demo does, and does notGrade
1Records for permits, code enforcement, contractor registration, and boards; workflow steps; links to related records, parcels, fees, inspections, documents; multi-department access; staff customizationDoes: one record store, guarded workflow, parent-child links (trade permits link their building permit at intake), fees, inspections, documents-by-name, notes. Does not: code-enforcement or board record types, roles or per-department access, staff-customizable fieldsPARTIAL
2Online applicant interface: submit applications and documents, pay fees, request inspections, interact with staff, view recordsDoes: type-specific submission, live fee preview, status tracker. Does not: real payment, real document upload, applicant-initiated inspection requests, two-way messagingPARTIAL
3Automated temporal renewals, such as annual contractor registrationDoes: watches expirations, queues eligible registrations, generates a linked renewal once per source record. Does not: run on a schedule without a staff click; window and term are assumedPARTIAL
4Create, assign, customize, and track inspectionsDoes: scheduling, assignment, tracking, results, automatic reinspection after a failure, latest-attempt-per-type governs issuance. Does not: staff-customizable inspection types (the taxonomy is assumed)PARTIAL
5Field use on mobile devicesA phone-width worklist where an inspector records pass/fail and notes on site; failing schedules the reinspection automaticallyBUILT
6Automatic fee generation from record informationFees compute from type and valuation at draft time and gate the workflow. Every amount and formula is an assumption, labeled in the interface: the city's posted fee-schedule link returned 404 when checked (2026-08-02)BUILT
7Off-site or cloud data storage sized to the departmentDemo persists locally in the browser by design (no real data should exist here). Production storage is a platform concernPLATFORM
8Integration of Medina County Auditor property data, auto-updatingA parcel lookup by PPN pre-fills property data from a fabricated feed, refreshed only on lookup. The RFP prefers automatic updating; the real feed's access method and cadence are discovery itemsSIMULATED
9Customizable reporting, exportable to PDF, CSV, or ExcelDoes: fixed operational summaries, records CSV, inspections CSV. Does not: user-configurable reports, filters, or chosen dimensionsPARTIAL
10Migration of all data and documents from the current softwareNot buildable without the incumbent's export; treated as its own phase with a parallel-run gate in the plan belowPLANNED

02 / Honesty ledger

Which rules are the city's, and which are mine.

StatusItems
SOURCEDThe 19-type application and permit catalog (the city's page lists 4 applications, 12 permits, 4 planning/zoning entries; the Board of Building Code Appeals application is out of demo scope); the Building Permit form's fields (PPN, lot, historic-district flag, improvement and use types, construction classes I-A through V-B, sub-permit cross-references); the submittals-reviews-fees-inspections workflow order; volumes, user counts, dates, and population from the RFP; the broken fee-schedule link
DEMONSTRATEDEverything the demo actually executes: guarded transitions, fee gating, reinspection-after-failure, latest-attempt supersession, renewal generation with a once-only latch, exports
ASSUMEDAll fee amounts and formulas, plan-review routing and its price, the inspection taxonomy, the 60-day renewal window and 365-day registration term, the uniform five-step workflow across all types, contractor registration handled in-catalog (the city runs it through a separate portal)
UNKNOWNEverything only discovery can supply: the real fee schedule, exception paths, the Auditor feed's shape, the incumbent's export, counter traffic, multi-department permissions, the Director's success measures

The role this exercise responds to pairs a forward-deployed PM with a forward-deployed engineer: reusable scaffolding versus per-agency configuration. The demo tags its views accordingly, and this ledger is the same discipline applied to the claims.

03 / Discovery questions

What the RFP does not answer, and I would not guess.

A working prototype is not a deployment. These are the questions I would open discovery with, because the answers change the build and no public document contains them.

Workflow realityWhich of the ~2,700 annual records follow the standard submittal-review-fees-inspection path, and which routes are exceptions (boards, historic review, code enforcement)? Where does work actually queue today?
Fee truthThe posted fee-schedule link is broken. What is the adopted schedule, who maintains it, and which fees are computed versus judgment calls?
Auditor feedWhat access does the Medina County Auditor actually offer (file drop, API, vendor export), on what refresh cadence, and who owns the relationship?
Incumbent dataWhat can the current software export, in what shape, and how dirty is it? Migration scope is unknowable until a sample export is on the table.
Field constraintsWhat devices and connectivity do the three field users really have on site? Offline capture may be a requirement nobody wrote down.
Counter trafficHow much intake still arrives on paper at 132 N. Elmwood, and does the counter workflow need a staff-assisted entry mode from day one?
Multi-department accessWhich departments beyond Community Development touch these records, and what may they see and edit?
Success measuresWhat would the Director call success at 90 days: cycle time, counter visits avoided, online adoption rate, inspection throughput? Baseline it before cutover.

04 / Implementation plan

The rollout the RFP asked proposers to describe.

PhaseWeeksWorkGate to proceed
Discovery1-2The questions above, on site; fee schedule and workflow captured as configuration; sample export from the incumbentDirector signs the workflow map and fee table
Configuration2-4Permit catalog, forms, fees, roles configured; staff walkthrough against real cases they chooseStaff complete five real record types end to end in the sandbox
Migration and parallel run4-8Full data migration; new applications enter both systems; discrepancies logged and burned downOne full week of parallel operation with zero unexplained discrepancies
Cutover readiness8-10Counter-assisted mode rehearsed; field devices in staff hands; support path agreed; rollback plan writtenStaff, not the vendor, call the go date; the incumbent stays read-only, not off
MeasurementThrough week 2290-day scorecard against the baseline set in discovery, reviewed with the DirectorRenewal decision on evidence, not inertia

Timeline honesty: this assumes the incumbent can export and the Auditor feed has a machine-readable form. Discovery exists to test those assumptions in week one, not to discover them in week six.

05 / Cost anchors

What the buyer budgeted, and what comparable cities pay.

The RFP requests costs as initial setup, recurring, and miscellaneous. Inventing a vendor quote here would be theater; what public record supports is a buyer-side anchor and verified comparables, each checked against the primary council document before inclusion.

The buyer's own anchor: Medina's authorizing Ordinance 215-24 estimated "$50,000.00 for initial setup and $35,000.00 annually" for these services. Against the RFP's ~2,700 annual records, the city's own recurring budget is about $12.96 per record per year, with all the limits of a budget estimate.

Government (2020 pop.)SetupRecurringTermPublic record
Medina County, OH (the adjacent county, 2026)$59,500$72,500/yr5 yr; $132,000 Year 1Resolution 26-0476
Peekskill, NY (25.4k)$5,000$15,000/yr2-yr minimumAdopted minutes, Feb 2026
Manor, TX (13.7k)$0 (discounted)$34,000/yr3 yrCouncil order form, Nov 2025
Panama City, FL (32.9k)$14,500$33,000/yr3 yr; $113,500 totalAgenda item, Mar 2024
Gadsden, AL (33.9k)within Year 1$59,000 y1; $39,000 y2-33 priced yrsResolution R-466-24

The parametric model a real quote would need: users and field seats, annual record and inspection volume, migration scope from the incumbent's sample export, document storage, integration count and depth (Auditor feed, payments), training and counter-assisted intake, support tier, and an uncertainty band that narrows at each discovery gate. Each is a line an owner can check, not a contingency bucket.

06 / Colophon

How this was made, and what it does not claim.