Skip to main content
VSI Technologies

Technology Services

The internal tool people stop working around.

Web applications, portals and integrations built to be handed over.

The problem

Why this comes up

Every organisation has a process running on a spreadsheet that three people understand, and a portal somebody built in 2019 that nobody will touch. The cost is invisible because it is spread across everyone who works around it.

The spreadsheet is load-bearing and that is the whole problem. It works, it encodes years of institutional knowledge in formulas nobody has read, and it is maintained by people whose job description says something else. Because it works, it never becomes a project. Because it is not a project, the risk it represents never gets owned.

The abandoned portal is the other half of the same story. It was built to solve a real problem, by a supplier or a contractor, on a stack chosen for delivery speed. It has no tests, no documentation and one original author who is gone. So the organisation stops changing it and starts working around it, a parallel spreadsheet, a manual step, an email that substitutes for a workflow that broke.

The cost never appears as a line item because it is distributed. Fifteen minutes a day across forty people is a substantial number that no budget holder sees, because none of those forty people is spending enough of their own time to raise it. The visible cost only arrives with the error: a duplicate order, a missed renewal, a supplier paid twice.

Integration is where these builds usually go wrong rather than in the interface. The application ends up holding its own copy of customer or product data because integrating with the system of record was harder than importing a file, and from that moment the organisation has two truths and a reconciliation problem. That decision is nearly always made for a good short-term reason and is nearly always the thing that has to be undone later.

And then there is accessibility, which on an internal tool gets deferred and on an external portal gets discovered. A supplier or citizen portal that cannot be used with a keyboard or a screen reader does not fail quietly, it generates phone calls, which are handled by staff, which is the cost the portal was built to remove. For anything touching the public sector it is also a condition of sale rather than a quality goal.

Recognise any of these

What it looks like from inside

If three or more of these are true, this page is about your estate.

  • A critical process runs in a spreadsheet that three people understand
  • There is a portal nobody will modify because nobody knows how it works
  • People maintain a private tracker because the official system does not fit
  • Two systems hold the same data and someone reconciles them manually
  • A supplier or customer regularly phones because the portal was easier to abandon
  • The last handover consisted of a repository and no documentation

What we build

Specifically

  • Web applications and portals built on a mainstream stack, not a proprietary one
  • Integration with the systems of record rather than another copy of the data
  • Authentication through your existing identity provider
  • Accessibility to WCAG 2.2 AA, because a portal a supplier cannot use is a portal that generates phone calls
  • Documentation and handover as part of the build, not after it

What it integrates with

Named platforms, not categories. If you run one of these, this is the conversation.

  • Microsoft Entra ID
  • Salesforce
  • SAP
  • Microsoft Dynamics 365
  • Snowflake

A stack your market can hire for

Mainstream frameworks and mainstream databases, chosen so that the pool of people who can maintain this is large and local rather than specific to whoever built it. This constrains us slightly and it is the single most important decision for the application’s second and third year. A proprietary or exotic stack transfers a maintenance monopoly to the builder, which is good for the builder.

Integrate, do not copy

The application reads from and writes to the systems of record rather than holding its own copy. Where a cache is genuinely required for performance, it is explicitly a cache with a defined refresh and a single source of truth behind it. The second copy of customer data is how an internal tool becomes a reconciliation problem.

Your identity provider, not another login

Authentication goes through the identity provider you already run, so access follows your existing joiner-mover-leaver process and your existing conditional access policies. An application with its own user table is an application that will still have accounts for people who left, and it is a finding in every security review.

Accessibility as a build requirement

Built to WCAG 2.2 AA, tested with automated tooling on every change and with a keyboard and screen reader before handover. On a citizen or supplier portal this is a condition of sale in the public sector and a phone-call generator everywhere else. Retrofitting it costs several times what building it in costs, and the retrofit is usually partial.

Handover as a deliverable

