<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Paul</title>
    <description>The latest articles on DEV Community by Paul (@violinkhuba).</description>
    <link>https://dev.to/violinkhuba</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3633565%2F27c7705b-9a1d-4561-a659-b868986f5e10.png</url>
      <title>DEV Community: Paul</title>
      <link>https://dev.to/violinkhuba</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/violinkhuba"/>
    <language>en</language>
    <item>
      <title>AuthFlow Integration Assistant</title>
      <dc:creator>Paul</dc:creator>
      <pubDate>Fri, 23 Jan 2026 05:26:27 +0000</pubDate>
      <link>https://dev.to/violinkhuba/algolia-authflow-integration-assistant-2fi9</link>
      <guid>https://dev.to/violinkhuba/algolia-authflow-integration-assistant-2fi9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/algolia"&gt;Algolia Agent Studio Challenge&lt;/a&gt;: Consumer-Facing Conversational Experiences&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;A little background on &lt;a href="https://www.authflow.net" rel="noopener noreferrer"&gt;AuthFlow&lt;/a&gt;, before getting into how I wired an Algolia Custom Chat Agent to it for helping developer-customers wire our AuthFlow, for submission to &lt;a href="https://dev.to"&gt;Dev.to&lt;/a&gt;'s &lt;a href="https://dev.to/devteam/join-the-algolia-agent-studio-challenge-3000-in-prizes-4eli"&gt;Algolia Agent Challenge&lt;/a&gt;..&lt;/p&gt;

&lt;p&gt;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!) &lt;/p&gt;

&lt;p&gt;And, I'll note our AuthFlow RESTful API is ordinarily &lt;em&gt;super-easy&lt;/em&gt; 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 &lt;em&gt;should&lt;/em&gt; 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 &lt;a href="https://www.authflow.net/get-started" rel="noopener noreferrer"&gt;Getting Started documentation&lt;/a&gt;, 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?" &lt;/p&gt;

&lt;p&gt;➡️ "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 🤞🏻😀).   &lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;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 &lt;a href="https://www.authflow.net/dashboard" rel="noopener noreferrer"&gt;unauthenticated Dashboard&lt;/a&gt; with mock data up-and-running, where any web user can use our AuthFlow Integration Assistant. Or better yet, if you'd like to &lt;a href="https://www.authflow.net/sign-up" rel="noopener noreferrer"&gt;Sign Up for an AuthFlow Trial&lt;/a&gt;, 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:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5n0m4520ubnfv5lsgv8p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5n0m4520ubnfv5lsgv8p.png" alt=" " width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Algolia Agent Studio
&lt;/h2&gt;

&lt;p&gt;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 &lt;code&gt;.tsx&lt;/code&gt; 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 &lt;a href="https://www.authflow.net/get-started" rel="noopener noreferrer"&gt;https://www.authflow.net/get-started&lt;/a&gt;, which I fed to CoPilot. &lt;/p&gt;

&lt;p&gt;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 &lt;em&gt;not only&lt;/em&gt; 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 &lt;em&gt;also&lt;/em&gt; 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 &lt;em&gt;about our security Product&lt;/em&gt;, 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). &lt;/p&gt;

&lt;p&gt;Finally, I settled up on Algolia Custom Agent's Provider LLM, for &lt;em&gt;our&lt;/em&gt; 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 &lt;em&gt;with a Provider LLM&lt;/em&gt;--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 &lt;code&gt;toolHandler&lt;/code&gt; 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. 🎉&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Fast Retrieval Matters
&lt;/h2&gt;

&lt;p&gt;Algolia's fast retrieval was paramount here, as being able to test out the chat feature directly in &lt;em&gt;their&lt;/em&gt; 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 &lt;code&gt;toolHandlers&lt;/code&gt;. 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... &lt;/p&gt;

&lt;p&gt;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 &lt;em&gt;development use case&lt;/em&gt; 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, &lt;em&gt;before&lt;/em&gt; 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 &lt;em&gt;very nice&lt;/em&gt; 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... 🐱&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftzcvshwepohm93taywk3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftzcvshwepohm93taywk3.png" alt=" " width="800" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>algoliachallenge</category>
      <category>ai</category>
      <category>agents</category>
    </item>
    <item>
      <title>Paul E. Yeager, Engineer</title>
      <dc:creator>Paul</dc:creator>
      <pubDate>Wed, 07 Jan 2026 09:09:23 +0000</pubDate>
      <link>https://dev.to/violinkhuba/paul-e-yeager-engineer-2oj5</link>
      <guid>https://dev.to/violinkhuba/paul-e-yeager-engineer-2oj5</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/new-year-new-you-google-ai-2025-12-31"&gt;New Year, New You Portfolio Challenge Presented by Google AI&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  About Me
&lt;/h2&gt;

