Problems & solutions · Project Management

Land Entitlement and Zoning Software Problems: The 5 That Cost Real Money, and How to Avoid Them

Land Entitlement Zoning Software workflow illustration showing common problems and fixes.
The short answer

The most expensive failure in entitlement software is a buildable envelope returned as a single number with no derivation. The tool says the parcel supports a given height and density, the pro forma is built on it, the option deposit hardens, and then a planner mentions in passing that an airport overlay caps height below what the model assumed. Nobody can audit the answer because the model was a lookup table: base district in, standards out, with no record of which rules were consulted or which were absent. The loss is not the analysis, it is the deposit plus the carry on borrowed money, and it recurs because the same silent structure produces confident answers on the next parcel too. An envelope should never be a number. It should be a number with every binding rule and its code section attached.

Why does the jurisdiction count blow up the scope so reliably?

The demo is always built on one city. It looks excellent, because one city's code can be encoded properly in a few days and the results are genuinely useful. Then the scope says all our target markets, and the number of jurisdictions becomes the dominant cost variable in the entire project, ahead of interface, ahead of reporting, ahead of everything.

The reason is that jurisdictions do not share structure. One measures height to the midpoint of a pitched roof, another to the highest point. One computes lot coverage including eaves, another excluding them. Overlays interact differently, density bonuses waive different standards, and corner lot and slope provisions appear in some codes and not others. There is no generic zoning model that absorbs all of this, which is why national data products normalise, and why normalised is not the same as correct for your parcel.

The fix is to scope by jurisdiction in tiers and to say so in the contract. Encode three or four priority jurisdictions properly in the first release, at the depth where the derivation is trustworthy, then add jurisdictions as a repeatable unit of work with a stated cost and duration each. Tier the rest deliberately: full encoding where you buy regularly, a lighter screening model where you look occasionally, and honest blanks where you do not operate, so a user sees not encoded rather than a default answer. The failure that costs money is a jurisdiction that is partly encoded and does not say so.

What goes wrong when you load parcel data and the existing pipeline?

Two migrations happen at once here and both have specific traps.

Parcel and ownership data comes from a licensed provider and from county assessors, and it disagrees with itself. Assessor parcel identifiers change on splits and merges, a site you are optioning may be three parcels that will become one, and ownership records lag transactions. If your system treats the parcel identifier as a stable key, a re-parcelisation orphans your entire file: the analysis, the milestones and the documents all point at an identifier that no longer exists.

The pipeline migration is worse in a different way. Your existing spreadsheet holds option dates, deposit schedules and milestones, and it holds them in shorthand that made sense to the person maintaining it. Extension terms live in a cell comment. A milestone called submitted means different things in two jurisdictions. Loaded literally, that ambiguity becomes automated alerts that are wrong, and an alert that is wrong twice gets ignored permanently.

The fix is a project entity above the parcel and a supervised pipeline load. Model the site as a project that holds one or more parcels over time, so a merge or split changes the parcel set without breaking the file, and keep the full parcel identifier history as aliases. For the pipeline, sit with whoever maintains the spreadsheet and translate each column into structured fields deliberately, especially option and extension terms, which should be entered from the executed agreements rather than from the spreadsheet. Then run alerts silently for a few weeks and review what they would have fired before anyone relies on them.

Why do the zoning data and municipal document integrations break after launch?

Three feeds matter and all three degrade quietly. Zoning and parcel data from providers such as Zoneomics, Gridics or LightBox LandVision. County assessor and recorder data. And municipal publications: agendas, staff reports, hearing minutes and code amendment notices, scattered across hundreds of separate city websites in whatever format each one chose.

The provider feeds break through change rather than outage. A district code is renamed, a schema field is added, a county changes its identifier format after a reassessment. Nothing errors, and your parcel records simply stop matching a share of the market. Municipal document scraping breaks constantly, because city websites are redesigned by whoever won the contract that year, and a scraper that silently returns nothing looks exactly like a quiet month in that jurisdiction.

The fix is coverage monitoring rather than error handling. Track match rates per county and per jurisdiction on every refresh and alert when a rate drops, because the failure signature here is a gap, not an exception. For municipal documents, monitor expected publication cadence: if a planning commission that publishes an agenda every fortnight has published nothing for six weeks, that is an alert about your scraper, not a quiet period. And keep document extraction advisory only. It should surface a neighbouring rezoning or a proposed moratorium for a human to read, never act on it, because interpreting ambiguous code language is the planning department's job and not a model's.

