AI-Powered Automatic App Creation from Paper/PDF/Excel/Other Inputs

Disclosure: Primarily written by ChatGPT, with review and slight modifications by me.

Description:
As a long-time Tulip user since 2016, I believe that introducing an AI-driven Automatic App Creation feature using paper, Excel, PDF or other inputs would significantly enhance the user experience, encourage wider adoption of the platform and maximize value.

Problem:
New users often face challenges when building an app from scratch, as it can be difficult to understand the best ways to utilize variables, pages, tables, and other components. This learning curve can hinder users from fully harnessing the power of Tulip Interfaces. The App Library addresses this to a certain extent, but still requires reverse eng. which new users are not alway able to do well.

Solution:
Integrate a machine learning model into Tulip that can automatically generate a best-in-class application using inputs from an Excel sheet, Word document, PDF, paper form, etc. The user can upload their form and provide a brief description of the desired outcome, allowing the AI to understand the context and purpose of the form. The generated application can then be customized to suit the user’s specific needs. Will be critical to incorporate the desired outcome of the form (or input) to prevent digitization.

Implementation:

  1. Data Extraction: Use Optical Character Recognition (OCR) technology to convert paper documents into digital formats. For Excel sheets, Word documents, or PDFs, utilize existing libraries to parse and extract data.
  2. Natural Language Processing (NLP): Leverage NLP techniques to comprehend the user’s description of the desired outcome and analyze the extracted form data.
  3. App Generation: Employ AI algorithms to determine the best structure, components, and design for the application, including variables, pages, and tables, based on the analyzed data and user requirements.
  4. Customization: Allow users to modify the automatically generated application to meet their specific needs, providing a seamless and user-friendly experience.

Benefits:

  • Accelerate app creation process for users
  • Reduce learning curve for new users
  • Enhance overall user experience and satisfaction
  • Encourage wider adoption of Tulip Interfaces

By implementing this AI-powered Automatic App Creation feature, Tulip Interfaces will not only simplify the app building process but also empower users to achieve their desired outcomes more efficiently.

@youri.regnaud - curious what you think about this one and how helpful + feasible it is.

@royshilkrot, I think we had a conversation about this a few years back when GPT-2 was released. I think we were calling it “self authoring apps” back then. Curious what your perspective is now.

@freedman, any thoughts here for the library?

1 Like

@petrus_geldenhuis we’re actually cooking something up along these lines. Would love to collaborate. Are you interested in getting involved? We have some internal meetings coming this week but frankly I’d love to invite you!

1 Like

@petrus_geldenhuis I was thinking about looking for a customer champion to involve and this post is far too serendipitous to ignore!

@freedman - this is great to hear! Would love to be involved, please feel free to send any relevant invites (might be too late for the one you mentioned).

@petrus_geldenhuis I just sent you a video of what I’m experimenting with for using AI to generate applications from library content.

I’d love to hear your thoughts and ideas!

1 Like

Also, I recognize that what I sent isn’t exactly what you asked for but I think similar methods could be used to accomplish both!

This is awesome @freedman ! I think this is the first step towards creating what I envisioned. In this case you are somewhat limited to what is in the app library, but as you pointed out there are likely thousands of possible combinations.

Maybe the phase 2 of this could be to generate the code behind the apps independent from what is in the app library? Might not need the ability to ingest an excel or PDF form, but instead have AI build the app based on requirements (assuming the requirements takes less time to write than building the app without this feature).

For a phase 1.1 of what you showed it will be great to also pull from other apps in your instance (i.e. not only from the library).

Will what you showed in the video be available anytime soon? I also tried the ChatGPT app and it worked great!

Dear PJ, thank you for your question. It’s undeniable that MLL technology, like GPT-4, will have a profound impact on computer development in the future. However, in my opinion, the true potential of this technology lies not in NoCode development, which is inherently accessible, but in aiding complex activities in Tulip such as creating custom widgets, complex triggers, analysis, functions, and machine mapping.
« Build your custom widget with ChatGPT » can be a good academy course for citizens developers community for example

For operators, the use of natural language could present a new opportunity to further improve the user interface.

1 Like

@youri.regnaud I really like this idea. This is something we’ll keep in mind as we start to get better at prompting ChatGPT for producing widgets, and when we have a reliable methodology to share.

If you (or anyone else) feels like you’re consistently getting useable widgets please let us know what your process looks like!

2 Likes

Thanks for the reply Youri and excellent point! Agree, probably much more impactful with adding more complex activities, but would still be nice to have an 90% custom draft of an app available build in a consistent manner. This issue can also be solved by a proper CoE around Tulip, but what I am seeing is that folks would rather take the time to build something in Airtable or some other tool vs Tulip in situations where it is a purely grass roots effort. The apps that are built by users from the ground up does not always follow best practices and could likely be built better by someone else (the ones I have built included). If ChatGPT can be used to address these two issues I still think it will be valuable, but not sure what the effort it will take.

Love this idea though!!

« Build your custom widget with ChatGPT » can be a good academy course for citizens developers community for example

@John - looks like ChatGPT has not been trained on custom Widgets, so next version might be better, but I have not played around with custom Widgets enough to know if this matters - I do not think so since the code is open.

@petrus_geldenhuis, that makes sense, the feature was release in the middle of last year. That said, some folks internally have said their getting decent results with this prompt (+ example for context).

Try defining a widget in your prompt as:

A widget comprises HTML, CSS, and Javascript snippets. The following functions are avaliable as global functions and do not need to be defined:

// When the parameter specified by the name changes, call the callback with the new value
getValue(parameterName: string, callback: (newValue: any) => void) => void

// For writable parameters, writes the new value back to the provider
setValue(parameterName: string, newValue: any) => void

// Fires an event
fireEvent(eventName: string, eventValue: any) => void

Then try feeding it an example like this:

Make a widget of a gauge. The gauge should have a needle that points at the current value of the gauge. The value is provided by a parameter 'currentValue', which is an integer. The minimum value of the gauge is 0 and the maximum is 10.

Provide the HTML, CSS, and Javascript as separate pieces of text. Do not include the head or body tags for the html. Do not write anything outside of the HTML, CSS, and Javascript.

I haven’t tried this personally, but @Reshef.Gadot shared this earlier Andrew Ng course on prompt engineering earlier today: ChatGPT Prompt Engineering for Developers - DeepLearning.AI

1 Like