Back to references
HU/EN
Start a conversation

F12

SNAP – AI layer for a low-code framework

SNAP is F12's low-code front-end framework, where the interface is built from Blockly blocks. We built an AI layer for it: it generates a block from a text description, modifies an existing block, fixes one from an error message, and explains one from a screenshot.

Tech stack

LLLLM prompt engineering
TypeScriptTypeScript
CloudflareCloudflare
JSON / XMLJSON / XML

F12

Location
Hungary
Industry
Low-code AI
Start
June 2024
Client
SNAP is F12's low-code front-end framework, where the interface is built from Blockly blocks. We built an AI layer for it: it generates a block from a text description, modifies an existing block, fixes one from an error message, and explains one from a screenshot.
ChallengeApproachSolutionResultsImpactLive interface

The challenge

SNAP blocks are described in their own XML format. A general language model doesn't know it, so training data and prompts tailored to the format were needed.

What we delivered

  • A browser extension to copy block XML, which became the training data
  • 598 training examples in 3 areas: events, host elements, HTML elements
  • Fine-tuning scripts: upload, train, status check, cancel
  • An API with 5 endpoints: generate, modify, fix, explain, Q&A

The solution

Generate and modify

A text description becomes SNAP block XML, and an existing block can be changed by describing the change.

Fix and explain

From an error message and XML, the model returns a fixed block. From a screenshot and XML, it explains what a block does.

Training data and fine-tuning

We collected the examples from the SNAP interface with a browser extension, converted them from CSV to JSONL, and fine-tuned a language model on them.

Measurable results

598

training examples from SNAP blocks

5

AI endpoints: generate, modify, fix, explain, ask

3

skill levels the answers adapt to

SNAP – AI layer for a low-code framework
AI layer for F12

From description to block, from block to explanation

A SNAP developer can ask in text for a new block, a change or a fix, and get an explanation from a screenshot. The model learned from examples collected on the SNAP interface.

Live interface

The SNAP low-code interface: the AI generates and explains these blocks.

Have a project like this?

Let's talk about how to get the most out of it.

Start a conversation
Back to all references