What happens when code amendments and utility capacity are not covered?

These two gaps produce the losses that arrive after the deposit has hardened, which is the worst timing available.

Codes amend constantly. If your encoded rules have no effective dates, then an analysis run last March cannot be reproduced, and worse, a rule updated today silently changes what your file says about a decision made months ago. When an investment committee asks why a scheme was underwritten at a density that is no longer available, you need to be able to show the code as it stood, not as it stands. There is also a maintenance question nobody wants to own: somebody has to notice the amendment and re-encode the rule, and if that responsibility is not named in the contract it will not happen.

Capacity is the second. Zoning tells you what you may build. Sewer capacity, water taps, dry utility lead times and transportation concurrency tell you what you can actually build. A will serve letter that comes back conditional, a lift station at capacity, a transformer with a long lead time, or a failed concurrency test at the intersection you have to mitigate will each change a scheme, and each of them arrives late if the enquiry was not started early.

The fixes are effective dating and sequencing. Every encoded rule carries an effective date and a version, and every saved analysis records which versions it used, so the file defends itself. Capacity enquiries become tasks on the entitlement path with their own lead times, initiated during due diligence rather than after entitlement, and the responses are stored with their conditions and their expiry dates, because a stale will serve letter is worse than none.

Should you build custom or configure what you already own?

A large number of developers should not build this, and the honest recommendation is straightforward. If you operate in one or two jurisdictions, or hold fewer than about ten options at a time, license Zoneomics or Gridics for zoning, use LandVision for parcel and ownership research, and run a disciplined pipeline spreadsheet. Spend the difference on local land use counsel who knows how the planning director actually reads the code, which is a better return than any software at that volume. The same applies if you mostly buy entitled land, because then the zoning analysis is somebody else's finished work and your real problem is underwriting.

These products are useful and it is worth being precise about what they do well. National coverage with a normalised district code is genuinely hard to assemble, and Gridics models buildable capacity in depth for the jurisdictions it has encoded. Where they stop is not a defect, it is a boundary: they do not model your option agreement, your deposit schedule, your entitlement critical path, or your prototype plans, so they cannot tell you how many of your actual unit types fit at your parking ratio.

Build when the failure mode you fear is a missed deadline rather than a wrong calculation. Data products fix calculations. Nothing off the shelf fixes coordination across a pipeline of options with hard dates, and that is where entitlement money is actually lost. The clearest volume case is a homebuilder repeating the same lotting and setback analysis across hundreds of parcels a year, where the translation from envelope to lot count is mechanical.

How do hidden costs get into the quote?

  • Jurisdiction count and depth. The dominant variable. Ask for a per jurisdiction encoding price and duration, and agree which tier each market sits in.
  • Ongoing rule maintenance. Codes amend. Somebody must notice and re-encode. If this is not a named line with a named owner, it is an assumption and it will fail in month six.
  • Three dimensional envelope geometry. Daylight planes, stepped setbacks and true massing are a step change in engineering compared with area arithmetic. Decide before design which you need.
  • State level review regimes. Where a state environmental review process applies, it adds a parallel path with its own timelines and documents, and it is regularly left out of a zoning focused scope.
  • Parcel and ownership data licensing. A recurring cost carried regardless of who builds the software, and it belongs in the business case rather than as a surprise after launch.
  • Subdivision and platting. If you are a homebuilder rather than a vertical developer, lotting rules are their own ruleset and their own encoding effort.

The fix is a paid discovery on real parcels. Hand over three sites you have already taken through entitlement, including one that went wrong, plus one executed option agreement. Ask for a scope written against those. The questions about overlays and about how the option terms are structured will tell you whether the team has done this before.

What separates a build that works from one that fails here?

The systems that earn their cost share four properties.

They express rules as an ordered ruleset with citations, not as fields on a district record. Ask any developer how they would represent a rule that applies only when two other conditions hold, and how the interface would show which rules bound the result. If the answer is a column per standard, overlays will break it in month two.

