CodeIgniter

CodeIgniter customization services for apps that already exist

We extend the CodeIgniter application you already run: extra modules, custom libraries, hooks and events, and connections to payment, shipping, accounting and messaging services.

  • Works with your current code
  • Update-safe extensions
  • Staging before live
What is included
  • Feature additions
  • Custom libraries
  • Hooks and events
  • Admin modules
  • Third-party integrations
  • Reports and exports
Get a free quote Reply within one business day. NDA on request.
The problem

Why changing an existing app is harder than it looks

Your CodeIgniter application does most of what you need. Maybe it was written for you years ago, or maybe you bought a ready-made CodeIgniter script, a point of sale system, a school manager or a CRM, and built your operations around it. Now there is a gap: a report the accountant keeps asking for, a workflow step the product never had, a payment provider it does not support.

Customization is different from building new. The job is to add what is missing without breaking what works, inside code we did not write and that often has no documentation. We read first, change second, and keep our additions separate enough that they can be maintained. If the list of changes grows long enough to question the whole system, we will say so and point you to legacy PHP modernization instead.

  • A purchased script that almost fits

    The CodeIgniter product you bought covers most of your process, but the vendor will not add what you need, or has stopped responding. You are stuck working around the last gaps manually.

  • Nobody knows how it works

    There are no comments, no diagrams and no tests. Functions are named after things that no longer exist, and the last developer left only a zip file and a database dump.

  • Every change breaks something

    A small edit to the order screen quietly changed the totals on a report. Without a safety net, your team has learned to avoid touching the system at all.

  • Vendor updates wipe out edits

    Past customizations were made straight in the product files. Each time the vendor ships an update you must choose between new features and keeping your own changes.

What we do

Ways we extend a CodeIgniter application

We choose the lightest extension point that does the job, and keep custom code where an update or the next developer will not trip over it.

Feature additions

New screens, fields, statuses, approval steps and reports added to the existing controllers, models and views, matching the interface your users already know.

Custom libraries

Self-contained classes for pricing rules, document generation, imports or calculations, loaded through the framework so the same logic is used on every screen.

Hooks and events

Behavior attached at framework extension points, such as logging every request, checking permissions before controllers run or reacting when a record is saved, without editing core files.

Admin modules

Back-office sections for settings, user roles, audit logs, bulk actions and dashboards, built to sit beside the existing admin area with the same look.

Third-party integrations

Payment gateways, SMS and email providers, accounting packages, shipping carriers and CRMs connected through their APIs, with retries, logging and webhook handling.

Reports and exports

Queries written against your real tables for the figures managers ask for, shown on screen and exported to spreadsheet or PDF, with filters and scheduled delivery.

Typical projects

Changes clients ask for most

01

New payment or SMS provider

Your current gateway is being replaced or a new market needs a local one. We add the provider behind the existing checkout or notification code, including callbacks and reconciliation.

02

Extra module in a bought product

An attendance module for a school system, a loyalty scheme for a point of sale, a commission report for a CRM, added in a way that survives the next vendor release where possible.

03

Role and permission changes

A flat admin login replaced with roles for managers, staff and auditors, each with its own menus and limits, plus a log of sensitive actions.

04

Accounting or ERP sync

Invoices, payments and customer records sent to your accounting package nightly or as they happen, with an admin screen listing what went through and what failed.

In depth

Working safely in code nobody documented

Read before writing

The first days of a customization go to reading. We trace the request path for the screens we will touch: route, controller, the models it calls, the views it renders, any hook that fires along the way. We check whether the application uses a base controller for login checks, whether it relies on a modular extension to split code into modules, and whether models are thin or hold the business logic. We also look at the database for triggers, stored procedures and columns whose meaning is not obvious. A short written map of the affected area goes to you before the estimate is final.

Pick the smallest extension point

