Skip to content

We step in when a system has outgrown its architecture.

Değişken Yazılım examines existing production software in depth, modernises it, extends it, tests it, and supports it for the long run. We have been building software for twenty years, most of that spent creating new systems in PHP, dotnet and TypeScript and keeping existing ones standing: unstable platforms, performance problems, monoliths that have stopped scaling, codebases where new features can no longer be added, and requirements that somehow never get met.

Services

What we do

We can work across the whole software development process, from end to end or at exactly the point where you need us.

  1. 01

    Business analysis

    We establish what the project is for, who it serves and what is currently going wrong. Before deciding what to build, we settle what is actually needed.

  2. 02

    Architecture decisions

    We identify the viable options for the project, research them and run the preliminary tests. The decision rests on measurements rather than assumptions.

  3. 03

    Software development

    Readable, maintainable code that follows the architecture we agreed on, written to carry the next few years of product change rather than just this release.

  4. 04

    Integration

    We connect your system to ERPs, CRMs, payment providers and third-party services, with a boundary in between so a change to someone else’s interface does not break your application.

  5. 05

    Testing

    Unit, integration, end-to-end, smoke and security tests, set up as blocking gates in CI. Untested code is code that is only assumed to work.

  6. 06

    CI/CD

    We turn releasing from a manual task into an automated, repeatable process. Every deployment passes a health check and the rollback path is defined in advance.

  7. 07

    Maintenance and monitoring

    We watch production through centralised logging, dashboards and alerts, so a problem is seen and acted on before your customers report it.

  8. 08

    AI-assisted development

    Agent and skill tooling that knows your codebase’s conventions, plus MCP servers giving assistants governed access to your systems. We are equally explicit about where the leverage stops.

  9. 09

    Training

    We train your team to run and extend what we hand over. On site or remote, pitched to the subject and to the level of the people in the room.

  10. 10

    Consultancy

    Across the whole software process, or only at the point where you need it. Sometimes the most useful answer is that nothing should be built.

Selected work

What we have done

There is no such thing as a big job or a small job here. Any work where we can make a real difference is the right work for us. The detail of each one is on the work page.

Enterprise retail e-commerce

Taking an enterprise commerce platform from 1,000 daily errors to double digits

A composable-commerce platform for a large optical retail chain was logging around a thousand errors a day, timing out on discounts and charging the wrong amounts. We worked the defect classes down in order.

~1,000 → double digitsError log entries per day

Read the case study →

Regulated consumer products · D2C

A regulated direct-to-consumer storefront, live and transacting in 45 days

We won the engagement on a commitment competitors would not make — a custom storefront taking live card payments within 45 days, under a 100% uptime guarantee. Both were met.

45 daysFrom zero to live card payments

Read the case study →

Lead-generation SaaS

Removing a SaaS platform's scalability ceiling

Ten concurrent users in the editor degraded the entire product to multi-minute waits. We isolated that workload first, then decomposed the rest — and the customer base grew sixfold without the architecture becoming the limit.

300 → ~2,000Customer accounts during the engagement

Read the case study →

Building automation · IoT

A building automation platform where a device contract is defined once

A KNX hardware manufacturer needed a software platform to control its own devices and any third-party KNX device. We defined the architecture and built the logic engine, the visual automation editor and the tablet client.

One contractNode schema shared by backend, admin panel and mobile

Read the case study →

Consumer mobile product

A digital invitation platform, from proof-of-concept skeleton to public release

An MVP-stage digital invitation product had a backend that existed only as a Laravel skeleton. We restructured it around DDD, built the API and the editor, and took it to public launch.

Public releaseFull agreed scope delivered

Read the case study →

Spare parts e-commerce

A faceted catalogue that stopped timing out

Tens of thousands of SKUs behind a five-facet filter that frequently timed out, and pages taking two to three minutes. We replaced the data model behind the filter and automated a multi-supplier import that had been days of manual work.

2–3 min → ~5sCatalogue page render time

Read the case study →

How we work

How we work

However heavy the job, we move it forward in three steps.

  1. 01

    Review and report

    We read the system from evidence: production logs, APM traces, the error profile, deployment history, the tests that exist and the ones that do not. You get a written report on the structural weaknesses and the risk, with the reasoning attached.

  2. 02

    A prioritised implementation plan

    Findings are ranked by blast radius and tractability, then turned into a plan that can run alongside your product roadmap. How much of it to do, and when, stays your call.

  3. 03

    Build and deliver

    Built the way it should be built, and handed over on the date we agreed. Static analysis, linting and tests as blocking CI gates, health-checked deployments, a defined rollback, and documentation written for whoever maintains it next.

Technology

Technology

Different languages, platforms, libraries. We use whichever options are right for the project — what we know best is not always the right answer.

Languages & frameworks

  • PHP 8
  • Laravel
  • Symfony
  • dotnet core
  • C#
  • TypeScript
  • JavaScript (ES6+)
  • Node.js
  • Fastify
  • Express

WordPress ecosystem

  • WordPress
  • WooCommerce
  • BuddyPress
  • custom plugins
  • custom themes
  • WP REST API
  • headless WordPress

Frontend & mobile

  • React
  • Next.js
  • Vue.js
  • Redux Toolkit
  • redux-saga
  • React Flow
  • TailwindCSS
  • SCSS
  • Vite
  • Webpack
  • React Native
  • Expo
  • SwiftUI
  • Kotlin

Databases & cache

  • MySQL
  • MariaDB
  • PostgreSQL
  • MongoDB
  • AWS RDS
  • Redis
  • AWS ElastiCache
  • Eloquent
  • Doctrine

Messaging & search

  • RabbitMQ
  • NATS
  • Apache Kafka
  • AWS SQS
  • Elasticsearch
  • Algolia
  • Socket.IO
  • Laravel Reverb

Testing & quality

  • PHPUnit
  • Jest
  • PHPStan
  • Larastan
  • Laravel Pint
  • PHPCS
  • ESLint
  • Prettier
  • Husky
  • TypeBox
  • OpenAPI / Swagger

CI/CD & infrastructure

  • Docker
  • Docker Compose
  • GitHub Actions
  • GitLab CI
  • Bitbucket Pipelines
  • AWS EC2
  • AWS S3
  • Elastic Beanstalk
  • Elastic Load Balancing
  • Nginx
  • Apache

Observability

  • Elasticsearch
  • Logstash
  • Kibana
  • Datadog
  • New Relic
  • Sentry
  • Tideways
  • health checks
  • alerting