Runtime · Engine2026

Flutter SurveyJS

Native rendering engine that runs SurveyJS JSON definitions inside Flutter with JIT-accelerated JavaScriptCore.

Role
Solo engineer — engine, bindings, benchmarks
Timeline
2026 · 3 months
Stack
FlutterDartJavaScriptCore (JIT)flutter_jsfile_pickersignature
01

Screens & Architecture

Dynamic form runtime
Screen 01 · Dynamic form runtime
Rule engine bridge
Screen 02 · Rule engine bridge
02

The Problem

Teams already invested in SurveyJS JSON forms wanted native mobile rendering without rewriting rules and validators in Dart.

03

How I built it

  • Embedded JavaScriptCore via flutter_js to execute SurveyJS logic in-process.
  • Dart renderer maps 19+ question types (Matrix, Dynamic Panels, Signature) to native widgets.
  • Streamed validation and visibility updates back into Flutter with a minimal bridge.
04

Outcome

  • Full support for SurveyJS visibility conditions, skip logic, and validation.
  • Reused existing SurveyJS definitions unchanged, saving weeks of migration work.