Problems & solutions · Custom Software

Legislative Drafting and Bill Tracking Software Problems: The 5 That Produce Defective Law, and How to Avoid Them

Legislative Drafting AND Bill Tracking Software code editor and API illustration showing common problems and fixes.
The short answer

The failure that produces defective law is modelling a bill as a document rather than as a set of amendment actions against a citable unit of your code. When a human types the strikeouts, nothing in the file knows which section, subsection and paragraph the bill actually changes, so conflict detection between live bills, automatic engrossing and codification of the enrolled act all become impossible. Every downstream accuracy promise then depends on a person reading carefully under a session deadline, and the cost of one miss is a statute that does not say what the legislature voted for, fixed by another bill next year or by litigation.

Why does the data model get scoped as documents so often?

Because that is what everyone sees. Drafters work in a word processor, the output is a document, the chamber prints documents, and the request in the room is usually described as making the drafting tool better. A developer without legislative experience hears documents with versions and builds a content management system, which is a competent piece of software solving the wrong problem.

The tell appears in the first design review. If the schema has a table called documents and a version number, and the amendatory display is produced by a person marking text, then the machine never learns what the bill does. Strike and insert becomes a picture of an amendment rather than a description of one.

The correct shape is that your codified law is held as structured data down to the smallest citable unit your jurisdiction uses, and a bill is a set of actions against that structure: amend this paragraph, repeal this section, create a new chapter. The amendatory view is then generated as a difference between current and proposed text, rendered in your chamber conventions, and the drafter edits the target text directly.

Test this before funding anything. Put a real section of your own code on a whiteboard, ideally one containing a table or a deeply nested paragraph, and ask the developer to model a single amendment to it. A team that has done this will immediately ask how you cite the smallest amendable unit and what happens when a subsection is renumbered.

What goes wrong when you convert your existing code into structured form?

It is the largest line in the project and the one most often quoted as a data migration. What you are actually doing is converting a body of law, produced over many decades by many hands, into a structure precise enough that a machine can address any paragraph of it unambiguously.

The problems are specific. Numbering conventions changed over time, so a chapter enacted in one era nests differently from one enacted in another. Some sections contain tables, formulas or maps that do not decompose cleanly. Historical notes, source credits and annotations are interleaved with operative text and only sometimes distinguishable by formatting. Repealed and reserved sections have to be represented rather than dropped, because bills still cite them. And whatever your commercial publisher hands you is shaped for printing rather than for addressing.

The other trap is treating conversion as a one time event. Errors will be found for years, so you need a correction workflow with an approver, a reason and a history, and you need to know which bills were drafted against a section before it was corrected.

Scope conversion as its own funded workstream with its own acceptance criteria, running before the drafting editor is built rather than beside it. Accept the sections that convert cleanly, quarantine the awkward ones for expert handling, and require the developer to demonstrate round tripping on your ugliest chapter before you accept the approach.

Why does bill tracking break once real procedure meets it?

Because commercial tracking products model a bill as a row with a status, and your chamber does not work that way. Readings must occur on separate days unless a rule is suspended. Referral depends on subject and sometimes on a second referral for fiscal impact. Crossover deadlines kill bills that have not moved. A bill can be recommitted, laid on the table, discharged from committee by petition or die in conference. Fiscal notes run on their own clock with their own author.

A status field records history. It cannot prevent a mistake, cannot build a calendar from the bills that are genuinely eligible, and cannot tell a member's office what happens next in any useful way. So clerks keep parallel spreadsheets, and the spreadsheets become the real system while the software becomes the place things are typed afterwards.

The second failure is chamber divergence. The two chambers rarely agree on conventions, and a build that models one and configures the other usually ends up modelling the first properly and bolting exceptions onto the second. Both sets of rules need to be data from the start.

Encode the rules, and make the system refuse or warn before a procedurally invalid action is recorded. Then the calendar, the journal and the daily status report all fall out of the same event stream rather than being assembled by hand at the end of a long day.

What happens when engrossing, enrolling and codification are left for phase two?

You get a system that drafts well and hands off to the same manual work you were trying to eliminate, at exactly the point where errors become law.

