All posts
case-studywidgetkitcloudworkflow

Proof narrative: from one prompt to a validated flight widget

A concrete walkthrough of the Axint workflow: describe a feature, generate the Apple-native surface, then use Cloud to review what would actually block shipping.

Nima NejatFriday, April 17, 20267 min read

The easiest way to understand Axint is to stop talking about infrastructure and walk one feature all the way through.

Let's use a simple example:

"Show my next flight, the departure gate, and the time remaining in a widget."

That's a feature an AI coding tool can describe quickly. It is also exactly the kind of feature that gets annoying once you try to ship it on Apple platforms.

Step 1: describe the feature in a compact surface

Instead of asking a model to brute-force WidgetKit from scratch, we ask it for the smaller Axint definition:

typescript
defineWidget({
  name: "NextFlightWidget",
  displayName: "Next Flight",
  description: "Shows the next departure and time remaining",
  families: ["systemSmall", "systemMedium"],
  entry: {
    flightNumber: entry.string(""),
    gate: entry.string(""),
    departureTime: entry.date(),
    minutesRemaining: entry.int(0),
  },
});

That is the point. The authoring surface stays small. The Apple-native complexity does not disappear; it gets handled in the compiler.

Step 2: generate real Swift

Axint emits the WidgetKit provider, entry model, configuration, supported families, and the SwiftUI widget body. It is ordinary Swift you can open and inspect.

That matters for trust. This is not a runtime wrapper or an opaque black box. The result is still a .swift file you can review like any other source file.

Step 3: run it through Cloud

This is where people usually get the product.

Cloud is not there because generating Swift once is the hard part. Cloud is there because the real pain starts after generation:

So after generation, Cloud gives you a report URL, diagnostics, and a compatibility-aware history surface instead of "works on my machine."

Why this is a better demo than a buzzword

If you're vibe coding, the value is obvious: your AI tool can stay in the short description loop while Axint handles the Apple-native execution path.

If you're on a product team, the value is different: you get a validation artifact you can actually share with another human.

If you're on a release team, the value is simpler still: one place to see whether an Apple-native change is clean or risky.

The real product insight

Most people think the interesting moment is prompt to code.

For us, the interesting moment is code to trusted artifact.

That is the difference between a cool demo and a feature a team will actually ship.