Business systems and internal tools
Clear, maintainable applications for teams who rely on accurate operational data.
Independent UK software engineer
30+ years of software engineering experience, enhanced by modern AI-assisted development.
I’m Paul Cunningham, an independent software engineer based in Oxfordshire, UK. I build and maintain the kind of software that sits at the centre of a business: stock systems, admin portals, database applications, Sage 50 integrations, reporting tools, background services and internal web applications.
Software that supports daily operations needs clear thinking, careful maintenance and an understanding of how people actually use business systems.
Clear, maintainable applications for teams who rely on accurate operational data.
Flask and FastAPI systems designed for long-term use.
Careful integration with established systems and data flows.
Schema design, queries, reports and exports that people can trust.
Practical screens for real workflows, not decorative dashboards.
Windows and Linux hosting, services, deployment and troubleshooting.
Recent work has centred on operational systems where correctness, continuity and maintainability matter.
Operations
A business-critical stock platform supporting purchasing, allocation, warehouse visibility and day-to-day operational control.
Administration
A substantial internal platform built around structured data, admin workflows, permissions, reporting and maintainable Python code.
Integration
A service layer for controlled Sage 50 access, helping business systems communicate reliably with accounting data.
Modern software engineering
I make pragmatic use of modern AI-assisted development tools where they genuinely improve quality, productivity or maintainability.
AI can accelerate routine coding, documentation, testing and refactoring, but successful software still depends on experience, sound architecture and understanding the business problem. Every design decision, code review and deployment remains guided by engineering judgement rather than blindly accepting AI-generated output.
Used well, AI allows me to spend less time writing boilerplate and more time solving the problems that actually matter to my clients.