Engrossing means incorporating adopted amendments so the version moving forward reflects what was voted. Enrolling produces the final version for signature. If amendments are structured actions, both are computations and the human task shrinks from checking whether text was applied correctly to checking whether the right amendments were marked adopted, which is a far smaller and safer surface. If amendments are documents, both remain typing jobs against a floor deadline.

The deeper cost is codification. When the enrolled act carries structured amendment actions, updating the statutes becomes an assisted process where the system proposes changes and the revisor approves each one, with effective dates applied per section so the code can be rendered as of any date. When it does not, the revisor's office does the same manual work it always did, and the point in time capability that turns a research project into a query never arrives.

You do not have to build all of it in the first release, and you should not. What you must do is make the first release produce the structured record the later phases need, because retrofitting that means redrafting every bill written in the interim.

Should you build custom or buy from the two vendors who serve this market?

Talk to Xcential and Propylon before you talk to anyone else. This is a small market and both have delivered real legislative systems. Xcential built LegisPro as a markup based drafting environment with genuine experience of legislative schemas, including the work around Akoma Ntoso and the markup used federally. Propylon has delivered drafting and codification for multiple jurisdictions and understands the codification end deeply. If your amendment conventions, journal format and referral rules sit comfortably inside what either product already models, buy, and do not let anyone talk you into a bespoke programme.

The build case is fit and control rather than capability. Configuration surfaces are large but finite, and if your conventions fall outside them you are funding a change request queue at a vendor who is simultaneously serving legislatures with different conventions. The other argument is longevity. A drafting and codification system is a twenty year asset and the alternative supplier pool is very small, so some jurisdictions decide that owning the schema, the converted code and the repository outright is worth a higher initial cost. That is a defensible institutional position rather than a technical preference.

If you only watch bills, do not build any of this. A lobbying firm, trade association or agency needs a tracking subscription, and the drafting engine and codification pipeline are the expensive parts you would never touch.

How do hidden costs get into a legislative software quote?

Five places. Code conversion is first and largest, and it depends entirely on what shape your current publisher hands you the text in. Ask for a sample of your ugliest chapter and have it converted before anyone commits to a number.

Second is chamber divergence. Two chambers with different amendatory conventions, different journal formats and different committee rules is closer to two projects than one, and quotes written against one chamber routinely miss it.

Third is the public facing side. Your bill site is held to accessibility standards that no vendor demonstration will show you, and it should share a data model with the internal system rather than being fed by an export. Retrofitting accessibility into a published site late is expensive and visible.

Fourth is integration with the chamber's existing infrastructure: the voting system, the calendar, the fiscal note process and whatever the clerk's office already runs. Each is a separate negotiation as much as a separate build.

Fifth is the calendar itself. There is one non negotiable scheduling rule in this category: go live between sessions. A drafting cutover during session is not a risk to be managed with a rollback plan, because your drafting attorneys have no capacity to learn a new tool while bills are moving and the deadlines are fixed. A slipped delivery therefore does not cost weeks. It costs a year.

What separates a drafting system that works from one that gets abandoned?

Three things. The first is that drafters were in the room from the beginning and their conventions were treated as requirements rather than preferences. Drafting offices have precise habits about how amendatory text appears, how repeals are shown, how a new section is numbered against reservations the revisor holds. Software that gets those wrong is rejected quietly, by people continuing to use their word processor, and you will not hear about it until the session ends.

The second is conflict detection that works on structure rather than on text. When two live bills touch the same paragraph, the system should flag both bill numbers and the specific unit in week three, not at enrollment when volume has tripled and reading capacity has not. This is the highest value automated feature in the category and it is only possible if the model is right.

The third is ownership. The repository, the schema and the converted statute data should be yours from the first commit, with the right to hire anyone else at any point. The converted code alone is a multi year institutional asset, and in a market with very few suppliers, the ability to move is the only real negotiating position you have.

Research & sources