They forecast infeasibility instead of reporting deadlines. The entitlement path should be a dependency network with durations calibrated from your own completed projects rather than from published municipal targets, scheduled backwards from the option closing date. The valuable alert is not a date approaching, it is a statement that at current progress this site cannot be entitled before the deposit hardens, so decide now whether to extend, renegotiate or walk. A task list with due dates is not the same thing and will not save a deposit.

They keep the yield connected to the underwriting. When a density bonus concession is refused and the unit count drops, the residual land value should update the same day and the acquisitions committee should see the new bid ceiling, rather than a pro forma continuing to model a scheme the entitlement path has stopped supporting.

They keep humans in the interpretation. Ambiguous code language should carry a note on how the planning department currently reads it, sourced from your own team, because the operative interpretation is theirs and not the text's.

Finally, settle ownership before kickoff: the repository, the infrastructure accounts, the encoded rulesets and the right to hire anyone else. At Digital Heroes that is the default from the first commit. The encoded local knowledge is the real asset in this category, since it represents years of what your team learned about how each jurisdiction actually behaves, and it should never sit in a vendor's account.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. Across more than 5,400 IT projects studied by McKinsey and the University of Oxford BT Centre, large IT projects ran on average 45% over budget and 7% over schedule while delivering 56% less value than predicted. Source: McKinsey & Company / University of Oxford (BT Centre for Major Programme Management) (2012) →
  2. Per the Standish Group CHAOS 2020 report (reviewed at this URL), across tens of thousands of software projects roughly 31% end successfully, about 50% are 'challenged', and roughly 19% fail outright; small projects succeed far more often than large ones, and Agile approaches succeed at markedly higher rates than Waterfall. Source: The Standish Group (2020) →
  3. The average developer spends more than 17 hours a week dealing with maintenance issues such as debugging and refactoring, and about four of those hours on 'bad code' - waste that equates to nearly $85 billion annually worldwide in opportunity cost. Source: Stripe (2018) →
  4. 88% of customers say good customer service makes them more likely to purchase from a brand again in the future, quantifying the direct revenue link between support quality and retention. Source: HubSpot (2024) →
Karan M. · Senior Shopify Engineer · Enterprise · Delhi

Karan handles enterprise Shopify work at Digital Heroes, the builds with large catalogs, multiple regions, legacy systems to connect and traffic spikes to survive. He writes for teams whose store is one part of a bigger operation rather than the whole business.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

