application services

Software built around the identity and data it depends on.

We build and modernize web apps, mobile apps and integrations, and we start with the questions that usually get asked last. Who signs in. Which token each service holds. Which system owns each piece of data.

platforms
apps / sign-in & token scopes tokens scoped
CLIENTSIDENTITY & EDGESYSTEMS Customer portal React · Next.js Mobile app PKCE · passkeys Partner API client credentials Auth0 Universal Login API gateway JWT validation Salesforce cases · accounts PostgreSQL app data Legacy core wrapped, not rewritten
OAuth 2.1OIDCOpenAPIrate limits
in short·15-second read

Application services covers building new software and fixing old software, including web applications, iOS and Android apps, APIs and integrations, and the modernization of legacy systems.

Cohash engineers design, build and maintain these applications with sign-in and API authorization designed up front, using Auth0, Okta or Entra ID, and connect them to Salesforce, Dynamics 365 and data platforms such as Snowflake.

Ask an engineer facts checked 2026-10-20 · 4 sources
platforms
you probably need this if
  • Customers use a portal that still stores its own passwords.
  • An app runs on a framework version that no longer gets security patches.
  • Data is re-keyed by hand between the CRM, ERP and a custom system every week.
the story · application services

From the first call to a setup your own team can run.

Here's what usually prompts a call about your Application Services, what we do about it and in which order, and where you end up.

  1. chapter 01 · where it hurts

    Why teams reach out

    • Customers use a portal that still stores its own passwords.
    • An app runs on a framework version that no longer gets security patches.
    • Data is re-keyed by hand between the CRM, ERP and a custom system every week.
  2. chapter 02 · what we change

    How we solve it

    • Web development
    • Mobile development
    • API integration
    • Legacy modernization
    • Platform deadline upgrades
  3. chapter 03 · where you end up

    What changes

    • The portal runs on a supported runtime and holds no passwords.
    • Orders reach the ERP without re-keying, and the integration user can only touch the objects it needs.
what we do

Where we spend the hours

5 areas of work, each one done by an engineer who has run it in production.

  1. We build customer portals, internal tools and public sites to WCAG 2.2 AA, and we measure them on Core Web Vitals. Sign-in goes to an identity platform instead of a password table.

  2. Native Swift and Kotlin apps, or React Native and Flutter where one codebase fits, kept current with Apple and Google store requirements every year.

  3. We build REST and event-driven integrations between CRM, ERP, data platforms and custom apps, and every one of them has its own OAuth client, scopes and monitoring.

  4. Old .NET Framework, Java and mainframe applications modernized in slices, with the old and new systems running in parallel until their outputs match.

  5. Upgrades driven by vendor dates. .NET 8 support ends on 10 November 2026, App Store uploads need Xcode 26, and Google Play updates must target Android 16.

capability 01 / 05in production

Web development

We build customer portals, internal tools and public sites to WCAG 2.2 AA, and we measure them on Core Web Vitals. Sign-in goes to an identity platform instead of a password table.

capability 02 / 05in production

Mobile development

Native Swift and Kotlin apps, or React Native and Flutter where one codebase fits, kept current with Apple and Google store requirements every year.

capability 03 / 05in production

API integration

We build REST and event-driven integrations between CRM, ERP, data platforms and custom apps, and every one of them has its own OAuth client, scopes and monitoring.

capability 04 / 05in production

Legacy modernization

Old .NET Framework, Java and mainframe applications modernized in slices, with the old and new systems running in parallel until their outputs match.

capability 05 / 05in production

Platform deadline upgrades

Upgrades driven by vendor dates. .NET 8 support ends on 10 November 2026, App Store uploads need Xcode 26, and Google Play updates must target Android 16.

typical situations

Situations we walk into

We pieced these together from Application Services situations that come up a lot. They're patterns. You won't find a specific client in them.

case file 01

Customer portal on .NET 8 with its own password table