The evidence behind this guide

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

  1. Median SaaS spend reached $9,455 per employee, and organizations leave an average of 36% of their SaaS licenses unused. Source: Zylo (2026) →
  2. McKinsey found that tech debt can amount to 20-40% of the value of a company's entire technology estate before depreciation, and CIOs report that 10-20% of the budget for new products is diverted to resolving tech-debt issues. Source: McKinsey & Company (2020) →
  3. A study (led by Prof. Pak-Lok Poon, published in Frontiers of Computer Science, 2024) reviewing decades of spreadsheet-quality research found that about 94% of spreadsheets used in business decision-making contain errors, illustrating the hidden risk of manual spreadsheet workarounds that custom software is built to replace. Source: Central Queensland University / phys.org (Prof. Pak-Lok Poon et al.) (2024) →
  4. 73% of surveyed businesses now use a headless architecture (up nearly 40% since 2019), and 98% of those not yet using it are evaluating or planning to evaluate headless within 12 months, with 82% saying it makes delivering consistent content easier. Source: WP Engine (2024) →
Anurag Singh · Operations Head · Delhi

Anurag keeps delivery moving across Digital Heroes: staffing projects, watching capacity, and catching the schedule problems that show up weeks before anyone calls them a delay. Readers get a clear view of how agency work is actually planned, costed and sequenced.

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

FAQ

Frequently asked questions

How do we tell whether a developer understands legislative drafting before we hire them?
Put a real section of your own code on a whiteboard, ideally one with a table or a deeply nested paragraph, and ask them to model a single amendment to it. A team that has done this asks immediately how you cite the smallest amendable unit and what happens when a subsection gets renumbered by another act. A team that starts by drawing a documents table with version numbers is building a content management system and will learn legislative drafting on your budget and your session calendar.
Why is converting our existing code the biggest line in the project?
Because you are turning decades of law written by many hands into a structure precise enough to address any paragraph unambiguously. Numbering conventions changed over the years, tables and formulas do not decompose cleanly, annotations and source credits are interleaved with operative text, and repealed or reserved sections must be represented rather than dropped because bills still cite them. Whatever your publisher supplies is shaped for printing, not for addressing.
Can we phase codification into a later release?
Yes, and you generally should, but the first release must produce the structured amendment actions that codification will later consume. If bills drafted in the interim only carry typed strikeouts, you will have to redraft or reconstruct all of them when the codification phase begins. Build the record first even if you do not build the pipeline that reads it for another year.
Why does a status field fail as a bill tracking model?
Because your chamber runs on rules, not statuses. Readings on separate days, subject based referral with possible second referral for fiscal impact, crossover deadlines, recommittal, tabling, discharge by petition and death in conference are procedural facts a status label cannot express. Encoding the rules lets the system build the calendar from genuinely eligible bills and warn a clerk before an invalid action is recorded, which is the difference between recording history and preventing mistakes.
Should we adopt a standard legislative markup schema or design our own?
Neither answer is automatically right, but your developer should be able to explain the trade clearly. A recognised schema improves your ability to exchange data and to move suppliers later. A schema shaped to your conventions can express your amendatory practice more naturally and may need less transformation at every step. What matters most is that whichever you choose, the schema and the converted data belong to you and are documented well enough for another team to pick up.
When must a new drafting system go live?
Between sessions, without exception. Drafting attorneys have no spare capacity to learn a new tool while bills are moving against fixed deadlines, and a cutover during session is a decision rather than a manageable risk. The practical consequence is that a slipped delivery does not cost you weeks, it costs a year, so build schedule contingency around the session calendar rather than around the development plan.
Do the two chambers really need separate treatment?
Usually yes, and quotes written against one of them routinely miss it. Chambers commonly differ on amendatory display conventions, journal format, committee referral rules and how substitutes are handled, so a build that models one properly and configures exceptions for the other tends to serve the second chamber badly. Model both rule sets as data from the start and have both clerks review the same design.
We only track bills rather than draft them. Should we build anything?
No. If you are a lobbying firm, trade association or agency watching legislation, buy a tracking subscription and spend the difference on analysts. The drafting engine, the structured code repository and the codification pipeline are the expensive components and you would never touch any of them. The build case begins at the institution that produces the law, meaning a legislature, its legislative counsel or revisor office, or a large municipal code authority.
How much should a small business expect to pay for custom software?
Across 2,000+ Digital Heroes projects, a small business system that replaces spreadsheets or one core workflow typically lands between $40,000 and $80,000, with more complex first versions running up to $150,000. The two levers that move the number most are integrations and user roles, not the team's hourly rate. Any quote under $15,000 for a full production system means the vendor has not understood your scope yet.
Is a solo freelancer enough for my project, or do I really need an agency?
A solo freelancer is a fine choice for a well-defined build under roughly $15,000 to $20,000 with a limited lifespan: an internal calculator, a scripted integration, a prototype. Above $50,000, or for any system your business will depend on for years, you are buying continuity as much as code: enforced code review, cover when someone is ill, and support that outlasts one person's career plans. Price the risk of a single point of failure, not just the hourly rate.
What happens if I stop paying for maintenance after launch?
Nothing breaks on day one, which is what makes it dangerous. Within 6 to 18 months, unpatched dependencies accumulate known vulnerabilities, an integrated API like Stripe ships a breaking change, and the first fix requires a developer to relearn a stale codebase at full price. Budget 15 to 20% of the build cost per year for upkeep; it is the difference between a $500 patch and a $15,000 emergency.
If we build for 20 users now, will the software cope with 500 later?
It should, without a rewrite, if it was built on a standard cloud stack; going from 20 to 500 users is mostly a hosting configuration change costing hundreds a month, not a second project. What actually breaks under growth is sloppier work: database queries never indexed for volume and features designed assuming one office's worth of data. Before signing, ask the vendor what happens to the system at ten times today's data, and listen for a specific answer.
How many people should be working on my software project?
A typical $40,000 to $150,000 build runs on three to five people: a technical lead, one or two developers, a designer, and someone owning QA and project communication, often as overlapping part-time roles. More bodies do not make software arrive faster; past a point they slow it down with coordination overhead. The question that matters more than headcount is whether one named senior engineer is accountable for the outcome.
Our developer disappeared mid-project. Can another team pick up the code?
Yes, this is a routine engagement, provided the code exists somewhere you can access, so your first move is securing the repository, hosting, and domain credentials today. A takeover starts with a one to two week paid code audit that ends in one of three verdicts: continue the build, keep the design but rebuild the weak parts, or start over. Digital Heroes has inherited enough projects to say plainly that sometimes the rebuild is cheaper than the rescue, and an honest agency will tell you which one you have before taking your money.
How long does it take from first call to software my team can actually use?
Plan for four to six months: two to three weeks of discovery, two to four weeks of design, then a 10 to 16 week build with testing. In Digital Heroes delivery experience the schedule killer is not engineering speed but decision lag; a client who takes two weeks to approve wireframes adds two weeks to launch. Book a weekly 30-minute decision slot before kickoff and most of that risk disappears.
If an agency builds my software, who actually owns the code?
You should own everything, assigned in writing: the contract transfers full IP to you on final payment, the code lives in your GitHub organization, and hosting runs in cloud accounts you control. The red flag is a proposal that mentions the agency's proprietary platform or framework, which usually means you are renting, not buying. Digital Heroes structures every build this way precisely so a client can fire us and lose nothing but the relationship.
What is the biggest mistake first-time software buyers make?
Choosing the lowest quote without asking why it is the lowest. A bid 40% under the field usually gets there by skipping tests, documentation, and code review, which are invisible in a demo and brutal to pay for later; every stalled project Digital Heroes has been asked to rescue tells some version of that story. The second mistake is signing without a written scope, which reliably turns the winning cheap quote into 1.5x to 2x the price by launch.
Does it matter which tech stack the agency wants to use?
Yes, but not in the way most buyers expect: the goal is boring, popular technology such as React, Node.js or Python, and PostgreSQL, because any future team can maintain it and hiring a replacement developer takes days, not months. The red flag is an agency-proprietary framework or an unusual language, which welds you to that one vendor no matter what your contract says about code ownership. A useful test: could you find three freelancers fluent in this stack within a week? If not, push back.
Who can build a custom software system?

Digital Heroes builds custom 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 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?