pkey

We fix and modernize industrial and enterprise software systems that fail under real production conditions.

We Stabilize Industrial and Enterprise Systems Under Production Pressure

.NET, SCADA, MES, RabbitMQ, SQL Server, OPC UA and enterprise integrations for systems that cannot afford downtime.

We build the missing software, connect the systems, and stabilize the critical path.

  • .NET
  • SQL Server
  • RabbitMQ
  • OPC UA
  • Azure
  • SCADA / MES
  • PLC integrations
  • Distributed systems
Trusted in industrial and enterprise projects

VW, Miele, Schneider Electric, Atlas Copco, Frequentis. Supporting proof: production reliability and backend stability work from real delivery environments.

Systems we enter

We step into systems where production pressure exposes the architecture.

Unstable MES systems

Execution data is delayed, inconsistent or impossible to trust across production, reporting and enterprise handover.

Failing SCADA integrations

Shop-floor supervision works locally, but the data path to databases, APIs and business systems breaks under load.

Legacy .NET backends

Long-lived C# systems carry production logic, but architecture erosion makes every release risky.

Slow SQL Server systems

Queries, reporting jobs, blocking transactions or weak data models slow down operational decisions.

Broken RabbitMQ flows

Queues, retries and consumers are no longer predictable, observable or safe during production pressure.

Factory integration bottlenecks

PLC, OPC UA, MES, ERP and custom software need one reliable flow instead of fragile handoffs.

What we do

Engineering work around production-critical software.

Production problems

Production problems we solve.

Downtime and production incidents

Systems work during normal use, then fail when real production volume, operators and timing hit them.

Architecture erosion

Old decisions, unclear ownership and quick fixes create systems nobody wants to touch.

Performance bottlenecks

SQL Server, services, telemetry and integration layers slow down the business-critical path.

Distributed system failures

Messaging, async processing, retries and service boundaries create hidden failure modes.

This is why projects fail.

These problems don't resolve on their own. They get worse over time.

Here's how we fix it.

Entry points

Start with the problem your team needs to fix.

If you already know where the pressure is, choose the entry point that matches it and go straight into the relevant delivery path.

Choose the area where production issues show up most often:

Fixing

Fixing Production system recovery

Systems fail in production, fixes create new bugs or delivery slows down every sprint.

Recover production system
Fixing Stabilizing failing integrations

APIs, databases, PLC data, queues or enterprise systems break under real operational load.

Stabilize integrations

Building

Building Industrial software development (C#, .NET)

Custom production software, internal tools and backend systems built around real operations.

Build industrial software
Building MES / SCADA integration systems

SCADA, MES, databases and enterprise applications connected into reliable production workflows.

Build integration systems
Technical depth

Architecture, integrations and runtime behavior matter when systems are already in production.

PLC to enterprise data flow
PLC OPC UA .NET backend RabbitMQ MES / ERP

Production data needs a stable path from machines into backend systems, databases and enterprise workflows.

Event-driven architecture
Producer RabbitMQ Consumer SQL Server Monitoring

Queues are useful only when retries, idempotency, observability and failure handling are designed deliberately.

Production telemetry and CQRS
Commands Domain logic Events Read models Dashboards

Operational systems need clear write paths, fast read models and diagnostics that explain what happened.

Process

How production issues get fixed.

No deck. Find the break, fix the path, measure stability.

01 01. Find what breaks

Locate the failure point in code, data flow, integrations, infrastructure or ownership.

02 02. Prioritize the fix

Separate production blockers from nice-to-have cleanup so the team works on the right thing first.

03 03. Rebuild the critical path

Fix the architecture, integration flow, database behavior or service boundary that keeps failing.

04 04. Measure production stability

Check reliability, performance, releases and operational behavior after the change.

Where we step in

Case studies with measurable production impact.

Problems, solutions, and results from enterprise and industry software, industrial systems, and integration-heavy delivery work.

Case studies

Production results, not slideware.

Atlas Copco IAS
Industrial Process Supervision Software

C# desktop/backend software for adhesive process control and production supervision around KUKA robots in automotive manufacturing.

Problem

Adhesive process control and supervision software had to support robot-operated production in automotive manufacturing.

Action

Delivered C# desktop and backend software around process supervision, MES/ERP integration points and production-oriented control flows.

Result

reduced production failures in real system

Duration
18 months
Stack
C#, WinForms, WPF, T-SQL, Python, MES, ERP, multithreading
Role
Senior Developer
Result
  • reduced production failures in real system
  • clearer supervision software flow
  • stronger production supportability
View case study
Miele
Engineering Logic Tooling for Product Systems

Flow-based software for modelling, validating and maintaining product logic in long-lived engineering environments.

Problem

Engineering teams needed clearer tooling for product logic without losing maintainability in long-lived systems.

Action

Built flow-based modelling and validation software around engineering logic and product system maintenance.

Result

clearer engineering logic modelling

Duration
6 months
Stack
.NET, desktop software, backend services, engineering tooling
Role
Senior Developer
Result
  • clearer engineering logic modelling
  • more maintainable product tooling
  • better long-term supportability
View case study
Frequentis AG
Mission-Critical Backend Reliability

Backend and microservice work for high-reliability recording and operational systems.

Problem

Recording and operational backend services had to remain reliable in a high-continuity environment.

Action

Improved backend services, messaging-heavy processing and supportability around mission-critical operational flows.

Result

stabilized mission-critical backend

Duration
6 months
Stack
C#, T-SQL, RabbitMQ, Windows Services, microservices
Role
Senior Developer
Result
  • stabilized mission-critical backend
  • safer releases
  • more stable daily operations
View case study

If you're dealing with similar issues, we can help.

Services

Industrial and enterprise software services.

Technical Knowledge Base

Engineering notes from real production systems.

C#, SQL Server, SCADA, PLC, RabbitMQ, OPC UA, distributed systems and enterprise architecture notes written around real engineering work.

Technical note PLC integration with .NET

Your PLC data path is fragile, slow or hard to trust in production software.

Technical note RabbitMQ failures

Queues block, consumers fail silently or retries create duplicated processing.

Technical note SQL performance

Slow queries, blocking jobs and reporting load start hurting operational systems.

Technical note SCADA and C#

How supervision data can move into C# services, APIs and enterprise reporting.

Technical note LINQ optimization

EF Core and LINQ query behavior that can hurt production databases.

Technical note C# async and threads

Threading and async behavior in services that run close to production systems.

Why we

25 years in industrial and enterprise integration

We work where custom software, production systems, databases, integrations and delivery pressure meet.

See technology stack
Contact

Book Architecture Review

No specs needed. Just describe what's breaking or what you need to build.

Direct contact: contact@pkey.info

We usually reply within 24 hours and suggest a short intro call to discuss the context.

Back to start