Custom Web Applications Built Around Your Data

Portals, internal tools and APIs built in PHP, MySQL and modern JavaScript, designed to work with Salesforce and the rest of your stack rather than around it.

Overview of custom web and application development: customer portals, internal tools, Salesforce integration, API security, legacy PHP maintenance and documented APIs

Some problems do not fit neatly inside a CRM or a marketing platform. A customer portal that pulls order history from three systems. An internal tool to replace a shared spreadsheet nobody dares to edit. An ageing PHP application that still runs part of the business.

GeekMidst builds and maintains custom web applications for these situations. Our usual stack is PHP with MySQL on the server, a modern JavaScript front end, and documented APIs between the application and the systems you already run. If your organisation has standardised on a different language, framework or hosting platform, we work within it instead of adding another stack for your team to support.

Who this service is for

  • Operations and product owners who need a working tool for a specific process, with proper roles and an audit trail.
  • Salesforce platform owners whose org is being stretched into jobs it handles poorly, such as heavy public traffic from anonymous users or complex custom calculations.
  • IT teams inheriting a legacy PHP application with no tests, little documentation and an unclear upgrade path.

We will also tell you when a custom build is the wrong answer. If your users already work in Salesforce every day, a Lightning Web Component or an Experience Cloud site is often simpler to secure and maintain than a separate application.

Where this connects to the rest of your platform

How we choose the technology

Typical choiceWhen it changes
Server sidePHP with a maintained framework, or plain PHP for small servicesYou already run another language in production and have people to support it
DatabaseMySQL or a compatible engineYour organisation mandates a different relational database or a managed cloud service
Front endModern JavaScript, using a framework only where the interface needs oneSimple forms and content pages are often better as server-rendered HTML
APIsREST with JSON and versioned endpointsAn existing integration platform or event bus is already your standard
HostingYour cloud account or servers, under your controlYour security team requires a specific platform, region or deployment pipeline

How a build runs

  1. 01

    Discovery

    We map the users, the process, the data each screen needs and where that data lives. Unclear ownership of a field is resolved here, not during testing.

  2. 02

    Architecture and estimate

    A short technical design covering components, data model, integrations, authentication and hosting, with a phased estimate you can challenge line by line.

  3. 03

    Thin first release

    One complete path through the application is built end to end and put in front of real users in a test environment early.

  4. 04

    Iterative build

    Features are added in short cycles, with working software reviewed at each step.

  5. 05

    Testing and hardening

    Functional, integration and security testing, including input validation, access control checks and behaviour when a connected system is unavailable.

  6. 06

    Launch and handover

    Deployment to your environment, monitoring, documentation and a walkthrough for whoever supports the application next.

What you receive

  • Source code in your repository, under your organisation's ownership.
  • A technical design document and an API reference for any endpoints we build.
  • Database schema and migration scripts, so the data model can be rebuilt and changed safely.
  • Automated tests for the business rules that matter most, and instructions for running them.
  • A deployment runbook and notes on monitoring, backups and routine upgrades.

Dependencies and risks to plan for

We will need a product owner who can make calls on scope, access to sandboxes or test instances of connected systems, and early agreement on hosting and security requirements. The most common risks are unclear data ownership between systems, requirements that grow faster than the budget, and hosting decisions left until the end. We raise these early and keep a visible list of open decisions throughout the project.

json
{
  "error": {
    "code": "ORDER_NOT_FOUND",
    "message": "No order exists with reference ORD-10042.",
    "request_id": "7f3c2a9e-example",
    "retryable": false
  }
}
Illustrative error format for a custom API. One consistent shape makes failures easier to log, monitor and handle in calling systems.

Questions we hear

Can you take over an existing PHP application?
Yes. We start with a code and infrastructure review, add tests around the most important behaviour, then upgrade or refactor in stages rather than rewriting everything at once.
Do you only work in PHP?
PHP and MySQL with modern JavaScript is our usual stack, but the right choice depends on what your team can support. If you already run another language or framework in production, we can usually work within it.
Should this be a custom app or something inside Salesforce?
It depends on who the users are, what licences they hold and how much the interface departs from standard Salesforce screens. We compare the options during discovery and give you a recommendation with the trade-offs.
Who owns the code?
You do. Code lives in your repository and is deployed to your environment, so you can change suppliers or bring the work in-house without depending on us.

Have an application in mind, or one that needs rescuing?

Tell us what the tool needs to do and which systems it must talk to. We will suggest a sensible first release and the decisions to make before building.

Discuss your application →

Next step: Web and Application Development

  1. We read it A practitioner reads your message and replies by email.
  2. Short call We confirm goals, constraints and what success looks like.
  3. Written scope You get a scope and estimate before any work starts.

Tell us what you are trying to fix.

Share your Salesforce setup, goals and constraints. A practitioner reads every message and replies with questions, first thoughts or an honest view of whether you need outside help at all.

Talk to a Salesforce Expert
Book a Consultation