Custom software engineering
Applications built around a specific operational need, from data models and business rules to the interfaces people work in every day.

Information technology company
CLOUD AND KEY LTD builds custom applications, designs cloud environments and connects business systems. Our work focuses on clear architecture, tested code and systems that remain understandable and maintainable after delivery.
Who we are
CLOUD AND KEY LTD works with organisations that depend on software to run their operations. Some need a system built from the beginning; others need an existing one extended, integrated or brought back into a maintainable state.
Our approach is deliberately unglamorous: understand the process before writing code, keep the architecture as simple as the problem allows, and make every decision reviewable. We describe what a technical choice costs as well as what it provides, so the people responsible for a system can make informed decisions about it.
We do not treat delivery as the end of the engagement. Software that is used changes, and the structure it was built on determines how expensive those changes will be.

Capabilities
Each capability is delivered as part of a defined scope, with agreed deliverables and documentation.
Applications built around a specific operational need, from data models and business rules to the interfaces people work in every day.
Environments defined as code, with separated staging and production, monitoring, backups and documented recovery procedures.
Responsive, accessible browser applications built on maintainable component structures and predictable state handling.
Connecting internal systems and third-party services through well-defined interfaces, contracts and error handling.
Replacing repetitive manual steps with scheduled or event-driven workflows that leave a clear, auditable record.
Automated and manual verification during delivery, and structured maintenance once a system is in production use.

Custom software development
Off-the-shelf products assume a standard way of working. When an organisation's process does not match that assumption, the software becomes a constraint rather than a tool.

Cloud solutions and infrastructure
Infrastructure is treated as part of the product. It is described in configuration, versioned alongside the application, and reproducible in more than one environment.
Environment definitions kept in version control so changes are reviewable and repeatable.
Development, staging and production kept distinct, with promotion between them following one route.
Structured logging, metrics and alerting configured so problems surface before users report them.
Scheduled backups and a written, tested restoration procedure rather than an untested assumption.
Web application development
A web application is judged in daily use: how quickly it responds, how clearly it communicates state, and how well it behaves when something goes wrong.
We build interfaces from composable components with a single source of truth for state, so behaviour stays predictable as features accumulate. Layouts are responsive across mobile, tablet and desktop, and semantic markup, keyboard operability and contrast are considered during implementation rather than retrofitted afterwards.
Where content needs to be visible to search engines and shared previews, pages are rendered on the server so the markup and metadata are present in the initial response.
Reusable, documented building blocks with consistent styling tokens.
Explicit data flow and clear loading, empty and error states.
Verified across common breakpoints, not only at desktop width.
Semantic elements, focus order, labels and readable contrast.

Integration and automation
Most organisations already run several systems that were never designed to work together. Integration work removes the manual copying between them.
Each connection has an explicit contract: what is sent, what is expected back, and what happens when the other side is unavailable.
Retries, idempotent operations and dead-letter handling so a temporary failure does not silently lose data.
Scheduled and event-driven workflows that record what ran, when, with what input, and what the result was.

Security-conscious practices
Security decisions are cheapest when they are made while the system is being designed.
Delivery process
The sequence below applies to most engagements. Its purpose is to keep decisions visible and progress reviewable at every stage.
We review the current process, the systems already in place and the constraints that apply, then write down the problem in concrete terms before proposing a technical direction.
We select the structure, data model, environments and integration points, and describe the trade-offs behind each decision so they can be reviewed rather than assumed.
Work is delivered in reviewable increments. Each increment is demonstrable, version-controlled and accompanied by the notes needed to understand what changed.
Functionality is checked against the agreed scope through automated tests and manual review, including edge cases, error states and permission boundaries.
Deployment follows a repeatable procedure with a rollback path. Handover includes environment documentation, configuration notes and operational instructions.
After release we monitor behaviour, correct defects and extend the system as requirements change, keeping the codebase in a state that remains workable over time.
Quality assurance
Testing is applied where failure would be expensive, rather than uniformly for its own sake.
Unit and integration coverage for business rules, calculations and data handling.
Exploratory checks of real workflows, including unusual sequences and interruptions.
Previously fixed defects captured as tests so they do not return unnoticed.
Verification in an environment configured to match production as closely as practical.
Interfaces reviewed on mobile, tablet and desktop widths and in current browsers.
Issues recorded with reproduction steps, severity and the change that resolved them.
Maintenance and support
A live system needs attention: dependencies age, usage patterns shift, and requirements move. Maintenance keeps those changes from accumulating into a rewrite.
Investigating reported defects, identifying the root cause and releasing a verified fix.
Dependency and platform updates, configuration review and cleanup of code that has become fragile.
Adjusting the system as processes, integrations or external interfaces change.
Reviewing logs, error rates and resource usage, and acting on what they show.
Collaboration
Technical work fails more often through unclear communication than through unclear code.
A named contact on each side so questions are answered without being routed through several people.
Architectural and scope decisions recorded with their reasoning, so they can be revisited later.
Working software shown at agreed intervals rather than described in status reports.
Technical trade-offs explained in terms of cost, risk and effect on the process.
Frequently asked questions
Custom applications, web platforms, cloud environments, integrations between existing systems, and automation of internal workflows. Work may involve building a new system, extending an existing one, or stabilising software that has become difficult to maintain.
Scoping begins with a written description of the problem, the systems involved and the outcome expected. From that we define a technical approach, the deliverables, and the sequence in which they will be produced.
Technology choices follow the requirements of the project rather than a fixed stack. Selection considers the existing environment, the skills available to maintain the system, and the long-term cost of the choice.
Through code review, automated tests where they add value, consistent structure and naming, documentation kept next to the code, and refactoring treated as ordinary work rather than an exception.
Maintenance covers defect correction, dependency and security updates, monitoring of runtime behaviour, and incremental changes requested after launch. The scope of that work is agreed in advance.
Written updates describing progress, decisions and open questions, together with regular review sessions. Decisions and their reasoning are recorded so they remain available later.
By email at [email protected]. Describing the current situation, the systems involved and the outcome you are looking for helps the first reply be useful.
Contact information
All enquiries are handled by email. Including a description of the current situation, the systems involved and the outcome you need helps us give a useful first response.