&lt;p&gt;I am a professional web engineer with over seventeen years of industry enterprise-exposure. I'm a detail-obsessed builder, leader, and Team player committed to best-practices. I write Javascript, Python, NodeJS, TypeScript, and I live-and-breathe DOMs and jQuery'ish idioms. I'm passionate about producing high-quality UX for humans, while I possess a deep understanding of TCP/IP and applied-crypto, stemming from the genesis of the World Wide Web, late-90's. I'm highly-adaptable, and get my main dopamine kicks from git pushes. I'm a resolute document author-maintainer, make open source contributions, and am endlessly-enthusiastic about the creative potentials for elegant synthesis in web engineering. &lt;/p&gt;

&lt;h2&gt;
  
  
  Portfolio
&lt;/h2&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__cloud-run"&gt;
  &lt;iframe height="600px" src="https://portfolio-4rxcme3vpq-uc.a.run.app"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;




&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;I built my Portfolio using &lt;a href="https://hexo.io/" rel="noopener noreferrer"&gt;Hexo&lt;/a&gt;, a blazing-fast NodeJS blog generator. Since all the site's deployable-assets are simple static HTML/CSS/JS (like in the old days of web), all the portfolio needed for deployment is a fast, "compute" instance for &lt;code&gt;/public&lt;/code&gt; to be deployed to, such as those provided by Google Cloud Run. That said, I not only tested my portfolio site in a Docker image, using a Dockerfile authored by Google's Gemini 3 Flash (utilized from my GitHub CoPilot, from within Visual Studio Code), saving me the time taken to write a Dockerfile, but I also used Gemini to gracefully-upgrade all the NodeJS project's &lt;code&gt;hexo&lt;/code&gt; dependencies in its NodeJS &lt;code&gt;package.json&lt;/code&gt; (such as its SASS renderer), testing the hexo generation outputs from within my Docker image's run in localhost, then simply deploying said image to Cloud Run, all without missing a beat. Having now used CoPilot for coding via AIs such as Gemini, throughout much of last year 2025, I've learned AI not only makes you a stronger programmer since you really have to pay close attention to the Agent's outputs for it aligning with your tech-design decisions, but it allows me to do a &lt;em&gt;lot&lt;/em&gt; less typing. And what dev likes to type a lot? Not me, that's for sure. Less is more!&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'm Most Proud Of
&lt;/h2&gt;

&lt;p&gt;I'm most proud of my single-line clean-and-generate--&amp;gt;re-Dockerize CLI Terminal interaction, suggested to me by Gemini Flash 3. This is the kind of thing that makes using AI as an already- highly-skilled coder with many years of experience, just absolutely such a boost to productivity. Whereas before I might have cleaned (&lt;code&gt;npm run clean&lt;/code&gt;), regenerated (&lt;code&gt;npm run build&lt;/code&gt;), rebuilt my Docker image (&lt;code&gt;docker build -t portfolio .&lt;/code&gt;), stopped and rm'd the running image (&lt;code&gt;docker stop portfolio-local &amp;amp;&amp;amp; docker rm portfolio-local&lt;/code&gt;) and finally re-run the image (&lt;code&gt;docker run -d -p 8080:8080 --name portfolio-local portfolio&lt;/code&gt;), take a look at what Gemini 3 Flash spit out "in a flash" (couldn't resist), without having done all of that as single commands, only realizing to piece it all together after an iteration or two: &lt;code&gt;npm run clean &amp;amp;&amp;amp; npm run build &amp;amp;&amp;amp; docker build --no-cache -t portfolio . &amp;amp;&amp;amp; docker stop portfolio-local &amp;amp;&amp;amp; docker rm portfolio-local &amp;amp;&amp;amp; docker run -d -p 8080:8080 --name portfolio-local portfolio&lt;/code&gt;. Beeaaautiful!! (Heck it even caught the &lt;code&gt;--no-cache&lt;/code&gt; option, which amidst several changes in-flight made to the blog's contents, might have taken a second-look on my part, pre-AI days.) That seemingly-obsessive little detail of dev-workflow for testing out changes, simplified by the Agent "right off the bat", is what I'm most proud of about the most recent-rebirth of my Portfolio, using AI as a tooling. Of course I would have arrived at Gemini's much-longer aggregate-of-commands -as-a-single-command &lt;em&gt;on my own&lt;/em&gt;, but how much time did the AI tooling-choice save me right there? That's the kind of thing that I know makes us much-more productive developers, as a result of using Agents, which also really would never have been obvious, unless I "made the leap", got a CoPilot subscription, and plugged it into my IDE. Thanks for the Portfolio dev-challenge opportunity, DEV! And thanks for suggesting Gemini, which I've now seen-to-believe, is indeed a very useful and powerful Agent (no flattery intended). :-)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcixha4fgmed02oz7d0al.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcixha4fgmed02oz7d0al.webp" title="Luck Dragon" alt="Everyone needs a luck dragon, who here is saying never give up and good luck will find you"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>googleaichallenge</category>
      <category>portfolio</category>
      <category>gemini</category>
    </item>
  </channel>
</rss>
