Legal Technology & Software Development

For Jim, programming has never really been about programming. It is about finding answers. Throughout his career as a solicitor, the cases he has handled have become progressively larger, more complex and more dependent upon data. Each new case seemed to present a new problem: thousands of financial transactions to understand, enormous volumes of telephone data to analyse, relationships that needed to be uncovered, documents that had to be organised, or disparate pieces of evidence that somehow needed to be brought together.

Very often, there was no piece of software that did quite what the case required. So Jim wrote one.

That is how his interest in programming began, and it remains how he approaches technology today. From early bespoke scripts to Python, SQL, databases, Microsoft 365, Azure and artificial intelligence, the technology has changed enormously. The underlying purpose has not: using technology to understand complex information, uncover what matters and solve practical problems.

Technology built around real cases

Over the years, this has led Jim to develop bespoke programs, scripts and analytical tools for use in major cases, including tools for:
  • analysing large volumes of telephone and communications data;
  • processing and interrogating banking and financial records;
  • identifying relationships, links, patterns, anomalies and significant events within large datasets;
  • reconciling information from different evidential sources;
  • searching, extracting and analysing information contained within large collections of documents;
  • automating repetitive aspects of evidence preparation and case administration;
  • generating indexes, schedules, chronologies and other structured material directly from case data;
  • assembling, organising and paginating court bundles;
  • conducting due diligence and investigative research using publicly available and open-source information; and
  • creating case-specific tools where no suitable off-the-shelf solution exists.

A lawyer's approach to technology

That experience has given Jim an unusual perspective on technology. He approaches software not simply as a programmer, but as a lawyer trying to solve an evidential or practical problem:

What information do we have? What does it tell us? What are we missing? And can technology help us find the answer?

Programming and technical experience

Jim's programming and technical experience includes:

  • Python, particularly for data processing, analysis, automation and bespoke case-related tools;
  • SQL and relational database design;
  • JavaScript and web technologies;
  • Visual Basic and VBA;
  • Microsoft 365 and SharePoint;
  • Microsoft Azure;
  • Power Apps, Power Automate and Power BI;
  • database and software architecture;
  • systems integration and workflow automation; and
  • artificial intelligence and AI-assisted workflows.

His earlier development work also included technologies such as PHP, VBScript, Visual Basic 6 and MySQL.

LegalTech, automation and AI

What began with writing programs to solve the particular problems presented by individual cases has developed into a much broader interest in how technology can change the way legal services are delivered.

Jim now works extensively with Microsoft 365, Azure, automation and artificial intelligence and is involved in designing and developing LawPilot365, bringing together matter management, documents, financial information, workflow automation, reporting and AI.

For Jim, however, the principle remains much the same as when he wrote his first programs to help with his own cases: technology is most valuable when it solves a real problem.

His combination of legal and technical experience means that he understands technology from both sides: how it works and, more importantly, how lawyers can actually use it.

Scroll to top