This is a submission for the Algolia Agent Studio Challenge: Consumer-Facing Conversational Experiences
What I Built
A little background on AuthFlow, before getting into how I wired an Algolia Custom Chat Agent to it for helping developer-customers wire our AuthFlow, for submission to Dev.to's Algolia Agent Challenge..
AuthFlow is a Platform-as-a-Service (PaaS), for simple, secure email/password JWToken authentication. If you're a developer like me, and would ordinarily use a PaaS such as say, Auth0 or Supabase--or numerous other platforms--for wiring your email/password signup-and-login flows, well: at AuthFlow, we're competing with "the Big Auth PaaS". Authentication with AuthFlow f.e., starts at $1.99 USD/month--no enterprise frills (yet), such as Google/Apple/Facebook OAuth--just simple email/password auth via JWT!! (That's not intended as a shameless plug BTW, but this is why we exist--to help developers get their auth up-and-running, and much more easily than auths we've used in the past!)
And, I'll note our AuthFlow RESTful API is ordinarily super-easy to wire--that is, if you're an experienced API dev, and know REST and toolings such as Postman, Insomnia, Swagger--in which case it's like, "no-brainer" easy--in that case it should be pretty easy. But that said, a lot of entry-level devs out there (like after all, we once were at AuthFlow, and like I know a few readers here may be too), who are struggling to wire authentication in your from-scratch apps--you might still not yet know how to do RESTful API calls in an assortment of programming languages, let alone RESTful Bearer Authorization pattern. That's what's necessary for wiring our Tech Product, AuthFlow, which takes care of the super- low-level applied-crypto stuff of auth for you. And that said: having integrated multiple Session Replays such as Sentry and Bing Clarity onto our site's members' dashboard, whereby I've been trying to understand how devs are trying to use our product (by following their mouse-movements and clicks around to analyze what they're doing while on our site), I've been noticing over the last several months of AuthFlow's infancy: apparently, many devs still can't seem to make sufficient sense of our Getting Started documentation, for actually wiring our platform's authentication to their sites-and-apps. Thus I've been pondering, "well OK, how do we better-engage them?"
β‘οΈ "Eureka!" When I saw Dev.to's Algolia Agent Challenge, I said to myself "wow, this is a perfect use-case for engaging our developer-customers into actually wiring and making use of our Tech Product!!" (And maybe I'll even win some prize-cash for my development-cycles' coffees in the meantime, while AuthFlow is still attempting to achieve scale π€π»π).
Demo
Since AuthFlow's largely still in stealth-funding mode, furthermore (to say the least, thus winning that prize-cash would certainly help in more ways than just βοΈ), we have an unauthenticated Dashboard with mock data up-and-running, where any web user can use our AuthFlow Integration Assistant. Or better yet, if you'd like to Sign Up for an AuthFlow Trial, then you can do that too, and the Assistant will help you wire our auth, real-world. There, you'll be able to interact with the Algolia-integrated AuthFlow Integration Assistant, in the bottom-right corner of the screen. Also feel free to use our Bug Report feature, just below it, if encountering any bugs. (We'll kick into action as soon as possible, and as far as our human-dev sleep-cycles allow, and get any bug-fixes hot-deployed!) Your Dashboard should look like the below screenshot, with the Algolia Agent-wired AuthFlow Integration Assistant, in the bottom-right corner:
How I Used Algolia Agent Studio
Before integrating our custom Algolia Agent for AuthFlow's Integration Assistant chat, I actually wired Algolia's Search first, just to get a feel for Algolia. It's now at the top of every page of our site, adding a nice Internal Search, courtesy Algolia, with every page of our site indexed in their search indeces. Once getting a feel for the platform, I wired our Custom Agent, for integrating with a new client-side React chat Component, to-be included as .tsx in our site's NextJS Vercel-deployed frontend. To do that, and since developing everything needed would have ordinarily taken much (much) longer, manually, I instructed my GitHub CoPilot, which is integrated in my preferred Visual Studio Code IDE, to rough-draft both our Custom Agent's Prompt Instructions, as well as several custom Tools for the Agent to reference, for the Custom Agent Chat's JSON parameters, according to the provided contexts of our Getting Started documentation at https://www.authflow.net/get-started, which I fed to CoPilot.
I'll just mention here, that I had to switch between a few different models as CoPilot's Agent, to get some truly-satisfactory boilerplate there. Finally though, after ~2-3 days of tinkering around, CoPilot did ultimately an output to my likings, giving not only decent JSON boilerplate from which to derive our Tools JSONs--for our developer-customers to really get some instructive human-benefit out of chatting with our Assistant--but also as the mentioned client-side React Chat component wiring the Agent in our NextJS UI, for inclusion in our Tech Product's Dashboard. Also, I'll mention, that I switched up the Algolia Custom Agent's LLM Provider a few times, before I was entirely-satisfied with the apparent degree of technical-literacy about our security Product, that I was looking for the Agent to prove it had, so as to properly-elucidate to customers on how to wire our RESTful API Bearer Authentication pattern (and in a variety of languages; not only JavaScript, but also Python and some others, including just plain cURL for our developers' testing purposes).
Finally, I settled up on Algolia Custom Agent's Provider LLM, for our sufficiently-seamless, low-latency Assistant chat experience. I will admit, in circumspect: I was a little trepidatious about using LLM via CoPilot, ultimately for integrating an Agent with a Provider LLM--this felt a bit uhh, carnivorous--but if I had not done so, the Custom Agent integration would have taken well over a week, vs. the 2-3 days it took via CoPilot, especially considering React client-side Component, which needed to align its toolHandler calls with the Tools I provided the Custom Agent configs, for providing our developer-customers properly-param'd chat replies with example code, so-as to align with our existing documentation. Once I got there, and having scrolled through our ~700 lines of React Component several times, to ensure nothing CoPilot did there was in disagreement with my understanding of React best practices, I'm feeling pretty good about our Assistant. Ultimately, since nothing I build actually has any real utility IMHO/IME, until humans are (hopefully joyously) using it, I won't really know if my ability to "geek out" aligns with results, but hey, if said new Feature is the reason Trial users pay to subscribe, then wow, what a deal, right?! Or better yet, if we win in this Challenge, then I can build out our Tech Product even more features, or possibly even hire on additional devs, since that's in AuthFlow's aspirations. π
Why Fast Retrieval Matters
Algolia's fast retrieval was paramount here, as being able to test out the chat feature directly in their Agent Studio, prior to production-wiring Tools-handlers, proved extremely-valuable to delivering the production feature. By Algolio Studio providing said Provider LLM testing, directly therein, I was able to rule out much earlier-on than in other chatbots I've built, what was A) coming from Provider LLM, given Prompt Instructions and Tools parameters, vs. B) what was glitchy in our production Algolia API-integrated toolHandlers. This made it much easier and highly time-saving, as an elegant SOC (Separation of Concerns) to assert seamless Provider LLM selection, vs. "flying LLMs blind", not really knowing whether something was resulting from the choice of LLM, or our code...
This is after all, why I was so happy to stumble upon the Algolia Agent Challenge initially too, because once starting up the Agent Studio, I could see Algolia puts the development use case far before the underlying model-integration. Call me a "High EQ" dev (admittedly, perhaps higher-EQ than IQ), but that's satisfying to me, based on ~17 years experience putting stuff in productions and hoping it stays there helping people--GPT, Gemini, Claude, Grok, etc., they can all "do a lot" when it comes to wiring Prompts--but what will the users' integrations look-and-feel be, before I deploy. I'm a big fan of rapid-prototyping and POCs for value-adds, likewise, while understanding that a "straw house" is never ultimately what we put in prod. So that said, Algolia put up some very nice straws, for fast retrieval of actual human-seeming chat, minus a lot of otherwise potentially-wasted typing, for asserting pre-production, what would be our UX. When writing and testing code for production use, I've usually found "less is more"--I like to KISS ("Keep It Simple Silly"--adapted from an ol' classic)! I could see, Algolia and I seem to think alike... π±


Top comments (0)