CodeIgniter gives several ways to add behavior without rewriting what exists. On CodeIgniter 3 we extend core classes through the MY_ prefix, register hooks for cross-cutting work, and add libraries and helpers of our own. On CodeIgniter 4 the equivalents are events, filters, services and separate namespaces. The rule is simple: never edit the framework, and edit vendor product files only when no extension point exists. When we must change a vendor file, the change is small, marked with a comment and listed in a patch log.

Pin down current behavior first

Undocumented code has no tests, so we create a safety net before changing it. For a pricing function, that means recording its output for a few hundred real orders and replaying them after the change. For a screen, it means a scripted click-through with expected totals. These checks are cheap, and they are how we catch the report that silently depended on the thing you asked us to alter.

Customizing a product you bought

Ready-made CodeIgniter scripts vary a great deal in quality. Before quoting we check that the license allows modification, see how the vendor ships updates, and estimate how far your changes will sit from their code. Sometimes the right answer is a companion module with its own tables that talks to the product through its models. Sometimes the product is so tangled that a fresh build would cost less over the next few years, and we will show you that comparison.

Integrations fail, so plan for it

Third-party services time out, change their responses and send the same webhook twice. Every integration we add logs requests and responses, retries with limits, and handles duplicates safely. Credentials live in configuration outside the repository. For larger integration work across several systems, see our API development and integration service.

Process

From request to a released change

  1. 1

    Request and access

    You send the change list plus code, database and hosting access. We sign an NDA first if you ask for one.

  2. 2

    Code reading and estimate

    We map the affected parts of the application, flag risks and unknowns, and return a fixed scope with a free quote.

  3. 3

    Baseline checks

    Version control, a staging copy with realistic data, and recorded checks of current behavior for the areas we will change.

  4. 4

    Build and demo

    Each customization is built on staging and shown to you working. Your staff try it with their own daily tasks.

  5. 5

    Release with a change log

    Changes go live with a rollback point. You receive a change log, notes on every file touched and any new configuration settings.

Deliverables

Handed over with every change

  • A written map of the code areas we changed
  • Custom code kept apart from framework and vendor files
  • A patch log for any unavoidable vendor file edits
  • Before and after checks on affected calculations
  • A staging copy you can keep for future changes
FAQ

Customization questions and answers

Can you customize a CodeIgniter script we bought from a marketplace?
Usually yes. We first check that its license permits modification and review how it is put together. Then we add your features as separately as the product allows, so vendor updates remain possible. If the code is encrypted or obfuscated, we tell you what can and cannot be done.
Will our customizations survive when the vendor releases an update?
That depends on where the changes live. Code in our own libraries, modules, hooks and tables normally survives. Edits inside vendor files have to be reapplied, which is why we keep them minimal and record each one in a patch log you can hand to any developer.
The application has no documentation. How do you estimate?
We read the code before we quote. For anything beyond a trivial change, we trace the affected screens and data, then give a fixed scope. If an area is too uncertain to estimate honestly, we say so, list the unknowns in the quote and agree how they will be handled before work starts.
Does it matter whether our app is on CodeIgniter 3 or 4?
Not for whether we can help. The techniques differ: MY_ prefixed classes and hooks on CodeIgniter 3, events, filters and namespaces on CodeIgniter 4. We work in whichever your application uses and do not push an upgrade just to add a feature.
How do you avoid breaking existing features?
By recording how the system behaves before we change it. We capture outputs of key calculations and reports from real data, make the change on staging, then compare. Your team also tests their normal tasks before release, and we keep a rollback point for every deployment.
Can you work with our in-house developer?
Yes. We can take a defined piece of work while your developer handles the rest, share one repository with code review, or place one of our people in your team. See hire a PHP developer for how that arrangement works.
Start a project

What should your CodeIgniter app do next?

Send the list of changes, however rough, and tell us whether the application is custom or a purchased product. Within one business day you get our questions back, and a free quote once we have looked at the code.

  • Free consultation and quote
  • NDA on request
  • You own the source code
  • Reply within one business day
Add budget and timeline optional, helps us quote faster

This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.