Get Started

Maya is new way to program a machine using just natural language. Build custom apps, automations and internal tooling in minutes without writing code.

Here's a demo of it in action :

We use a combination of conditional logic, neural search, classification, fine-tuned language models and template generation to make this work predictably and reliably in response to words you type.

Today, you can build one particular type of app well using Maya that let's you :

  1. Fetch custom data : Query custom data from an external source (like SQL, Gsheets, Notion etc), setup your details

  2. Visualize it : Plot and visualize it in a custom table, chart or graph

  3. Perform actions : Select and act on a particular data item (send an email, upload a file, trigger an API)

In the ideal experience we're trying to craft, Maya will incrementally generate programs & show results in response to steps you type in English. This should require no documentation, and should feel as natural as talking to a programmer friend.

Till we reach that ideal stage, this page of documentation is an attempt to fill in the gaps. It is currently a single page long, but should get shorter over time.

Quickstarter (5 mins)

1 . Log in to Maya at app.mayalabs.io.

2. Create and start a new workspace. Your screen should now look like this :

1. from gsheet get Name and Email
2. put into a table
3. modify in a form with fields Name, Email
4. put fields Name, Email into sql

6. Make sure you have a Google Sheet at hand. You can use one you already have, or duplicate this one and add your own columns. Click on/focus your cursor to the first command : "from gsheet get Name and Email". Maya zooms into the relevant part of the generated program.

7. Double click the <Insert Sheel URL> node and add the gsheet url. Click Done, and hit the Deploy button again (or Shift + Enter).

9. You can now authenticate the SQL part of the natural language program as well, change around the field/column names. Edit, delete, replace steps as you'd edit a normal program, and Maya works as you'd expect.

10. Click the copy icon to share it with your friends or team :)

Want to go back to blank slate? Click the Clear icon and hit Deploy to start from zero

Build from scratch (30 mins)

We'll be describing + making a quick application that fetches only certain columns from a certain Google Sheet and generates a custom email to send each person in the DB.

1 . Log in to Maya at app.mayalabs.io.

2. Create and start a new workspace. Your screen should now look like this :

3. Now, start typing into the text box in the synthesis panel : "from gsheet get Name, Email".

Based on what app you type, Maya suggests possible commands you could use. You could try out a few other prompt variations also : "from notion fetch Name and Email" or "from google sheet select Name, Email" or "from sql fetch Email and Name". Just make sure the column names exactly match the ones in your database.

4. Hit Enter. Maya generates a few nodes to fetch the Name & Email fields from a dummy Google Sheet. The purple circle above these nodes indicate that these are currently temporary, their dependencies are missing and have not been deployed for running yet.

5. Hit Shift + Enter to deploy them and see changes. Maya detects that the Google Sheet nodes are missing and tries to install the Gsheet module + . Sign in with your Gmail account to authenticate it to interact with your Google Sheet. This is now what you should see.

Make sure you have a Google Sheet at hand. You can use one you already have, or duplicate this one.

6. You can set up your Google Sheet url in the node called <Insert Sheet URL>. Check out the <Query Data> node to see which data is being extracted (in this case, only the columns Name and Email). Hit the Deploy Button again so these changes reflect.

6. Its time to now visualize this data! in the second step, type put into a table.Maya generates the next set of nodes to take the data and put it into a table. Hit Enter to see the nodes then Shift + Enter to deploy. Click the "Fetch" button again on the dashboard to plot the data in the table.

8. You can now perform an action on this data - say generating a custom email for each item in the list. For the next step, type in something like and hit Enter:

create a template for a custom email to user {{payload.Name}} asking them about how they're using your basketweaving product

7. Maya generates a custom template linked to items in the table, if you click each item in the table, you should see a different email with the fields filled in. Hit Shift + Enter to deploy. Don't like the email template? Just edit the command and hit Enter again to generate another variation of it.

Your first natural language program is now setup! You can edit and modify steps like you would a normal list of steps, and Maya should respond as you expect.

8. Share : Click the Copy button to copy it to your clipboard - you can now paste it into a note-taking app, or share your natural language program with a friend/colleague, . It's just a set of steps in English that they can then paste & modify for their own use.

Want to go back to blank slate? Click the Clear icon and hit Deploy to start from zero.

Further Steps

Now that you're done with a simple "Hello World" natural language program, you might want to try a few other things. Here are some more prompts to try out :

  1. "1. Get data from a dummy SQL, 2. put it into a table with name and email"

  2. "1. From sql fetch users who churned 15 days back 2. put into a table with name, latitude and longitude, 3. plot in a map"

  3. "1. Get a list of all users who signed up a week back from a dummy SQL, 2. put it into a table, 3. add a button to send them a custom email"

1. Query data from a custom data source

coming soon.

2. Plot in a table or a graph

coming soon.

3. Perform an action on a selected item

coming soon.

Future Roadmap

We are starting narrow with a single kind of custom app but based on demand will later expand to many more use cases. You can check what Maya can be used to build on the Maya Store.

  1. Scraping & navigating the web

  2. Connecting apps together

  3. Creating platform bots (Reddit, Twitter, Telegram etc)

  4. Automation data entry

  5. A command bar to trigger tasks manually

Send over a mail to humans@mayalabs.io if you get stuck / have any further questions.

Last updated