Custom Software Development

Software written for one organisation's problem, by the same engineers who run the infrastructure it sits on.

GİTA Teknoloji writes software in the space where packaged products stop: the integration between two systems that were never meant to talk, the internal tool that replaces a spreadsheet everyone quietly depends on, the agent that makes an opaque application observable.

Because the same team operates infrastructure, what we build tends to be shaped by how it will be run — logging, monitoring hooks, deployment and failure behaviour are part of the design rather than an afterthought. Most of our work is in Python and Go, delivered as services, agents or small web applications.

We also develop our own products, which is how the practice stays honest: Passeidon, a self-service Active Directory and Microsoft 365 password portal that removes the majority of password-reset load from a service desk, and a monitoring tool developed for Citrix NetScaler under the Citrix ISV programme.

What we build

Integration services

Middleware between systems with incompatible interfaces — queueing, retry, reconciliation and the error handling that decides whether an integration is trustworthy.

Internal tools

The small applications that replace a shared spreadsheet or a manual process, built properly enough to be depended on.

Monitoring agents and exporters

Purpose-written collectors that expose an application’s real state — queue depth, job outcomes, business counters — to a monitoring platform.

Automation

Operational automation around provisioning, configuration and routine change, usually built on Ansible with custom modules where needed.

Portals and self-service

Web applications that let users do safely and unaided what would otherwise be a service-desk ticket.

APIs

Well-documented REST interfaces over existing systems, so the next integration does not require another bespoke connector.

How we build it

Python

Integration work, automation, data handling and internal tooling, where development speed and library coverage matter most.

Go

Agents, long-running services and anything that needs to be a single deployable binary with a small footprint.

Containers

Containerised delivery where it simplifies deployment, and plain services where it does not — the choice follows the operating model.

Edge and serverless

Cloudflare Workers for edge logic, request handling and lightweight APIs, as a Cloudflare partner.

Operational design

Structured logging, health endpoints and metrics from the first version, because software we may end up operating should be observable.

Version control and documentation

Source in your repository, with the documentation needed for another engineer to take it over.

Our own products

Evidence of the practice rather than a catalogue.

Passeidon

A self-service password management portal for Microsoft Active Directory and Microsoft 365, which removes the large majority of password-reset requests from the service desk.

NetScaler monitoring

A monitoring tool for Citrix NetScaler, developed under the Citrix ISV programme.

Custom monitoring agents

A body of exporters and agents built for customer-specific applications, each delivered to the customer that commissioned it.

Open source involvement

Participation in open infrastructure work, including the OpenSDDC platform.

Patented engineering

Three granted patents covering distributed storage, network virtualisation and clustering.

R&D background

Product development experience originating in TÜBİTAK-funded research and development.

How an engagement runs

Analysis first

A scoped analysis of the actual problem, which regularly establishes that a smaller piece of software than expected will do.

Prototype early

Something runnable in front of the people who will use it before the design is settled, because written requirements rarely survive first contact.

Fixed-scope increments

Work broken into increments that are individually quoted and individually useful, rather than one long project with a single delivery date.

Delivery with source

Source code, documentation and deployment instructions delivered to you. Custom work belongs to the customer that paid for it.

Maintenance if wanted

Ongoing maintenance and enhancement under a support arrangement, or a clean handover to your own developers.

Working with your team

We are frequently the additional capacity on an existing development team rather than a replacement for one.

Frequently asked questions

Who owns the source code?

The customer. Anything written specifically for you is delivered with full source and documentation, in your version control. We do not retain code as a way of retaining the customer.

Do you maintain software after delivery?

If you want us to. Maintenance and enhancement can run under a support arrangement, or the codebase can be handed to your own developers with the documentation needed to take it on.

Can you work with our existing development team?

Yes, and this is common. We often supply specific capability — systems-level work, integration, agents — alongside an in-house team that owns the main application.

What size of project do you take on?

Much of the work is deliberately small: a single integration, one exporter, one internal tool. Small scoped pieces are easier to quote accurately and easier to abandon if they turn out not to be worth it.

Which languages do you use?

Mainly Python and Go. Python for integration, automation and tooling; Go for agents and long-running services where a single binary and a small footprint help.

Can you build against a system with no API?

Usually. A log file, a database table, a port or a file drop is generally enough. Establishing what is actually reachable is the first piece of work.

Describe the process you are working around

Most useful internal software starts as a spreadsheet or a manual step nobody has had time to fix.

Get in touch