Documentation, a runbook, a local development setup that works from a clean machine, and a walkthrough with whoever will own it, all inside the engagement rather than after it. You hold the repository from the first commit. The measure of a successful build is that somebody else can change it safely, and that is a property you have to build for deliberately.

How the engagement runs

The delivery loop, and what runs against it

Your estate todayWhat VSI runs against it
01

Discover

The process as it is actually worked, with its costs measured.

VSI delivers

Workshops with the people who do the work, and a baseline of what the manual path costs.

02

Build

Working software in short cycles, reviewed against real cases.

VSI delivers

Sprints demonstrated on your data, with integration to the systems of record from the first iteration.

03

Ship

Release with the old path still available until the numbers say otherwise.

VSI delivers

Instrumentation from day one, the deflection and error metrics the business case promised.

04

Improve

The backlog worked by measured value, not by who asked loudest.

VSI delivers

Usage analytics turned into a prioritised roadmap, with cycle time protected as a metric.

Discover, build, ship, improve, the loop a working application runs for its whole life. The navy rail is what VSI runs; the improve stage is the difference between software and shelfware.

How it deploys

The shape of the engagement

And what we need from you at each step. A timeline with no client obligations in it is a timeline that slips.

  1. 01Weeks 1-2

    Process mapping with the people who do the work

    Process mapping with the people who do the work.

  2. 02Weeks 3-8

    Build in increments, each one usable

    Build in increments, each one usable.

  3. 03Before handover

    Accessibility audit, documentation and a walkthrough

    Accessibility audit, documentation and a walkthrough.

What you provide

  • Access to the systems it has to integrate with
  • The people who actually run the process, not only their manager
  • A decision-maker for scope questions

How this goes wrong

The four ways it fails

Published because it is only writable by somebody who has had the failure. Each of these has happened on this kind of work, and each has a specific thing that prevents it.

The tool gets built and people carry on using the spreadsheet

Why it happens
It was specified from a manager’s description of the process rather than from the process. The exceptions the spreadsheet handled were not in the requirements.
What prevents it
Process mapping with the people who actually do the work, and incremental releases they use before the build is finished. The exceptions are the process; a tool that only handles the happy path gets worked around.

Scope grows until the deadline is meaningless

Why it happens
No single decision-maker, so every stakeholder’s addition was accepted in a different conversation.
What prevents it
One named decision-maker for scope, agreed before the build. This is on the "you provide" list because it is a delivery dependency, not an administrative preference.

Accessibility is discovered during procurement or after a complaint

Why it happens
It was treated as a testing phase rather than as a build constraint.
What prevents it
Automated accessibility testing on every change and a manual pass before handover. It is cheap during and expensive after, and the retrofit is rarely complete.

Nobody maintains it and it becomes the next abandoned portal

Why it happens
Ownership after handover was never decided, so it defaulted to nobody.
What prevents it
Decide who owns it at the start, your team or our managed services, and make handover a deliverable with a walkthrough rather than an email containing a repository link.

Return on investment

Where the return comes from

Every lever names the mechanism and how it is measured against your own baseline, captured before the work starts. That is how the return stays a number your finance team can audit rather than a promise on a slide.

  1. 01

    Process cost per transaction

    A portal earns its build cost by moving transactions off phone, email and paper. We baseline the cost of the manual path, handling time, error rate, rework, and measure the portal on the share of volume it absorbs and the exceptions it kicks back.

  2. 02

    Self-service deflection

    Every status question a portal answers is a call somebody did not take. Deflection is measured in the channel data: contact volume by reason code before and after, not in an adoption slide.

  3. 03

    Error and rework elimination

    Validation at the point of entry removes the downstream correction loop, the most expensive keystrokes in any process are the ones done twice. Measured as exception and rework rates in the receiving system.

  4. 04

    Speed to change

    The second release is where custom builds usually die. We build on maintainable stacks with test coverage as a deliverable, so the measurement is cycle time from request to production, an asset you can change is worth more than one you can only run.

Run your own numbers in the ROI calculator

Hand-drawn application wireframes in a notebook beside a phone.

Timing

