Hey HN! I'm Karthik & have been working on Typemagic (<a href="https://typemagic.com" rel="nofollow noreferrer">https://typemagic.com</a>): a ChatGPT client that saves your prompts, and applies them when needed based on your chat.<p>The Problem:
Since it came out, I've been using ChatGPT for various tasks, such as coding, generating database queries, reviewing my writing, and learning new things. Initially, I found myself constantly managing useful prompts in a Notion doc. I'd either paste a prompt from Notion to provide the right context or sift through my chat history to locate that context.<p>Some examples of snippets I frequently used include:
- A detailed summary of my Tech stack.
- Movie and book preferences (for suggestions).
- My database schema (so that it could write queries).
- Writing guidelines to follow when reviewing my writing.<p>This workflow was fine for 3 prompts, but sucked for 10. So I set out to build a better way.<p>Typemagic automatically searches for the best prompts in your library, applying them when needed based on your chat. Once you save a prompt, you (hopefully!) don't have to worry about applying it manually - Typemagic takes care of it. While there's definitely room for improvement, this approach has been more effective than manually searching and pasting the right prompts for me.<p>I'd greatly appreciate any feedback you have, especially critical feedback :).<p>The Journey:
This is the second iteration of the product. In the first version, you could create ChatGPT agents to chat with. But before asking what you wanted, you had to choose the right agent to chat with. Needing to make this decision every time you wanted to switch context was too much friction.<p>I realized my design approach was outdated. With AI, we have the opportunity to offload more decision making from users' minds onto AI. The right balance is one in which users act more as managers: approving / rejecting proposals, vs. actually, outright, deciding. As AI becomes more powerful, this balance will shift towards AI making more / most of the decisions.<p>With this insight, my friend Akash and I designed the current version that relies on Typemagic choosing the prompts during your chat while giving you visibility and control over the prompts applied.<p>Under the hood:
Currently, Typemagic uses embeddings (<a href="https://platform.openai.com/docs/guides/embeddings" rel="nofollow noreferrer">https://platform.openai.com/docs/guides/embeddings</a>) to find the best prompt matches by comparing your current chat embedding with the embeddings for all of your prompts to find the best matches.<p>Using Firebase, Firestore for auth and to store data. Deployed on Vercel (huge fan!).<p>What's Next?
I'm working on enhancing the experience with faster performance, better recommendations, and the ability to share and discover useful prompts.<p>I'd greatly, greatly appreciate your feedback. Thanks for reading this far.