Problems & solutions · Custom Software

Compound Registration and Screening Software Problems: The 6 That Corrupt Structure Activity Data, and How to Avoid Them

Compound Registration AND Screening Software code editor and API illustration showing common problems and fixes.
The short answer

The most expensive failure in compound registration software is attaching assay results to a parent compound rather than to the batch that was actually tested. Batches of the same parent differ in purity, salt form, supplier and solid state, so a single bad lot then contaminates the whole analogue series, and nobody can explain why one point does not fit the trend. Chemists do not see a data error. They see a structure activity relationship, abbreviated SAR, that tells them to abandon a series or to defend one, and they act on it for months. The cost is not a support ticket. It is synthesis time, screening spend and a programme decision made on evidence that was never sound.

Why does registration get scoped as a catalogue of structures?

Because from outside the laboratory it looks like one. Structures go in, identifiers come out, people search them. Any competent development team can build that in a few sprints, and the result will be wrong in a way that only becomes visible once several thousand compounds are in it.

What makes registration hard is that identity is a policy, not a calculation. Before you can decide whether an incoming structure is new, somebody has to decide how tautomers are handled, whether charges and salts are stripped, how stereochemistry is perceived, what happens with isotopes, and whether a defined single enantiomer and its racemate are the same registration or two. Those decisions produce the identity key, and an international chemical identifier such as InChI is a reasonable basis for that key, but the standardisation choices in front of it determine everything downstream.

The organisational half is harder still. A chemist submits and the system reports a duplicate. Sometimes that is correct and valuable. Sometimes it is a false match created by a normalisation rule the chemist disagrees with, and if there is no documented override path with a reviewer, the chemist keeps a spreadsheet instead and your collection quietly develops a shadow.

So the first release should not be a catalogue. It should be the policy written down, versioned, implemented, and a registration workflow with duplicate detection, reviewed override and corrections handled as versioned identity. Get one person authorised to decide registration policy before anyone writes code. Projects that try to reach consensus across every chemist take a quarter longer and land somewhere nobody defends.

What goes wrong when you re-register a legacy collection?

This is the largest hidden cost in the category and the most common reason a project stalls.

Twenty years of compounds were registered under conventions that changed several times, often informally. Push them through one modern normalisation policy and thousands of conflicts appear: pairs that were separate registrations and now collapse to one, single registrations that now split, stereochemistry that was undefined and is now perceived differently, salts recorded as parents. Each conflict is a chemistry judgement, and only a chemist can make it. There is no import script that removes this.

Three things keep it survivable. First, do not migrate everything on day one. Move the active collection and recent assay data, keep the legacy system available read only, and re-register historical compounds in waves as programmes need them. Second, treat adjudication as scheduled staffed work with a named owner and a weekly rate you can actually sustain, not as a data cleanup sprint. Third, never let a migration silently change what a published or reported result referred to. If a historical registration collapses into another, the old identifier must remain resolvable and must point somewhere honest, because it appears in reports, patents and papers that you cannot edit.

The related trap is assay history. Results carry the assay protocol version that produced them, and legacy data often does not record which version was in force. Import it with an explicit unknown rather than assuming the current one, because a silent assumption becomes a comparison across incompatible protocols and nobody will spot it in a table.

Why do instrument and liquid handler feeds break after launch?

The reader parser is the integration everyone expects to break, and it does, but predictably: a firmware update changes a header, an export template gets edited by a scientist to add a column, and the parser silently mismaps. The defence is validation rather than tolerance. Check the plate dimensions, the expected control positions and the value ranges on every file, reject anything that does not match with a clear message, and never let a parser guess. A file that fails loudly costs an hour. A file that parses wrongly costs a series.

The liquid handler is the integration people forget, and it matters more. The plate map must come from what the handler actually did rather than from what a scientist intended, because those two diverge whenever a tip fails, a source well runs dry or a run is repeated on a different layout. If your system takes the intended map, then one shifted row turns every result on that plate into a confident lie. Ingest the handler's own output, reconcile it against the intended layout, and surface differences as exceptions.