Now, soon, or not yet

Most of the value in this decision is in when, not whether. Find the row that matches your situation.

When to start app development work
CriterionVerdictWhy
A critical process depends on a spreadsheet and one of its keepers is leavingNowThe institutional knowledge in the formulas leaves with them, and mapping it while they are still available costs a fraction of reconstructing it after.
An external portal is generating support callsNowThe calls are the cost of the portal not working, and they are being absorbed by staff rather than measured.
A public-sector or regulated contract requires an accessible interfaceNowThis is a gate. Discovering it during evaluation means discovering it too late.
The process is painful but stable, and no key person is leavingSoonDo the process mapping anyway, it is cheap, and it frequently identifies a product that fits, which is a better outcome than a build.
The process changes every few months as the business finds its shapeIt can waitBuilding against a moving target produces something obsolete at handover. Let it settle, and keep the spreadsheet in the meantime.

Buying for a public-sector body

Anything a citizen touches has to meet Section 508 and WCAG 2.2 AA, and that is a condition of sale rather than a quality target, an inaccessible page is an unsellable page. Practically that means accessibility is tested on every change, evidenced in a conformance report, and validated with a keyboard and a screen reader by a person before handover. Authentication has to work with whatever identity approach the agency already runs, records retention has to be designed rather than added, and the application has to fit inside an existing authorisation boundary rather than requiring a new one. Where a requirement would need a new authorisation, we say so at the start, because that timeline usually dwarfs the build.

The federal profile

Objections

What you are probably thinking

We have been burnt by custom software before.
Usually by a build nobody could maintain afterwards. Mainstream stack, documentation in the build, and handover as a deliverable rather than an afterthought, and you own the repository from day one.
Could this not be off-the-shelf?
Often, and we will say so. The process mapping in the first two weeks is as likely to end in a product recommendation as in a build.
Who maintains it when you leave?
Your team, or our managed services, and that is decided at the start rather than at handover.

Questions

Asked often enough to answer here

Do we own the code?
Yes, in your repository, from the first commit. Not transferred at the end, not licensed back to you, and not dependent on a component only we can maintain. If any third-party library imposes a condition you should know about, it is listed before the build starts rather than discovered in a review.
What if the process mapping shows we should buy a product instead?
Then that is the recommendation, and the mapping is still worth what you paid for it, you now have a documented process and a requirements set to evaluate products against, which is the part organisations usually skip. This happens often enough that treating it as a normal outcome rather than a failed sale is the only honest way to run the phase.
How do you handle integration with a system we cannot easily change?
Read-only first, wherever it is possible. Most integrations need to read far more than they write, and read-only removes the risk that concerns whoever owns that system. Where writes are genuinely needed we agree the specific operations, the validation and the rollback with that owner before building, rather than presenting it as a fait accompli.
What does the accessibility work actually involve?
Automated testing against WCAG 2.2 AA on every change so a regression fails the build, plus a manual pass with a keyboard and a screen reader before handover, because automated tooling catches roughly a third of what matters. For public-sector delivery it also means a conformance report you can hand to an evaluator.
Can you take over an application somebody else built?
Often, and the first step is an honest assessment of whether it should be maintained or replaced. Sometimes the answer is replace, and it is better to hear that before you have paid for a year of maintenance on something structurally unmaintainable. Where it can be taken on, expect an initial period of adding tests and documentation before feature work, changing code nobody understands is how outages happen.
How do you keep the build from growing without limit?
One named decision-maker for scope, and increments that are usable rather than a single delivery at the end. Usable increments change the conversation: additions get weighed against something real that people are already using, instead of against an idea. We also write down what was explicitly excluded, because an unrecorded exclusion reappears as an assumption.

Stay current on our services

Occasional updates across every VSI service, new capabilities, new offerings, and what changed. No sales sequence; leaving is one reply.

Used only for these updates, see the privacy statement.

What it costs

Pricing

Scoped per engagement after process mapping, which is separately priced.

Book a 20-minute assessment