AppBuilder_Wt from VineyardAppCamp Admin on Vimeo.

Level 1Create an app with a single button. The button should start off having '1' written on it. Every time you click the button, the number displayed should increase by 1.
Level 2Create an app with the words 'Watch Me' in a text box. There should be two buttons, 'Red' and 'Blue'. Everytime you click red.
Level 3Create an app with a single input and a button. The button's text should read 'Say It.' When you click the button, a popup should come up, saying whatever you typed in.
Level 4Create an app with two inputs, and one button. The button should say Combine. When you click combine, an alert should pop up, showing what was typed into the two inputs, added together. (For example, if 'Hello' is in one input and 'Its me' in the other, the alert should read 'Hello Its Me')
Level 5There should be two buttons on the app, one reading Cat, and the other reading Dog. Clicking on Cat will take you to a new page with the word cat on it. There should also be a back button on that page. Clicking dog will take you to a similar page, only dog is written on it, instead of cat.
Level 6Make a calculator! There should be two inputs where the user can enter numbers. And an add, subtract, and multiply button that the user can use to see the results of performing that operation on the two entered numbers! Make your calculator look good, too!

Define variables here ↕️ 🔡 🔠

Write html here ↕️ 🔡 🔠

Edit your element then make it!



Name (cant include any spaces, must include an underscore)




Enter your preferred app name on the AppStore

Enter a description for the AppStore. This is usually 2-3 paragraphs long and explains the apps features. See an app description on the AppStore for an example.

Create an icon for your app. To do this select an image you want to use for your icon, then upload it to This will generate a folder with icons. Email the folder contents to The subject line for the email should be AppIcon-{YourAppBuilder app name}

Take pictures of the 3 most important screens in your app. For mac, use the process here - For windows, use the process here -,can%20paste%20into%20another%20program. Send these pictures to with the subject line ScreenShots-{AppBuilderProjectName}

goTolink to another pagegoTo(pageNameAsString) -> returns void


filterfilters array down to elements that contain a certain phrasefilter(list_name_as_variable, phrase_as_string) -> returns a list


filter_list_of_objsfilters a list of objects to a new list, where columns match a certain valuefilter_list_of_objs(list_name_as_variable, columnNameAsString, expectedValue) -> returns a list


filter_obj_by_phrasefilters a list of objects to ones where the value in a column match a certain phrasefilter_obj_by_phrase(list_name_as_variable, columnNameAsString, phraseAsString) -> returns a list


findInArrayOfObjectsSearch an array of objects for one that matches a certain value for a certain columnName.findInArrayOfObjects(list_name_as_variable, search_obj) - > returns the first objec thtat matches if there is a match, returns false otherwise


uniquecreate a new version of a list, without duplicatesunique(nameOfDatabaseAsVariable) -> returns a list


shuffleshuffles a list, returning the listshuffle(list) -> returns a list

No pic

unique_return_one_keyreturns a version of a database containing only values from one column, and only unique valuesunique_return_one_key(databaseNameAsVariable,columnNameAsString) -> returns a list


randomreturns a random number between 0 and a number you chooserandom(highestPossibleNumberAsNumber) -> returns a number
textToSpeechreads some text in a robot voicetextToSpeech(text to read) -> returns nothing
filter_list_of_objs_multiple_keysfilter a list of objects with a filter object; returns the subset of the arr that match all the columns in the matching objectfilter_list_of_objs_multiple_keys(listNameAsVariables,MatchingObjectAsObject) -> returns a list
cloneclones a list, creating a new listclone(listNameAsVariables) -> returns a list
saveTosave a row to a databasesaveTo(nameOfDatabaseAsString, rowToPushAsObject) -> returns void


updateDatabaseupdate all the database rows that match a rowupdateDatabase(nameOfDatabaseAsString, databaseRowToChangeAsObject, databaseChangeToMakeAsObject) -> returns void


GAME FUNCTIONS (Useful for creating simple 2d games)
runWithIntervalrun a Javascript function repeatedly, every X second

runWithInterval(JavascriptToRunAsString, millisecondsIntervalAsNumber) -> returns a codestring that can be used to stop the function running

clearIntervalstops a function run with runInterval

clearInterval(codeAsString) -> returns void

createElementcreates an element in the app. First argument is "button", "image", or "text". Second is an object defining the style. Example {top:"50%",color:'red'} -> returns nothingcreateElement(elementNameAsString,styleAsObject) -> returns a number, which can be used with removeElement
removeElementremoves an element created using createElement. Argument is the id returned by createElement.createElement(codeAsNumber) -> returns void
removeOffScreenremoves all elements that are positioned off of the phone screen (useful for gaming)removeOffScreen() -> returns void
playplays musicplay(urlToMP3AsString) -> returns void
pausesPause all playing soundspause() -> returns void
Phone APIs
send_textSends Text from VAC Servers to phonesend_text(phoneNumberAsString,messageToSendAsString) -> returns void
user_textBrings up a pre-written text message on the users phone, to a given address, with a given messageuser_text(phoneNumberAsString,messageToSendAsString) -> returns void
user_emailBrings up a pre-written email on the users phone, to a given address, with a given messagesend_email(subjectAsString, emailAddressToEmailAsString,messageToSendAsString) -> returns void
read_textOn phone, reads given text out loud in AI voiceread_text(textToReadAsString) -> returns void
cache_dataSave a value to the phones memory, to retrieve latercache_data(keyAsString,value) -> returns void
retrieve_cacheRetrieves the value assigned to a key in the cacheretrieve_cache(keyAsString) -> returns value
clear_cacheClear all the data stored with cache_dataclear_cache() -> returns void
getLocationShows the users current location, lat and longgetLocation() -> returns void, part of an api to show location
monthA field that is always equal to the current Month (1 for January, 2 for February, etc)month
dayA field that is always equal to the current day in the monthday


Edit Mode On

Drag Mode On - Drag elements to reposition