Our zoning tool missed an overlay and we lost a deposit. How do we stop that recurring?
Stop accepting a single number as an answer. The envelope should arrive with every binding rule listed and its code section cited, so a user can see that height was limited by an airport overlay rather than by base zoning, and can see which rules were not consulted at all. The structural fix is expressing rules as an ordered ruleset rather than as fields on a district record, and marking any jurisdiction that is only partly encoded as partly encoded rather than returning a default.
How many jurisdictions should we encode in the first release?
Three or four, encoded to the depth where the derivation is trustworthy, then add more as a repeatable unit of work with a stated cost and duration each. Jurisdiction count is the dominant cost variable in this category because codes do not share structure, right down to how height is measured. Tier your markets deliberately: full encoding where you buy regularly, a lighter screening model where you look occasionally, and honest blanks elsewhere so nobody mistakes a gap for an answer.
What happens to our records when a parcel is split or merged?
If the assessor parcel identifier is your key, the file breaks: analysis, milestones and documents all point at an identifier that no longer exists. Model the site as a project entity that holds one or more parcels over time, so a merge or split changes the parcel set without orphaning anything, and keep the full identifier history as aliases. This matters constantly in practice because a site under option is frequently several parcels that will become one before you close.
Who keeps the encoded rules current when a city amends its code?
Somebody has to, and if the answer is not a named person with a named budget in the contract, it will not happen and your file will quietly diverge from the law. Rules also need effective dates and versions, with every saved analysis recording which versions it used, so an analysis run last March remains reproducible as it was made. Without that, a rule updated today silently changes what your file says about a decision taken months ago.
Can software watch for planning agendas and code amendments automatically?
It can read them and surface them, and that is where it should stop. Agendas, staff reports and amendment notices are published as documents across hundreds of separate city websites, so an extraction pipeline that matches them to your parcels catches a neighbouring rezoning or a proposed moratorium before it becomes a surprise. Monitor expected publication cadence rather than only errors, because a scraper broken by a website redesign returns nothing and looks identical to a quiet month.
Is Zoneomics or Gridics enough for our team?
For a developer working in one or two jurisdictions, or holding fewer than about ten options at a time, yes, and the money is better spent on local land use counsel who knows how the planning director reads the code. Those products give you national coverage and a normalised district code, and Gridics models capacity in depth where it has encoded. What they do not model is your option agreement, your deposit schedule, your entitlement critical path or your prototype plans.
Why do utility and capacity issues arrive so late?
Because the enquiries are usually started after entitlement rather than during due diligence, and each one has a lead time of its own. A conditional will serve letter, a lift station at capacity, a long transformer lead time or a failed concurrency test can each change a scheme after the deposit has hardened. Put capacity enquiries on the entitlement path as tasks with their own durations, and record responses with their conditions and expiry dates, since a stale will serve letter is worse than none.
What kind of alert actually saves a deposit?
One that forecasts infeasibility rather than reporting a date. Model the entitlement path as a dependency network with durations calibrated from your own completed projects, not from published municipal targets, and schedule backwards from the option closing date. The useful message is that at current progress this site cannot be entitled before the deposit hardens, attached to the cost of extending including fees, carry and consultant burn, so the committee decides to extend, renegotiate or walk with real numbers.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
How do I vet a software agency before hiring them to build a PM tool?
Ask to click through a workflow tool they shipped, live rather than in screenshots, and get a reference from a client whose system has been in production for over a year. Then ask two questions that expose weak vendors: how they migrate data out of your current tool, and what their maintenance retainer covered for that reference client last quarter. An agency that has genuinely shipped project management software answers both in specifics.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
What security features does custom project management software need?
The non-negotiables are single sign-on, role-based permissions, encryption in transit and at rest, and an audit log of who changed what. If client work under NDA lives in the tool, custom actually improves your position, because you can run single-tenant on your own cloud account instead of shared SaaS infrastructure. You only need SOC 2 certification if you plan to sell the tool to others; for internal use, an annual penetration test is the sensible spend.
Which integrations should a custom project management tool have?
Start with the three that move money and attention: Slack or Teams for notifications, calendar sync for deadlines, and your accounting tool such as QuickBooks or Xero so tracked time flows into invoices without retyping. Development teams usually add GitHub or GitLab so tasks close when code merges. Each solid two-way integration adds roughly 1 to 2 weeks of build time, so rank them by hours saved per week rather than wishlist order.
Should I customize Jira with plugins or just build our own tool?
If two or three Marketplace apps close the gap, stay on Jira, since it starts around $8 per user per month and the apps ride on top. The trap is that cloud apps are licensed for every user on the instance, so in Digital Heroes audits a 200-seat Jira with three or four paid apps plus a ScriptRunner consultant often lands at $30,000 to $50,000 a year. At that run rate a custom tool scoped to your actual workflow pays for itself in two to three years and ends the plugin upgrade treadmill.
How long does it take to build a custom web or mobile app from scratch?
Plan on 8 to 16 weeks for a focused first version and 4 to 9 months for a larger platform, which is the typical spread across Digital Heroes builds. The first 2 to 3 weeks go to discovery and design before any production code ships. The two things that stretch timelines most are integrations with legacy systems and slow feedback from your side, not developer speed.
Can we move our existing Asana or Jira data into a custom tool?
Yes. Both expose full export APIs, and projects, tasks, comments, and assignees come across cleanly; Digital Heroes typically runs migration as a 2 to 4 week workstream in parallel with the build. The awkward parts are attachments, automation rules that must be rebuilt rather than imported, and deciding how much closed historical work to carry over. Migrate active projects fully and keep the rest as read-only archive exports.
What's the most common mistake companies make when building their own PM tool?
Chasing feature parity with Asana or Jira. Across 2,000+ Digital Heroes projects, the builds that blow their budgets are the ones recreating Gantt charts, portfolio dashboards, and mobile apps nobody asked for, while the builds that succeed go deep on the two or three workflows that made the team leave their old tool. You are not competing with Asana's roadmap; you are replacing the 20 percent of it you actually use.
Who can build a custom project management software system?

Digital Heroes builds custom project management software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other project management software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?