An AI How-To app built in Flutter using ConjureAPI.
It displays a list of how-to guides added by the user:
It allows the user to add new how-to guides:
Loading takes some time via OpenAI so I poll ConjureAPI to fetch the how-to guides when they're done loading:
And once done you can view the interactive how-to guides generated by GPT-3.5:
Data is generated using ConjureAPI which allows content generation matching a specific JSON format.
The Content Type
specified on ConjureAPI is: "Instructions on How to Perform Tasks"
The following is the schema provided to ConjureAPI:
{
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"estimatedTime": {
"type": "string",
"pattern": "^(([1-9][0-9]*h)?\\s*)?([1-5][0-9]m)?$"
},
"requirements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string"
},
"quantity": {
"type": "string"
},
"notes": {
"type": "string"
}
},
"required": [
"item",
"quantity"
]
},
"minItems": 1
},
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"stepNumber": {
"type": "integer",
"minimum": 1
},
"instruction": {
"type": "string"
},
"notes": {
"type": "string"
}
},
"required": [
"stepNumber",
"instruction"
]
},
"minItems": 1
},
"notes": {
"type": "string"
}
}
The how-to guide requested by the user is sent as a part of the query string to the ConjureAPI endpoint.
The ConjureAPI endpoint is configured in a .env
file:
CONJURE_API_URL=https://www.conjureapi.com/endpoints/<endpoint>
CONJURE_API_APPLICATION_ID=<Application ID>
CONJURE_API_ACCESS_TOKEN=<Application Access Token>
Set up a ConjureAPI endpoint and configure the .env
file with it like above
Follow these official guides: