NPDESTracker is built around one idea: one connected record, from field inspection to annual report. That phrase is easy to say and harder to picture, so this post follows a single made-up example through each step. Along the way it shows where the chain usually breaks when the record lives in five different places.
The example: during a routine construction site inspection, an inspector finds that the protection around a storm drain inlet has failed, and muddy water from the site is reaching the inlet.
1. The observation becomes an inspection record
The inspector opens the site in the browser on a phone or tablet and starts a construction inspection. Because every inspection has a type, the form asks the questions that type of inspection needs, instead of a single “describe what you saw” box.
The record holds the site and structure it belongs to, with the address, parcel and coordinates alongside, the date of the visit, and the findings with their status. Photos attach to the inspection itself, not to a folder on someone’s phone. Whether the phone’s location is recorded with them depends on the device, the browser and the permissions the inspector grants, so test it on the devices your inspectors actually carry.
The browser web app needs a connection to load and save records, and a production offline mode is not available today. The native iOS app has a Target release: April 2027, subject to field validation, release readiness and App Store review; more on that in the native iOS app post.
2. The finding becomes a follow-up task
The inspector marks the inlet protection deficient and ticks “Create follow-up task on submit”. The box is off by default, so the inspector decides, inspection by inspection, whether a finding needs one. When the inspection is saved, a task opens linked to it, with the corrective actions copied in, a due date and the person it is assigned to. The photos stay on the original record, so whoever handles the follow-up sees exactly what the inspector saw.
The supervisor sees the open task on the program’s task list, and the assignee sees it in My Work. If the due date passes, the task shows as overdue instead of disappearing into someone’s inbox.
This is the first place the old way breaks. On paper, the finding goes in the inspection form and the follow-up goes in a separate spreadsheet or calendar. Six months later, nobody can say for sure whether the two refer to the same problem.
3. A notice, if the finding calls for one
If the program sends a correction notice, the draft starts from the inspection record: the site, the finding and the evidence are already there. NPDESTracker prepares printable notice letters for mailing, and a copy of what was sent stays with the inspection.
If email delivery is enabled for your agency, staff can send the notice through NPDESTracker, and the outgoing message and the time it was sent are recorded. If reply capture is enabled, replies can be logged on the same inspection. These email options are confirmed for each agency during setup, so do not assume them until they are named in your order. The enforcement notices documentation has the details.
If the finding escalates to a notice of violation or a compliance order, that record links back to the inspection that triggered it.
4. The fix is checked and the loop closes
At the re-inspection, the inlet protection has been replaced. The inspector records the visit, and the task closes with its closeout on the same chain of records. Anyone who opens the site later sees the whole sequence in order: the finding, the follow-up, the notice, the re-inspection and the closure, with dates and names.
That sequence is what a reviewer actually asks about. “What was found, and what happened next?” should take two clicks, not two days of searching shared drives.
5. The record becomes evidence for an annual report answer
At reporting time, a coordinator opens a question about construction site inspections in the annual report. Each question knows what kind of evidence supports it, so the workspace suggests the inspection records from the reporting period that match. Linking one takes a click, and the reason for the link is captured in the audit log.
Counts on the report are computed from the records logged through the year, so the number of construction inspections is the number of construction inspection records, not a figure someone typed from memory. If a count needs a manual change, for example because a record was logged in the wrong year or entered twice, the override is recorded with the user, the time, the old value, the new value and the reason.
Smart Draft can assemble a starting draft of a narrative answer from the linked evidence. It does not use AI, and a person edits and saves every answer. The Smart Draft disclosure explains exactly what it does and does not do.
6. The report package
When the report is ready for review, the Prepare report package page builds it on the server. A package can include the report as a PDF, an evidence appendix with the records and files behind each answer, a spreadsheet and a CSV of the answers, an editable document, and an archive with the evidence files, a manifest and a README that names who submits: the permittee.
Every page is marked DRAFT until a certification is recorded. Staff choose whether a package is for internal use, which may include private files and staff notes, or for an external audience, which never includes private files.
NPDESTracker does not submit the report. Your staff review it, certify it and submit it through your permitting authority’s own channel. The annual reporting page shows the workspace in more detail.
Why one record matters
Federal rules make the evidence part of the job. A small MS4 permit must require records to be kept for at least three years and made available to the public, and the program’s reports must include the status of compliance with the permit, the results of information collected, the activities planned for the next cycle, and any changes to the program (40 CFR 122.34). Your state’s permit adds its own details.
None of that is hard when the evidence is attached as the work happens. It is very hard when the inspection is a PDF in one folder, the follow-up is a row in a spreadsheet, the notice is in someone’s sent mail, and the closure photo is still on a phone. The work was done. The proof is scattered.
What to keep in mind
- Plans differ. Annual Reporting is part of the Full MS4 Platform. The inspection plans, Inspection Starter and Inspection Team, cover the field side and export records as CSV and GeoJSON for whatever reporting process you use. See pricing.
- Templates are permit-specific. The annual report template implemented in the product today is the Western Washington Phase II template. For other permits, the requirements and records are set up first, and a report template is built and verified for the permit before Annual Reporting is switched on.
- Software keeps the evidence; people do the work. NPDESTracker does not make a program compliant. It keeps the record of the work in one place so the program can show what it did.
See it on sample data
The Inspections module in the public demo (opens in a new tab) shows an inspection record and its linked follow-up task, and the Tasks module (opens in a new tab) shows how follow-ups are tracked. The demo uses fictional data and is read-only on our side: a follow-up task you add there is kept in your browser, and nothing you try there is saved on our servers or sent. Annual Reporting itself is locked in the public demo. A record there can show the report question it supports, and you can try linking a record to one, which is also kept in your browser, but the report workspace, its counts and the report package are shown in a private demonstration instead.
For the inspection side in more depth, see the inspections page and stormwater inspection software. For the reporting side, see NPDES annual reporting software.
Sources checked October 17, 2026.
