Refactor a Node.js Service into Scala with Effect Systems
Overview
What this challenge is about.
Rewrite Node.js price code in Scala 3 with ZIO, model all effects explicitly, and benchmark results. Earn a verifiable certificate.
The scenario
The scaleup (around GBP 6M ARR, ingesting from 14 exchange feeds) has had 6 production incidents in the last year traced to silent error swallowing in the Node.js codebase.
The Brief
What you'll do, and what you'll demonstrate.
Rewrite a 1,200-line Node.js price-normalization pipeline in Scala with an effect system, proving the typed-errors + deterministic-testing benefits with measured evidence.
Earning criteria — what you'll demonstrate
- Apply ZIO (or Cats Effect) to a real production-shaped service
- Model errors in types so the compiler catches unhandled cases
- Use structured concurrency to avoid leaked fibers
- Communicate the tradeoffs of an effect-system rewrite honestly
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Functional Programming
Bachelor · Programming Languages
Strong alignment
This challenge maps to Functional Programming at the Bachelor level. It sharpens the same practical skills your coursework expects — but in a real industry context with actual constraints and deliverables.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Scala Programming
Apply scala programming to solve real industry problems and demonstrate production-level capability.
- Zio Effects
Apply zio effects to solve real industry problems and demonstrate production-level capability.
- Cats Effect
Apply cats effect to solve real industry problems and demonstrate production-level capability.
- Typed Errors
Apply typed errors to solve real industry problems and demonstrate production-level capability.
- Structured Concurrency
Apply structured concurrency to solve real industry problems and demonstrate production-level capability.
- Pure Functions
Apply pure functions to solve real industry problems and demonstrate production-level capability.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles: