Synner is an interactive system for generating realistic synthetic datasets. It allows users to visually and declaratively define data properties such as domains, statistical distributions, and relationships between fields, while getting instant feedback through live previews.

Users define datasets through a spreadsheet-like interface. As they add columns or type example values, Synner suggests suitable generators, domains, and distributions. Every interaction immediately updates a preview of the generated data, along with simple statistics and visualizations.

Users can set value constraints and introduce missing values or errors. Dependencies between fields can be added interactively, with the preview updating immediately to reflect these changes. This makes it easy to tune realism while seeing the effect of each decision in real time.

The interface also visualizes uncertainty in the generated data, showing how distributions stabilize or vary depending on the number of generated data points.

Under the hood, Synner translates the specification into an optimized execution plan that respects field dependencies and scales to large datasets. The final data can be downloaded in multiple formats or exported as a standalone generation script.
I designed and built Synner end-to-end, including the declarative generation language, the data generation engine, and the interactive UI. I worked with stakeholders on system design, performance optimizations, and evaluation.