Design an Invoice-Rules Mini-Language for Non-Technical Users
Overview
What this challenge is about.
Design an Invoice-Rules Mini-Language for Non-Technical Users. Advanced challenge in design. Designing real products under real constraints, earn a blockchai...
The Brief
What you'll do, and what you'll demonstrate.
Power-users cannot define their own invoice-line rules without engineering help, creating a support bottleneck that a safe, purpose-built rule language could remove.
This is not a design exercise. It is the work a product designer does between a brief and a shipped interface. That distinction matters to every hiring manager who has seen candidates redesign Spotify's homepage and none who have worked under real product 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
- Translate informal billing requirements into an unambiguous formal grammar
- Implement a recursive tree-walking interpreter and extend it through higher-order operator/action registration
- Apply modular design to keep grammar, evaluation, and user interface independently changeable
- Reason about deliberate expressiveness limits as a safety and usability trade-off
- Validate a developer tool's usability with real non-technical users
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Aligned coursework coming soon.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Abstraction
Apply abstraction to solve real industry problems and demonstrate production-level capability.
- Recursion
Apply recursion to solve real industry problems and demonstrate production-level capability.
- Domain Specific Language
Apply domain specific language to solve real industry problems and demonstrate production-level capability.
- Parsing
Apply parsing to solve real industry problems and demonstrate production-level capability.
- Python Programming
Apply python programming to solve real industry problems and demonstrate production-level capability.
- Modular Design
Apply modular design 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:
Software Engineer (Developer Tooling)
Building a safe, user-facing rule language mirrors real tooling work: designing constrained interfaces that let non-engineers configure behavior without shipping code. You practice grammar design, recursive evaluation, and modular boundaries that keep a tool maintainable as requirements grow.
This challenge sharpens
- domain-specific-language
- parsing
- modular-design
Backend Engineer (Rules & Billing)
Billing systems run on configurable rule engines. This challenge develops the core skills—abstracting business rules into data and evaluating them recursively in Python—that backend teams use to make pricing and tax logic changeable without redeploys.
This challenge sharpens
- abstraction
- recursion
- python-programming
Language & Compiler Engineer
Designing a grammar, parsing it into a tree, and walking that tree are the foundations of language implementation. The challenge gives a contained, end-to-end taste of building and reasoning about the expressiveness limits of a small language.
This challenge sharpens
- domain-specific-language
- parsing
- recursion