The third is the electronic lab notebook, and it breaks on ownership rather than transport. If both the notebook and the registration system believe they own the compound record, they diverge within a month. Decide which one is authoritative for identity, make the other reference it, and never synchronise both directions on the same field. The same rule applies to inventory and ordering systems: one owner per fact.

What happens when assay versioning and audit trail are not covered?

Two gaps sit outside the obvious scope and both damage the data rather than the software.

Assay definitions change. A protocol is amended, a cell line is replaced, a reference compound shifts, a detection method is swapped. If results do not carry the protocol version that produced them, a chart plotting three years of a single assay is comparing measurements that are not comparable, and the trend it shows may be an artefact of a protocol change. Version the assay, stamp the version on every result, and make any view that spans a version boundary say so rather than smoothing over it. The same applies to curve fitting: the rules that decide when a fit is not reportable belong in the system with a version, not in one scientist's judgement applied inconsistently.

The audit trail is the second. Registration data becomes the memory of the research organisation and it is read in invention records, in due diligence and in data integrity questions. Every structure correction, every override of a duplicate warning, every manual result edit and every batch reassignment needs the person, the timestamp and the reason, stored append only. Corrections in particular must be versioned rather than overwritten, because a structure proven wrong after two years of assay data has to be correctable without orphaning that data or silently changing what earlier reports meant. That is the single design decision most often deferred and least possible to retrofit.

The third routinely uncovered gap is access control across projects. Collaborations, partnered programmes and confidential series all need selective visibility, and bolting that on after the query layer exists usually means rewriting the query layer.

Should you build custom or configure what you already own?

If you are under roughly fifteen scientists working on small molecules, buy CDD Vault. It is well built, inexpensive relative to the category, and a custom build at that size is a distraction from making compounds. If your entity model matches theirs reasonably well, Dotmatics has real depth across registration, assay data and querying, and Benchling is strong where biologics entity modelling is central. Revvity Signals and Schrodinger LiveDesign both bring capable analysis layers on top. These are serious products with real chemistry behind them, and adopting one is the right decision far more often than a vendor selling custom development will admit.

Configure before you build in one common case. Teams frequently blame a product for a problem that is actually an unwritten registration policy, and no software will resolve a disagreement about whether a racemate and its enantiomer are the same registration. Write the policy first. Sometimes the product then fits.

Build when two or more of these are true. Your registration conventions carry decades of history and adopting a vendor's rules would invalidate historical identity. You work across modalities that no single product models properly, meaning conjugates with linker, payload and drug to antibody ratio, peptides with non natural residues, oligonucleotides with modified backbones, or strains and cell lines as first class entities. Your screening cascade has assay specific normalisation and reportability rules living in one scientist's spreadsheet. Per seat licensing has pushed half your organisation back into Excel. Or query performance on the full collection is bad enough that chemists have stopped asking questions, which is the most expensive failure here and the hardest to see because it produces no complaints.

How do hidden costs get into the quote?

Legacy re-registration is the first and largest, and it is chemist time rather than engineering time, which is why it rarely appears in a development quote at all.

Modality count is the second. Each additional entity type is a data model, a registration rule set and a user interface, not a field on a form. A quote for compound registration is priced for small molecules unless it says otherwise.

Instrument parsers are the third, and the trap is the plural. A line reading instrument integration covers one reader, and every additional model, and sometimes every additional export template, is separate work with its own validation.

Substructure search performance is the fourth, because acceptable response times at collection scale need fingerprint screening and a proper chemical index rather than a filter over a table, and retrofitting that means changing the storage layer. Notebook and inventory integration is the fifth. And the sixth is your own people: agreeing the registration policy across chemists who have held different conventions for years is the item that most often sets the schedule, and it belongs to you rather than to any developer.

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

Appoint one registration policy owner with authority to decide, and write the policy down before code starts. Organisations that do this move dramatically faster than those seeking consensus, and the written policy is also the specification.

Make the parent to batch to sample to well chain visible on one screen from the first release. When a chemist questions a number six months later, they should be able to trace it from the table back to the specific vial, the specific plate well and the raw reading without asking anyone. That single capability is what most spreadsheet based organisations are actually paying for, and it is what stops bad lots from quietly discrediting a series.

Commit to a search response time at your real collection size before you sign, and have the developer demonstrate it on representative data rather than on a sample. Chemists who wait stop asking, and a query nobody runs is a feature that does not exist.

Validate every incoming file rather than tolerating it. Reject on unexpected plate dimensions, missing controls or out of range values, with a message a scientist can act on. Silent tolerance is how one shifted row becomes a year of misdirection.

Finally, settle ownership in writing before kickoff: the repository, the infrastructure accounts and the right to hire anyone else to continue. At Digital Heroes the client owns the code from the first commit. A registration system becomes the long term memory of your research organisation, and that memory cannot sit inside a vendor relationship you might one day want to end.

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. Companies in the top quartile of McKinsey's Developer Velocity Index had 2014-18 revenue growth four to five times faster than bottom-quartile peers, showing that software-building capability is a driver of business performance, not just a support function. Source: McKinsey & Company (2020) →
  3. Retailers connecting point-of-sale and loyalty data in an omnichannel strategy reported up to 15% lower cost per purchase and nearly 20% higher incremental store revenue. Source: Deloitte (2024) →
  4. Gallup reports global employee engagement fell to 20% in 2025 (its lowest since 2020, down from a 2022-2023 peak of 23%), and estimates low engagement costs the world economy an estimated $10 trillion in lost productivity, or 9% of global GDP. (Note: this figure appears in Gallup's evergreen State of the Global Workplace page, currently reflecting the 2026 edition reporting on 2025 data.). Source: Gallup (2025) →
Olivia N. · Performance Marketing Lead · New York

Olivia runs paid media: budgets, creative testing, tracking setup and the reporting that tells a client whether any of it worked. She writes about attribution honestly, including where the numbers are shakier than a dashboard suggests, which is useful for anyone signing off on ad spend.

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

FAQ

Frequently asked questions

Why must assay results attach to a batch rather than a compound?
Because batches of the same parent differ in purity, salt form, supplier and solid state, so a result attached to the parent lets one poor lot contaminate an entire analogue series. Keeping parent, batch, sample and plate well as separate linked objects means an outlier can be traced to the specific material and the specific well that produced it. Without that chain nobody can explain why one analogue breaks the trend, and the series gets abandoned or defended on bad evidence.
How much of a legacy collection should we re-register on day one?
As little as you can defend. Move the active collection and recent assay data, keep the legacy system available read only, and re-register historical compounds in waves as programmes need them. Every wave surfaces normalisation conflicts that a chemist has to adjudicate by hand, so schedule that as staffed work with a named owner and a sustainable weekly rate rather than treating it as a cleanup sprint that will finish.
What happens to old identifiers when a legacy registration collapses into another?
It must remain resolvable and point somewhere honest, because that identifier appears in reports, patents and papers you cannot edit. A migration that silently changes what a published result referred to has created a data integrity problem that will surface during due diligence rather than during testing. Treat identifier resolution across the migration boundary as a requirement, not as a nicety.
Why is the liquid handler output more important than the intended plate map?
Because the two diverge whenever a tip fails, a source well runs dry or a run is repeated on a different layout, and a system built on the intended map turns one shifted row into a plate full of confident wrong answers. Ingest what the handler actually did, reconcile it against the intended layout, and surface differences as exceptions for a human rather than resolving them silently.
Do assay results really need a protocol version?
Yes, and its absence is why long range trend charts mislead. When a protocol is amended, a cell line replaced or a detection method swapped, results before and after are not directly comparable, and a chart that spans the change can show an artefact as a trend. Stamp the version on every result and make any view crossing a version boundary say so. Import legacy results with an explicit unknown rather than assuming the current version.
How should a structure correction be handled after results exist?
As versioned identity, never as an overwrite. The correction must be possible without orphaning two years of assay data and without silently changing what earlier reports meant, which means preserving the prior structure, recording who corrected it and why, and keeping both resolvable. This is the design decision most often deferred and least possible to retrofit, so raise it before anyone designs a schema.
Why is substructure search performance a design decision rather than a feature?
Because a naive implementation scans every structure and becomes unusable well before a collection reaches meaningful size, and chemists respond by no longer asking questions, which is invisible because nobody files a complaint about a query they did not run. Acceptable performance needs fingerprint based screening with a proper chemical index in front of the exact match step. Ask for a committed response time on representative data before you sign.
Which costs are most often missing from a discovery informatics quote?
Legacy re-registration, because it is chemist time rather than engineering time. Modality count, since each additional entity type is a data model and interface rather than a field, and a quote is priced for small molecules unless it says otherwise. Instrument parsers in the plural, as each reader model and sometimes each export template is separate validated work. And your own time agreeing the registration policy, which is usually what sets the schedule.
What does a $50,000 custom software budget actually buy?
One core workflow done properly: 10 to 15 screens, two or three user roles, a couple of integrations, an admin panel, and automated tests, delivered in roughly 12 to 14 weeks. What it does not buy is that workflow plus a mobile app plus AI features plus five more integrations. The discipline of picking the one workflow that matters is what separates $50,000 projects that ship from $50,000 projects that stall at 70% complete.
Should I hire a freelancer or an agency for my software project?
A skilled freelancer is the right call for a single-discipline scope under roughly $15,000, like a website, a plugin, or one integration. Above that, projects need design, backend, testing, and project management at once, and a solo builder becomes the single point of failure: if they get sick or take a bigger client, your project simply stops. Agencies bill 20-40% more per hour but carry continuity, code review, and someone to escalate to, which is what you are actually buying.
How do I vet a software development agency before signing a contract?
Ask to speak with two past clients whose projects resemble yours in size and industry, and ask exactly who will write your code, since some agencies sell senior faces and deliver junior or subcontracted hands. Demand a written specification with acceptance criteria before any fixed price, and check that their portfolio links to products that are actually live. An instant quote given without questions about your workflows is the clearest warning sign there is.
Will custom software work with the tools we already use, like QuickBooks and Stripe?
Yes, and this is one of custom software's genuine advantages: QuickBooks, Stripe, Shopify, and most mainstream business tools publish documented APIs built for exactly this. Expect each standard integration to add one to two weeks of build time, and be suspicious of any quote that lists five integrations without asking what data flows in which direction. The hard cases are legacy systems with no API, which is a question to raise in discovery, not in week nine.
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.
Is it cheaper to customize Salesforce than to build a custom CRM from scratch?
If you use less than a third of what Salesforce does, a custom CRM is often cheaper by year three. Salesforce Enterprise lists at $165 per user per month, so 25 seats cost about $49,500 a year before admin and consultant fees, while a focused custom CRM runs $60,000 to $100,000 once plus 15 to 20% a year in maintenance. If you genuinely need Salesforce's ecosystem, reporting, and app marketplace, customizing it beats rebuilding it; the mistake is paying enterprise prices to use it as a glorified contact list.
Couldn't I just build my app in Bubble or another no-code tool instead of hiring an agency?
For validating an idea with real users, yes, and we tell clients that honestly. The walls come later: Bubble apps cannot be exported as code to run anywhere else, performance drops on complex data operations, and usage-based pricing climbs as you grow. A meaningful share of Digital Heroes custom builds are rebuilds of no-code MVPs that proved the business worked, which is the system operating as intended: validate cheap, then build the version that scales.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
How many SaaS seats do we need before building custom becomes cheaper?
The crossover usually shows up between 20 and 50 seats on premium tiers. Salesforce Enterprise lists at $165 per user per month, so 40 users cost about $79,000 a year in subscriptions, which is real money against a custom system you would own outright. Run the comparison over three years: if subscription spend beats the build cost plus 15-20% annual maintenance, custom wins on price before you even count workflow fit.
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.
What should I have ready before I contact a development agency?
Three things, none of them technical: a one-page description of the problem in your own words, a list of the tools and spreadsheets the new system must replace or connect to, and a must-have versus nice-to-have split of features. Add a budget range, even a wide one, because it changes the conversation from fantasy to engineering. You do not need a formal specification; producing that is what a discovery phase is for.
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?