Wizeline recently held a series of AI Clinics as part of its AI adoption initiatives. I had the opportunity to present my case in one of them.
First, what is an AI Clinic? In short, you present an AI implementation from your project. Then, a panel of experts listens and gives feedback on your architecture and approach.
The Model Editor
To understand the AI implementation, we need a little context on the client.
We are working with a major company specializing in the analysis and collection of financial data. They process more than 50 billion data points daily from over 85 different suppliers, serving almost 9000 clients.
This company has complex processes for data collection and transformation. At the beginning of those processes lives Sketcher, the protagonist of this blog.
The Problem: Manual JSON Editing
Sketcher is an interactive tool for designing data models. It gives engineers an easy-to-use interface with draggable and connectable elements to create internal data contracts.
Before Sketcher, the predecessor was a read-only diagram generator. To create a contract, users had to:
- Directly modify a JSON file.
- Manually comply with a wide set of internal rules.
- Wait almost 2 minutes for the app to load just to visualize if the relationships were correct.
The Solution: Interactive Design
Sketcher became a hit! It represented a massive step forward. Users no longer had to wait for visualizations. They could edit models with just a few clicks.
Sketcher even transcended its original engineering user base. It is now used by management and sales teams to facilitate knowledge sharing and business presentations.
The Pivot to AI Models
Back when Sketcher began production, the widespread use of Gen AI was still in its infancy and hallucinations were a common risk. Since we needed a strictly accurate output, AI was off the table.
Until it wasn’t.
As LLM capabilities improved, we decided to add AI to our roadmap. We developed initial features to test usage and impact on the actual engineering process.
We focused on three main features to improve the user experience:
1. Automated Descriptions
We used the LLM to generate descriptions for both the full data model and for individual objects.
- Goal: Fill the description fields automatically to help users create clearer models and ensure the data structure is easy to understand for everyone.
2. Object Edition
We added the ability to use a natural language prompt to edit single objects. This way, we prevented the LLM from changing the whole model too much.
- Goal: The prompt affects only a specific object, while allowing for new attribute and relationship creation.
3. Model Creation
Based on a reported use case where users relied on a CSV reference to create new data models, we added the ability to attach a CSV file with a custom prompt.
- Goal: Sketcher reads the file, extracts headers and uses the prompt to generate a model. The goal is not to let AI do the full job, but to give the user a custom start template to save time.
Prompting with the Output Format in Mind
As you might know, what you ask an LLM (called a prompt) is really important. When we designed these features, especially edit and create, we struggled with the output format.
We needed the LLM to return data that:
- Adhered to specific internal rules.
- Maintained correct properties and structure.
- Could be directly applied to our app without parsing errors.
Since the development of these features, OpenAI (whose model we ended up using) updated its API. Now it includes a convenient text parameter, allowing us to send a JSON Schema to ensure valid JSON responses.
| What is a JSON Schema? A JSON Schema is a format that defines the structure of a JSON file, similar to how a TypeScript interface defines a model. It lets you define required properties, data types, array lengths and more. |
Funny enough, we were already sending a JSON Schema (which we use for Model Validation on Sketcher) inside our prompt.
We had to wrap it with extensive instructions to ensure the LLM followed the schema strictly and returned only the needed JSON without conversational filler.
The Results
While direct time-saving metrics are still being quantified, user feedback confirms that Sketcher’s AI capabilities significantly reduce the effort required for data model creation and iteration.
Even with minor AI corrections, the overall time investment is less than building models from scratch.
Performance in the Last 30 Days:
136 Total Conversations initiated by users.
- 97 for Descriptions.
- 10 for Model Creation.
- 1 for Object Editing.
Current Usage: Sketcher currently maintains a user base of approximately 310 Monthly Active Users.
The adoption of AI into the Sketcher flow is a great example of how implementing AI in the right places can increase both productivity and the quality of the work done by its users. Since we can now leverage the heavy lifting of creating a compliant first draft, engineers can now start focusing on building High Quality data contracts.