composite · not a client story
  1. Beforethe situation

    The customer portal is on ASP.NET Core 8, with password hashes and email-based resets sitting in ASP.NET Core Identity tables. Support for .NET 8 ends on 10 November 2026. Security wants the passwords out of the application.

  2. What we dothe work

    Upgrade to .NET 10 and its dependencies on a branch first. Meanwhile, stand up Auth0, Okta or Entra External ID, migrate users either by bulk hash import or on first sign-in, and switch the portal to OpenID Connect. Once the last active user has moved, drop the password tables.

  3. Afterwhere you end up

    The portal runs on a supported runtime and holds no passwords. Resets, MFA and lockout have moved to the identity platform, where the security team can actually see them and tune them.

case file 02

Orders re-keyed every morning between a custom app and Dynamics 365

composite · not a client story
  1. Beforethe situation

    Sales reps put orders into a custom web app, and every morning an operations clerk re-keys them into Dynamics 365. The same app talks to Salesforce through one integration user that holds System Administrator.

  2. What we dothe work

    Map which system owns each order and customer field. Build an integration service with its own OAuth client per target, scoped to the objects it writes, and use idempotency keys so retries never create a second order. Retire the manual step after a parallel week reconciles.

  3. Afterwhere you end up

    Orders reach the ERP without re-keying, and the integration user can only touch the objects it needs. A failed sync raises an alert instead of waiting for someone to notice.

case studies

Application Services case studies

All case studies
architecture

Where custom applications sit between users, identity and your core systems

Web and mobile front ends sign users in through an identity platform and call APIs with scoped tokens. The API layer connects to CRM, ERP and data platforms, while legacy systems are wrapped and replaced in slices.

Where custom applications sit between users, identity and your core systems Web and mobile front ends sign users in through an identity platform and call APIs with scoped tokens. The API layer connects to CRM, ERP and data platforms, while legacy systems are wrapped and replaced in slices. 01 · USERS 02 · IDENTITY 03 · APPLICATION LAYER 04 · CORE SYSTEMS OIDC sign-in OAuth with PKCE access token OAuth client OAuth client events strangler routing Web applications portals · internal tools Mobile apps iOS · Android Identity platform Auth0 · Okta · EntraID APIs and services REST · events Legacy application .NET Framework · Java ·mainframe Sf CRM Salesforce D365 ERP Dynamics 365 Data platform Snowflake
Read the diagram as text
  1. Web applications → Identity platform: OIDC sign-in
  2. Mobile apps → Identity platform: OAuth with PKCE
  3. Identity platform → APIs and services: access token
  4. APIs and services → CRM: OAuth client
  5. APIs and services → ERP: OAuth client
  6. APIs and services → Data platform: events
  7. APIs and services → Legacy application: strangler routing
01Do you build new applications or extend existing ones?

Both. A lot of our work is extending or upgrading software that already runs the business, because that is where the deadlines and the risk usually sit.

02Which technology stack do you use?

Yours, if you have standards. For new builds we recommend a stack based on what your team can maintain after launch, which often matters more than any framework benchmark.

03How do you estimate an application project?

From a short discovery that fixes scope, integrations and non-functional needs such as accessibility, performance and compliance. Integrations and data migration are usually the biggest cost drivers, more than screens.

04Do you also support applications after launch?

Yes. We can maintain the application, handle platform upgrades and store submissions, or hand over to your team with runbooks.

05Can your engineers work alongside our in-house developers?

Yes. Many projects mix our engineers with yours in one backlog, using your repositories, code review rules and pipelines. That keeps the knowledge with your team when we step back.

related

Often paired with

Projects on Application Services usually end up touching one of these, so they're worth a look.

sources 4 sources linked last checked 2026-10-20 content fingerprint 908c0ad8
  1. 01.NET Blog: .NET 8 and .NET 9 end of supportdevblogs.microsoft.com ↗
  2. 02Apple Developer: Upcoming requirementsdeveloper.apple.com ↗
  3. 03Android Developers: Target API level requirements for Google Playdeveloper.android.com ↗
  4. 04W3C: WCAG 2.2w3.org ↗
Reviewed by the Cohash team Product names are trademarks of their owners. how we handle facts and data →
next step

Tell us what you're running. We'll tell you what we'd do first.

A 30-minute working session with a senior engineer. No slides.

useful to bring
  • The platform and the version you're on
  • Where you need to get to, and by when
  • What's custom: rules, plugins, integrations
  • Any audit finding or deadline driving it