Michael Alexander Model build · 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 the working system, 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 a retrospective forward-deployment exercise against that public document: a working demonstration system whose configuration comes from the city's own published forms and permit catalog, plus the implementation plan, discovery questions, and cost structure the RFP asked proposers to supply.

Demonstration only, with synthetic data. Not a bid. Not affiliated with, endorsed by, or submitted to the City of Medina, Medina County, or any software vendor. The city has since begun implementing its selected vendor; this exercise analyzes a closed public procurement. Contact: michael@vismu.co.

01 / The ten requirements

Every RFP requirement, mapped to the build.

The RFP enumerates ten required capabilities. The demo builds the workflow spine deep, simulates what requires external systems, and stubs what belongs to a production platform, with each status labeled honestly.

#City's requirement (paraphrased from the RFP)In the demoStatus
1Records for permits, code enforcement, contractor registration, and boards: general info, workflow steps, links to related records, parcels, fees, inspections, documents; multi-department access; staff customizationOne record store drives every view. Workflow chevrons per record; sub-permits link parent-to-child the way the city's paper building form cross-references its HVAC, electrical, and plumbing permitsBUILT
2Online applicant interface: submit applications and documents, pay fees, request inspections, interact with staff, view recordsThe Apply tab: dynamic forms per permit type, live fee preview, submission, and a public status tracker; payment and document upload simulatedBUILT
3Automated temporal renewals, such as annual contractor registrationThe Renewals tab watches expirations and generates renewal records with fees, exactly for the contractor-registration case the RFP namesBUILT
4Create, assign, customize, and track inspectionsScheduling from any record; office-wide schedule view; results roll back into the record and can auto-issue the permitBUILT
5Field use on mobile devicesThe Field tab: a phone-width worklist where an inspector records pass/fail and notes on site, for the three field users the RFP describesBUILT
6Automatic fee generation from record informationA fee engine computes from permit type and valuation at draft time. Amounts are placeholders: the city's posted fee-schedule link returned 404 when checked (2026-08-02); a deployment loads the adopted schedule as configuration in one sittingBUILT
7Off-site or cloud data storage sized to the departmentDemo persists locally in the browser by design (no real data should exist here). A production deployment is a platform concern, not a build concernPLATFORM
8Integration of Medina County Auditor property data, auto-updatingParcel lookup by PPN pre-fills property data and syncs into records; the feed is simulated and labeled. The real integration is a discovery item with the Auditor's officeSIMULATED
9Customizable reporting, exportable to PDF, CSV, or ExcelThe Reports tab: counts by status and type, fee position, activity log, one-click CSV of every recordBUILT
10Migration of all data and documents from the current softwareNot buildable without the incumbent's export. The plan below treats migration as its own phase with a parallel-run gatePLANNED

02 / Scaffolding vs configuration

What is reusable platform, and what is Medina.

The posting this exercise responds to pairs a forward-deployed PM with a forward-deployed engineer: the engineer owns reusable scaffolding for the product category, the PM configures it for the agency. The demo makes that boundary literal; every view carries a tag.

LayerContentsWho owns it
SCAFFOLDRecord store and linking, workflow engine, fee engine, inspection scheduler, renewal clock, reporting and export, status tracker, parcel-lookup interfaceThe FDE; identical machinery serves the next city's permits, a county's septic program, or contractor licensing anywhere
CONFIGMedina's 20-permit catalog (from the city's published forms page), the building form's actual fields (PPN, historic-district flag, improvement and use types, construction classes I-A through V-B, sub-permit links), the submittals-reviews-fees-inspections workflow order stated in the RFP, fee lines per type, inspector roster shapeThe FDPM, with the agency, in days

Time observed in this exercise: the scaffolding took roughly four times as long as the configuration. That ratio is the business case for the pairing model: the second agency pays only the configuration cost.

03 / Discovery questions

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

A working demo 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 on the platform; 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 and training8-10Public launch of online applications; counter-assisted mode live; field devices in use; incumbent goes read-onlyFirst fully-online permit issued
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 any machine-readable form. Discovery exists to test those assumptions in week one, not to discover them in week six.

05 / Cost structure

In the RFP's own three categories.

The RFP requests costs as initial setup, recurring, and miscellaneous. Real dollar figures belong to a real vendor's pricing and a real discovery; inventing them here would be theater. What an owner can hold me to is the structure and the unit lens:

RFP categoryWhat belongs in itThe honest unit lens
Initial setupDiscovery, configuration, data migration, training, counter-mode setupMostly the configuration weeks above; the scaffolding-to-configuration ratio in section 02 is what keeps this bounded
Recurring / annualPlatform subscription (seven users, three field), storage, support, fee-schedule and form updatesAt the city's own stated volume, every $2,700 of annual cost equals one dollar per record. That is the number to negotiate with, because the city published it
MiscellaneousAuditor-feed integration work, payment-processor fees on online payments, device hardware for field usersEach is a discovery line item with an owner and a yes/no, not a contingency bucket

06 / Colophon

How this was made.