Skip to content

Scala & JVM

Need help with a Scala system?

Technical review and embedded engineering for Scala services, Play applications, sbt builds, APIs and MongoDB.

Language & runtime

Scala 2.13 · JVM · JDK · Scala 3 considerations

Play & APIs

Play Framework · REST APIs · Play JSON · validation

Functional Scala

Cats · Cats Effect · FS2 · http4s · typed errors

Data & persistence

MongoDB · hmrc-mongo · document models · indexes

Builds & dependencies

sbt · project builds · compiler plugins · dependency maintenance

Testing & quality

ScalaTest · Mockito · unit · integration · acceptance tests

Refactoring & code health

Type-driven design · safer boundaries · code cleanup · maintainability

Production engineering

Live issue diagnosis · logging · monitoring · CI/CD · Docker

Scoped technical review

Scala Technical Review & Discovery

Investigate one Scala service or technical question and provide evidence the team can use to decide what to do next.

From £5,000

Useful when

  • A Scala or Play service is difficult to change
  • A framework, dependency or runtime decision needs technical evidence
  • The build, tests or production behaviour do not provide enough confidence
  • A recurring problem has no agreed cause or priority

Work included

  • Run the service and establish the available build and test baseline
  • Inspect the code, types, APIs, persistence and dependencies relevant to the question
  • Review relevant testing, delivery and production evidence
  • Use a small experimental branch when one assumption needs testing
  • Discuss missing domain or operational context with the client team

You receive

  • Concise written review of the current system
  • Ranked findings supported by code or runtime evidence
  • Recommended next steps and realistic options
  • Experimental branch where agreed and useful
  • Technical walkthrough with the team

Package boundary: The standard package covers one primary repository or deployable service and one technical question. It does not include implementation, an estate-wide audit, an exhaustive security assessment or a guaranteed delivery estimate. Broader reviews are scoped and quoted separately.

Day-rate engagement

Embedded Scala Engineering

Add experienced Scala engineering capacity to an established team with a backlog, product context and delivery process already in place.

From £600 per day

3-month increments · up to 12 months

Useful when

  • A team needs additional Scala or Play capacity
  • Features, maintenance or production issues need hands-on engineering
  • Planned framework, dependency or runtime changes need implementing
  • Testing, APIs, MongoDB or sbt work needs focused attention

Work included

  • Join the team’s existing backlog, reviews and delivery rhythm
  • Implement and maintain Scala services, Play applications and REST APIs
  • Improve types, service boundaries, MongoDB access and automated tests
  • Investigate build, dependency and production problems
  • Document decisions and share system knowledge as the work develops

You receive

  • Production-ready, reviewed engineering changes
  • Tests and documentation around completed work
  • Visible progress through the client’s existing workflow
  • Technical decisions recorded close to the work
  • A clean transfer of unfinished or completed work at the end

Package boundary: The working pattern and responsibilities are agreed for each three-month increment, with a maximum total engagement of 12 months. The client owns product priorities, domain decisions and acceptance. This is not unlimited availability, team management or permanent on-call support.

Process

Speak to us about a working arrangement.

Review scope and embedded capacity are agreed differently. Both begin with explicit responsibilities, access and commercial terms.

Choose the engagement

Use a technical review when the problem needs investigation, or embedded engineering when the team has work ready to deliver.

Agree the boundary

Confirm the repository, access, review question and outputs, or the embedded responsibilities and first three-month increment.

Work commences

Complete the review or current three-month increment, then make a separate decision about any follow-on work.

Client involvement

Access Requirements.

The client provides repository access, build and deployment instructions, relevant logs or environments, and someone who can confirm required behaviour. A review owns the agreed investigation. Embedded engineering works through the client’s priorities and delivery process. Product decisions and acceptance remain with the client.

What to share

Describe the service, current Scala and JDK versions, framework and sbt versions, and whether the team needs an unanswered technical question investigated or additional capacity for known work.

Discuss a Scala service

Start a conversation

Something difficult holding the product back?

A feature that needs shipping, an ageing service that needs attention, or a deployment that has become harder than the code. Talk to us about your problems.

Discuss your project