Refactor a Node.js Service into Scala with Effect Systems
Overview
What this challenge is about.
Refactor a Node.js Service into Scala with Effect Systems. Intermediate challenge in code. Writing production code that solves real engineering problems, ear...
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.
This is not a coding exercise. It is the work a software engineer does between a Jira ticket and a merged PR. That distinction matters to every hiring manager who has seen candidates solve LeetCode problems and none who have shipped production code under real constraints.
When you finish, you will have something most graduates do not: a real-world deliverable, verified by Ewance, that you can show to a hiring manager and say "I did this. Here is the proof."
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: