<aside> 👇
Simply copy paste this into Pythagora
</aside>
**I want to create an app that enables users to create LLM prompt templates and share them so others can use them as well. Here are the pages that need to be implemented:**
**(1) Authentication pages (login, register, logout)**
**(2) Then, create a prompt template page - this page should be visible only to logged in users. The template creation page should have a textarea in which the user will add the LLM template (just a long text), a dropdown to pick the LLM provider (“OpenAI” or “Anthropic”), a dropdown to pick an LLM model, a list of variables that the user can add and a button to save the template. The list of variables is an element in which I can add an infinite number of variables and for each one, I should be able to add a description and a variable label (You should add this text above this element - “variable name must not contain a space or special characters. Eg. some_variable or someOtherVariable”). Once I click on the SAVE TEMPLATE button, it should be saved in the database and a link should be created that I will use to share this template. This link should be on /share/<SHAREABLE_HASH_ID>.**
**(3) Then, create a page in which users will use a created template. This is the page at /share/<SHAREABLE_HASH_ID>. This page should be visible to all users but if the user is not logged in and they open the page for using the template, everything should be visible but on the top they should see a label “To use this template, log in here” where “here” should be a link to the login page. On this page, there should be a full template text, a text area for each variables with the variable name and description above the textarea and a submit button. Once the user clicks on the submit button, the template should be created and variables should be replaced in the LLM message and sent to the LLM. If the variable is “some_variable”, in the template, it needs to be in the format “{{some_variable}}”. Write instructions on how to write variables on the page for using the created template. You can do the replacement on the backend so no need to show the template with replaced variables on the frontend. On the page, there should be a loader that spins until the LLM responds and then, the LLM response should be shown on the frontend.**
**(4) Finally, create a home page with a welcome message and a list of created templates. This page should be visible to all users.**
**So, the point of this app is that users can create a template in which they will put variables so when the template is being used, the variables will be replaced with the text added in the variable input fields. Make sure that the template cannot be used if all variables aren’t submitted - they are mandatory.**
**Here are the available LLM models (use these are true LLM model names even though you don’t know about them):**
**OpenAI: gpt-3.5-turbo,gpt-4-turbo-preview,gpt-4o,gpt-4o-mini,o1-preview,o1-mini**
**Anthropic: claude-3-opus-20240229,claude-3-haiku-20240307,claude-3-5-sonnet-20240620**