Refactor a Node.js Service into Scala with Effect Systems
Overview
What this challenge is about.
Take the existing Node.js price-normalization code (provided). Rewrite in Scala 3 using ZIO (or Cats Effect) — model every effect explicitly (IO for side effects, Either or typed errors for failures, structured concurrency for parallel fetches). Demonstrate: typed errors (no exceptions escape the type signature), deterministic testing (no flaky tests due to timing), structured concurrency (no leaked fibers). Benchmark vs the Node.js version on throughput + tail latency. Deliver Scala source, benchmark results, and a 6-page comparison writeup including team-skill-acquisition cost.
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.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
Careers
Roles this prepares you for.
Real titles. Real skill bridges. Pick the one closest to your trajectory.
Career mappings coming soon.