Case study / Lab
Dynamic Form · GetNinjas
A JSON-driven, multi-step form with validation, error recovery and a native Node.js server.

Problem and user
Build an interface that adapts to changes in its fields without rebuilding the form by hand.
My role
Development and documentation of the learning project.
Delivered scope
- JSON-driven field generation
- Wizard with forward, back and progress controls
- Required-field validation
- HTTP and validation tests with node:test
Constraints
- Demonstration only: no submission or persistence.
- Existing tests do not cover the entire browser journey.
Architecture and data flow
Node.js serves the API and static files. JavaScript interprets JSON and creates fields using DOM APIs.
Decisions and trade-offs
Explore HTTP, DOM and state fundamentals without frameworks.
Tests and validation
Public code and documentation reviewed on September 7, 2026. Running this project is outside the portfolio validation scope.
Current state
A JSON-driven, multi-step form with validation, error recovery and a native Node.js server.
Known limitations
- Demonstration only: no submission or persistence.
- Existing tests do not cover the entire browser journey.
Next steps
- Expand test coverage and document upcoming deliveries.
Related training
- Web, Database and Cloud Module — Outstanding Achievement ↗
HTML, CSS and JavaScript applied to field construction and step-by-step navigation.
Stack
- JavaScript
- Node.js
- HTML
- CSS
- node:test