Hi HN,<p><a href="https://superfunctions.com" rel="nofollow noreferrer">https://superfunctions.com</a><p>I'm working on a web app that allows Ai prompts to function as an API. I want to make it easier for developers to use Ai. I've found it painful to monitor, cache, and iterate on prompts. superfunctions.com is designed to be the simplest building block to create Ai powered apps and scripts.<p>Simplest example I can think of:
You want an api to convert human-named colors to hex
You can write a prompt like: "convert {{query.color}} to color, only output hex for css" and then you can call your prompt with <a href="https://superfn.com/fn/color-to-hex?color=blue" rel="nofollow noreferrer">https://superfn.com/fn/color-to-hex?color=blue</a>
and the response will contain: #0000FF<p>Watch a short video intro:
<a href="https://www.youtube.com/watch?v=KdO1TBUbRuA">https://www.youtube.com/watch?v=KdO1TBUbRuA</a><p>Login without needing an account:
<a href="https://superfunctions.com/login/anon" rel="nofollow noreferrer">https://superfunctions.com/login/anon</a><p>I'm still sorting out a few bugs, but it's usable in it's current state.<p>This is my first solo project, so I'm very open to feedback and suggestions.<p>-Trent
Nice work! Curious how you see the differentiation from similar products, like <a href="https://www.trudo.ai/" rel="nofollow noreferrer">https://www.trudo.ai/</a>, <a href="https://promptitude.io/" rel="nofollow noreferrer">https://promptitude.io/</a>, <a href="https://www.fixie.ai/" rel="nofollow noreferrer">https://www.fixie.ai/</a>, <a href="https://www.baseplate.ai/" rel="nofollow noreferrer">https://www.baseplate.ai/</a> and others.
Funny demo! I really did LOL (wont spoil it)<p>And beyond that interesting generative AI use case. The big challenge is thinking what is possible.<p>The next step might be simple chaining (of APIs not LLMs). So the API calls another API (e.g. get celeb news) then gives that info and a prompt to return a value. For example the same celeb api but with latest news in under 140 characters.
Love the project! Just read about grimoires with prompts by Ethan Mollick <a href="https://open.substack.com/pub/oneusefulthing/p/now-is-the-time-for-grimoires?r=1hy840&utm_medium=ios&utm_campaign=post" rel="nofollow noreferrer">https://open.substack.com/pub/oneusefulthing/p/now-is-the-ti...</a> and this looks like one of the ways to store your prompts!
Having a caching layer also seems useful from cost point of view. I can imagine that with sufficiently large number of users their prompts and responses sometimes will be similar, and this provides space for cost savings, nice idea:)
Interesting project. How do you propose to sanitize the results? I used your example endpoint above and called it for chartreuse. Instead of just giving me a direct hex code like `#0000FF` for the blue example, it returned `The hex code for chartreuse in CSS is #7FFF00.`, which I'm pretty sure most systems would choke on. It seems to do this for a about 1/3 to 1/4 of my queries. Asking for a color it doesn't like causes it to choke and return an "I'm sorry, I cannot blah blah blah" response.
If one creates a new app (which was unclear what that even means), then the resulting 403 makes the site never load again (just choosing instead to say "Loading ..." forever)<p>Kind of related to that, if a user created a new app, it's weird that the new app would be 403 to that user