Sentence Generator: Designing a Scalable System for Linguistic Data Creation
Role: Product & UX Designer
Skills: Systems thinking, workflow modeling, interaction design, Figma prototyping, linguistic UX, internal tool design
Timeline: Conceptual redesign of a tool I originally built at e2f
Project Summary
I designed a visual, modular system that enables linguists and non-linguists to generate thousands of natural-sounding utterances for NLP training.
The interface replaces manual sentence writing with a structured, multi-layer workflow built around templates, editable components, real-time previews, and flexible wordlists.
This redesign reimagines a tool I once built inside a complex data-creation pipeline — but with the clarity, modularity, and visual polish it deserved but couldn’t receive due to strict timeline constraints.
Problem
Our team needed to generate thousands of natural-sounding utterances per intent, but the manual process caused inconsistent quality, slow turnaround, high vendor confusion, and expensive QA cycles.
Audience & Constraints
Primary users: annotators, linguists, and non-technical ops staff - all different levels of experience and expertise when it came to language.
Constraints: syntactic correctness, strict distribution rules, no duplicates, and no automation tools like ChatGPT at the time.
My Approach
I conducted syntactic analysis of hundreds of real utterances, extracted recurring patterns, decomposed sentences into components, and prototyped a modular UI that let users generate variations while enforcing linguistic rules and validation. I designed the system based on observed QA patterns, common failure modes in past projects, and known engineering constraints — ensuring the tool addressed real issues even before formal testing cycles.
Evidence-Based Foundations (No Formal Iteration.. Yet!)
Although this redesign did not involve formal usability testing or multiple design cycles, every decision was rooted in real evidence from past production work:
Observed QA failure patterns — such as duplicates, inconsistent phrasing, or missing components — and structured the workflow to prevent those issues by default.
Identified linguistic inconsistencies in historical datasets and ensured the tool guided users toward balanced, predictable variation that met strict distribution requirements.
Aligned UI behavior with backend constraints, designing predictable states and structured interaction patterns that reflected how data needed to be processed downstream.
Anticipated user confusion based on prior tool usage and intentionally avoided academic grammar labels, deep nesting, or collapsible UI patterns that had historically caused misunderstandings.
Streamlined steps that previously triggered repeated clarifications between annotators, QA, and engineering teams.
This system was designed before ChatGPT and modern generative models existed, when there was no reliable way for machines to produce natural linguistic variation at scale. High-quality NLP data depended entirely on human intuition. Because of this, users needed full control over the sentence structure — the ability to add, remove, or reorder components to create authentically human, non-templated variation.
The tool never auto-corrects or enforces grammar; instead, the interface remains stable regardless of how the structure is edited. This combination of complete creative freedom and workflow stability was essential for producing diverse, natural-sounding utterances that didn’t feel mechanically assembled.
Even without a formal iteration cycle, the design incorporates years of workflow pain points, QA insights, linguistic patterns, and engineering realities — resulting in a first version built to eliminate known failure modes and support high-quality data creation at scale.
Outcome
Reduced QA turnaround, prevented duplicate utterances, aligned engineering + operations on a shared workflow, implemented consistent output format that allowed seamless integration into QA and delivery pipeline, and drastically increased generation speed for future iterations.
Outcome at a Glance
A single-screen, layered workflow that guides users from intent → structure → content → preview → export.
A modular interface that reveals linguistic structure visually, helping users understand patterns through interaction rather than instruction.
Full structural freedom with a resilient UI — users can reshape sentences however they choose to create natural variation.
Flexible wordlists inside each structural slot, allowing users to rewrite, reorder, or expand content without destabilizing the workflow.
Optional suggestions for beginners, full control for experts, enabling a smooth experience across skill levels.
Real-time previews that reduce cognitive load and make cause-and-effect relationships immediately clear.
A visual system built to accommodate complexity without collapsing under it, supporting high-volume data creation in a stable, predictable environment.
How the System Works
The Sentence Generator uses a layered workflow contained entirely within a single, unified interface. Each “layer” represents a different mental model and type of work, allowing users to move fluidly between structure, content, feedback, and output without switching screens or breaking focus.
1. Structural Layer — Define the Pattern
Users begin by shaping the sentence pattern itself: verbs, objects, locations, devices, modifiers. They can build a structure from scratch or use semantic search to pull a starting point from the intent template library. Scrollable columns visually anchor each structural component, helping users understand pattern shape without relying on academic labels.
Guiding idea: Make structure felt, not taught.
2. Content Layer — Populate the Wordlists
Each structural slot expands into a flexible wordlist users can freely edit — adding, deleting, rewriting, or reordering entries. This creates room for natural variation while keeping the workflow stable and predictable.
Guiding idea: Flexibility with guardrails.
3. Feedback Layer — Real-Time Preview
The preview updates instantly as users manipulate structure or content. This immediacy lowers cognitive load and reinforces the relationship between pattern and output.
4. Delivery Layer — Export for Downstream Use
Once the structure feels natural, users export variations for QA or engineering pipelines, completing a clean end-to-end workflow from intent → structure → content → preview → output.
Design Challenges & Key Decisions
1. Showing Structure Without Overwhelming Users
Sentence patterns can easily become academically dense—syntax trees, grammar labels, hierarchical notation. A spatial, modular layout solves this: scrollable columns reveal structure visually, allowing users to grasp patterns intuitively without linguistic training.
2. Supporting Two Very Different User Types
The tool needed to serve both:
Linguists, who want precise control
Non-linguists, who need clarity and speed
To bridge this gap, the UI uses:
fully editable structural components
a stable single-screen layout
optional suggestions for beginners
consistent grouping and patterns that reduce cognitive load
Underlying principle: power for experts, clarity for everyone.
3. Guidance Without Prescription
Natural variation—critical for realistic NLP data—comes from human judgment. Suggestions offer a helpful starting point, but nothing is locked; users can replace, rewrite, reorder, or remove anything.
4. Managing Complexity Without Hiding It
Rather than scattering steps across multiple screens or relying on collapsible sections, the design keeps all layers visible on one surface. This reduces context switching while keeping complexity approachable.
Key choices included:
scrollable containers
consistent spatial layout
predictable, stable interaction patterns
continuous real-time preview
Approach: keep complexity present, but never overwhelming.
System Architecture (High-Level)
The Sentence Generator follows a single-screen architecture where each functional layer—intent, structure, content, preview, and export—remains visible and accessible at all times. This creates a stable mental model while allowing users to modify any part of the workflow without losing context.
1. Starting Point: Intent
Users begin with an intent (e.g., “play music”) that frames the overall meaning. They can either create a structure from scratch or use semantic search to pull a relevant template from the intent library.
Role in the system: Establishes context and narrows the search space for structural patterns.
2. Structural Starting Patterns
The template library offers optional starting structures—patterns distilled from real utterance data. These templates act as scaffolding, not rules, and can be freely modified, rearranged, or stripped down by the user.
Role in the system: Provides non-prescriptive guidance rooted in linguistic patterns.
3. Wordlists: Content Population
Each structural component (verb, object, location, etc.) expands into a flexible wordlist. Users can add, delete, rewrite, or reorder entries to produce natural variation without destabilizing the workflow.
Role in the system: Supplies lexical variety while maintaining interaction-level stability.
4. Preview Composer: Real-Time Feedback
A live preview updates continuously as users modify structure or content. This feedback loop keeps cause-and-effect transparent and helps users judge whether outputs feel natural.
Role in the system: Reinforces coherence and reduces cognitive load.
5. Export: Downstream Integration
When satisfied, users export the generated sentences for QA review or ingestion into engineering pipelines. Outputs follow consistent formatting and distribution rules, ensuring compatibility with downstream systems.
Role in the system: Closes the loop from intent → output and supports high-volume delivery.
Why This Architecture Works
The entire system operates on a single, unified surface, reducing context switching and allowing users to see how changes in one layer influence the whole. Each layer maintains a distinct mental model—intent, structure, content, feedback, output—while staying visually and spatially connected.
This architecture supports:
High-volume data creation
Natural, human-driven variation
Full structural flexibility
Stable, predictable interaction patterns
Pre-generative AI workflows (when variation had to come from humans, not models)
Results
This redesign transforms a traditionally complex linguistic task into a clear, intuitive, single-screen workflow. Users learn structure through interaction rather than instruction, and can freely reshape both pattern and content while maintaining workflow stability. The result is a system that enables high-volume data creation that is:
linguistically coherent, even as patterns evolve
easy to quality-check, thanks to predictable structure and formatting
fast to generate, without sacrificing natural variation
accessible for novices while remaining powerful for experts
transparent in its logic, with real-time feedback that exposes how sentences take shape
The Sentence Generator shows how systems thinking, interaction clarity, and modular UX can make large-scale NLP data creation dramatically more intuitive—especially in a pre–generative-AI landscape where natural variation had to come from human judgment.
Reflection
This concept illustrates how I would design the tool with the benefit of hindsight, deeper experience, and a clearer systems-level perspective. It highlights my ability to:
simplify complex linguistic logic through intuitive interaction patterns
design layered workflows on a single screen to reduce context switching
create flexibility without sacrificing structural stability
balance expert-level precision with beginner-friendly clarity
build modular components and patterns that scale as complexity increases
reveal structure visually, rather than through academic notation
The looping video at the top provides an immediate sense of how the system behaves; the case study breaks down the architectural and design choices that make that experience possible.
Next
I’m exploring how this system could evolve in an era of AI-assisted generation—combining user-defined structure with model-suggested variations, while preserving the core principle of human control over naturalness and meaning. The goal is to extend this modular workflow into a hybrid human–AI environment where structure, creativity, and model assistance work together without sacrificing linguistic integrity.