<?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: April Smith</title>
    <description>The latest articles on DEV Community by April Smith (@aralovelace).</description>
    <link>https://dev.to/aralovelace</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%2F382226%2Fde696766-8d4c-4bcc-9ab3-b4d535420e19.jpg</url>
      <title>DEV Community: April Smith</title>
      <link>https://dev.to/aralovelace</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aralovelace"/>
    <language>en</language>
    <item>
      <title>Building a Privacy AI Parent Chat with Ably AI Transport</title>
      <dc:creator>April Smith</dc:creator>
      <pubDate>Sun, 01 Mar 2026 22:22:11 +0000</pubDate>
      <link>https://dev.to/aralovelace/building-a-privacy-first-ai-parent-chat-with-ably-ai-transport-fgd</link>
      <guid>https://dev.to/aralovelace/building-a-privacy-first-ai-parent-chat-with-ably-ai-transport-fgd</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/weekend-2026-02-28"&gt;DEV Weekend Challenge: Community&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Community
&lt;/h2&gt;

&lt;p&gt;Parents today face a difficult choice: stay connected with their community on platforms like Facebook, WhatsApp, or Instagram or protect their family's privacy. &lt;/p&gt;

&lt;p&gt;These Big Tech platforms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Collect and monetize your family's data&lt;/li&gt;
&lt;li&gt;Require phone numbers and personal information&lt;/li&gt;
&lt;li&gt;Mix your private family life with public social media&lt;/li&gt;
&lt;li&gt;Show ads based on your parenting discussions&lt;/li&gt;
&lt;li&gt;Own your conversations&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Our Solution: Privacy First Parent Chat&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Elite Parenting&lt;/strong&gt; is a private, real-time chat platform built specifically for parent communities who want to stay connected without sacrificing their family's privacy.&lt;/p&gt;

&lt;p&gt;The app is a private, an invite only chat for parent communities who want their conversations to stay theirs.&lt;/p&gt;

&lt;p&gt;🔒 &lt;strong&gt;Privacy First&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No phone numbers required, access via secure invite tokens&lt;/li&gt;
&lt;li&gt;No Facebook, Google, or social media login&lt;/li&gt;
&lt;li&gt;Invite only communities &lt;/li&gt;
&lt;li&gt;No data mining&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💬 ** Real-Time Community Features**&lt;/p&gt;

&lt;p&gt;Smart Group Chat:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time messaging powered by Ably Pub/Sub&lt;/li&gt;
&lt;li&gt;See who's online right now with live presence&lt;/li&gt;
&lt;li&gt;Typing indicators show when others are responding&lt;/li&gt;
&lt;li&gt;Like/heart reactions to show support without cluttering the chat&lt;/li&gt;
&lt;li&gt;Message history automatically loads when you join&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Perfect for parent communities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Has anyone tried sleep training with a 2 years old?"&lt;/li&gt;
&lt;li&gt;"Looking for pediatrician recommendations near downtown"&lt;/li&gt;
&lt;li&gt;"Who's available for a playdate at the park this Saturday?"&lt;/li&gt;
&lt;li&gt;"My toddler won't eat vegetables, please tell me I'm not alone 😅"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🤖 &lt;strong&gt;AI Parenting Assistant (The Game Changer)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is where Elite Parenting truly shines. I've integrated a resumable AI assistant powered by Ably AI Transport,  a technical innovation that makes AI conversations:&lt;/p&gt;

&lt;p&gt;Resumable &amp;amp; Reliable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI responses survive tab reloads and network drops&lt;/li&gt;
&lt;li&gt;If you close your browser mid-conversation, the AI picks up where it left off&lt;/li&gt;
&lt;li&gt;No lost response and every token is preserved&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Multi-Device Support:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start a conversation on your phone while cooking&lt;/li&gt;
&lt;li&gt;Continue it on your laptop after bedtime&lt;/li&gt;
&lt;li&gt;The same AI conversation appears on all your devices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Privacy-Conscious Help:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ask parenting questions without judgment&lt;/li&gt;
&lt;li&gt;Get activity ideas for screen-free time&lt;/li&gt;
&lt;li&gt;Summarize recent chat discussions you missed&lt;/li&gt;
&lt;li&gt;Brainstorm solutions for common parenting challenges&lt;/li&gt;
&lt;li&gt;Share helpful AI responses directly to the group chat&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example AI Conversations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"What are some screen-free activities for toddlers?"&lt;/li&gt;
&lt;li&gt;"Tips for getting kids to sleep earlier?"&lt;/li&gt;
&lt;li&gt;"How do I handle tantrums in public?"&lt;/li&gt;
&lt;li&gt;"Summarize what the group discussed about schools this week"&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;a href="https://private-parents-chat.vercel.app/" rel="noopener noreferrer"&gt;https://private-parents-chat.vercel.app/&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;message me for access token&lt;/p&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/ryQF7ut05O8"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/aralovelace/private-parents-chat" rel="noopener noreferrer"&gt;https://github.com/aralovelace/private-parents-chat&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Vibe coded it with Claude and integrated the best technologies:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ably AI Transport&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Unlike traditional AI chat where HTTP streaming breaks when you reload the page, I use Ably AI Transport to stream AI responses through a real-time pub/sub channel. This&lt;br&gt;
  means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Zero lost tokens, your every word is preserved and replayable&lt;/li&gt;
&lt;li&gt;Multi-device magic, you have same conversation on phone + laptop simultaneously&lt;/li&gt;
&lt;li&gt;Offline resilience that means if your network drops, you catch up automatically&lt;/li&gt;
&lt;li&gt;Transparent streaming, you will seee each AI response token as it arrives&lt;/li&gt;
&lt;li&gt;Human handoff ready, you can share your AI conversation context with others&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built on Modern, Reliable Stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Next.js 14:  Fast, server-rendered React app&lt;/li&gt;
&lt;li&gt;Ably:  Enterprise-grade real-time infrastructure&lt;/li&gt;
&lt;li&gt;Google Gemini 2.5:  Advanced AI with natural, helpful responses&lt;/li&gt;
&lt;li&gt;TypeScript:  Type-safe, maintainable code&lt;/li&gt;
&lt;li&gt;Tailwind CSS: Beautiful, responsive design&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>showdev</category>
      <category>ably</category>
    </item>
    <item>
      <title>How to add custom domain in Firebase Hosting</title>
      <dc:creator>April Smith</dc:creator>
      <pubDate>Sun, 16 Aug 2020 21:18:27 +0000</pubDate>
      <link>https://dev.to/aralovelace/how-to-add-custom-domain-in-firebase-hosting-225d</link>
      <guid>https://dev.to/aralovelace/how-to-add-custom-domain-in-firebase-hosting-225d</guid>
      <description>&lt;p&gt;If you have an existing domain and wanted to point your subdomain to your web app that you deployed in Firebase then here's how:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In your Firebase Hosting Dashboard, Click the 'Add custom domain' button.&lt;/li&gt;
&lt;li&gt;Enter the domain&lt;/li&gt;
&lt;li&gt;Verify the ownership by copying the TXT code&lt;/li&gt;
&lt;li&gt;In your Domain, go to Manage DNS Records or similar and add a new TXT type with your subdomain and paste the TXT code&lt;/li&gt;
&lt;li&gt;Back to your Firebase page, it should let you verify the ownership and now it will give you the IP address.&lt;/li&gt;
&lt;li&gt;Then back to your DNS Records page, add a new A type, with your subdomain and paste the IP address.&lt;/li&gt;
&lt;li&gt;Then Go Live.&lt;/li&gt;
&lt;li&gt;Wait for a few minutes for the propagation, it depends on your DNS but usually it will only take 15-30 minutes. &lt;/li&gt;
&lt;li&gt;You can check once its live in your Firebase dashboard if the subdomain says 'Connected'.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's it! Let me know if you have questions&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/aralovelace" rel="noopener noreferrer"&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%2Fi%2Fufkyzb7jngbhlfoi8m91.png" alt="Alt Text" width="229" height="78"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>firebase</category>
      <category>hosting</category>
      <category>customdomain</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Deploy Angular project to Firebase</title>
      <dc:creator>April Smith</dc:creator>
      <pubDate>Thu, 06 Aug 2020 10:38:20 +0000</pubDate>
      <link>https://dev.to/aralovelace/how-to-deploy-angular-project-to-firebase-ico</link>
      <guid>https://dev.to/aralovelace/how-to-deploy-angular-project-to-firebase-ico</guid>
      <description>&lt;p&gt;This is just a simple instruction on how to deploy your Angular project to Firebase. Note, this is for static or serverless project only. If you have PHP or Node.js separate project, you can look for another tutorial on how to deploy them.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Considering you completed your Angular project, now compile your project using this command  &lt;code&gt;ng build --prod&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Login to Firebase account ( if you don't have account yet please create).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a new project&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Back to your codebase, open the terminal and type &lt;code&gt;firebase init&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In this question '? Which Firebase CLI features do you want to set up for this folder? Press Space to select features, then Enter to confirm your choices' select &lt;code&gt;Hosting: Configure and deploy Firebase Hosting sites&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select 'Use an existing project' and choose the project name you just created.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Then the next question would be 'What do you want to use as your public directory?' type &lt;code&gt;dist/{codebase project name}&lt;/code&gt; . The public directory of your angular is the compiled folder of your project. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Next it will ask you 'Configure as a single-page app (rewrite all urls to /index.html)?' type &lt;code&gt;Yes&lt;/code&gt; if you type no, there will be a routing issue when you refresh your app&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;then it will ask you to overwrite - Type &lt;code&gt;No&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;then type &lt;code&gt;firebase deploy&lt;/code&gt; if you want to leave a comment type &lt;code&gt;firebase deploy&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Then it will let you know the URL of the project you deployed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you have changes or updates just use &lt;code&gt;firebase deploy -m content changes&lt;/code&gt; then in your firebase hosting page, you can see all your deployment history, and your URL.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's it! simple! I love Firebase! Share your firebase site by commenting it below :)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/aralovelace" rel="noopener noreferrer"&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%2Fi%2Fufkyzb7jngbhlfoi8m91.png" alt="Alt Text" width="229" height="78"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>firebase</category>
      <category>angular</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Deploying your ReactJS App to Github Pages</title>
      <dc:creator>April Smith</dc:creator>
      <pubDate>Fri, 22 May 2020 08:42:36 +0000</pubDate>
      <link>https://dev.to/aralovelace/deploying-your-reactjs-app-to-github-pages-35le</link>
      <guid>https://dev.to/aralovelace/deploying-your-reactjs-app-to-github-pages-35le</guid>
      <description>&lt;h2&gt;
  
  
  Why host your React portfolio app with GitHub Pages?
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;It's Free!&lt;/li&gt;
&lt;li&gt;Real time updates&lt;/li&gt;
&lt;li&gt;Making your code open-source, It is a great way to showcase your skills
Custom-domain, if you have existing domain, you can add a CNAME file to your repository&lt;/li&gt;
&lt;li&gt;It's Easy!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Note: GitHub Pages is a static service and does not support server-side scripting such as, PHP, Ruby, or Python.&lt;/p&gt;

&lt;p&gt;Here is a new quick tutorial on how to deploy your reactJS application via Github Pages. I still prefer Heroku for dynamic web apps but here is the quick guide if you have a very simple React App and wanted to deploy it quickly to add it to your Frontend Development skills portfolio&lt;/p&gt;

&lt;h3&gt;
  
  
  Steps:
&lt;/h3&gt;

&lt;p&gt;Note: I am using yarn as my package manager.&lt;br&gt;
I already created my github repo and React project&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install GitHub Pages package as a dev-dependency
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;yarn add gh-pages 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Add properties needed to package.json file
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"homepage": "http://{github_username}.github.io/{your-app-repo-title}"
"scripts": {
  //...
  "predeploy": "yarn run build",
  "deploy": "gh-pages -b master -d build"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Then Deploy it in your local terminal
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;yarn deploy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And Done! The branch that Github pages used is the &lt;strong&gt;gh-pages&lt;/strong&gt; not the master. Everytime you deploy it will update the &lt;strong&gt;gh-pages&lt;/strong&gt; branch.&lt;/p&gt;

&lt;p&gt;You can now check your app at this URL format: &lt;code&gt;http://{github_username}.github.io/{your-repo-title}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/aralovelace" rel="noopener noreferrer"&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%2Fi%2Fufkyzb7jngbhlfoi8m91.png" alt="Alt Text" width="229" height="78"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>github</category>
      <category>javascript</category>
      <category>yarn</category>
    </item>
    <item>
      <title>setting-up PHP CodeSniffer in PHPStorm</title>
      <dc:creator>April Smith</dc:creator>
      <pubDate>Wed, 20 May 2020 11:01:45 +0000</pubDate>
      <link>https://dev.to/aralovelace/setting-up-php-codesniffer-in-phpstorm-15o6</link>
      <guid>https://dev.to/aralovelace/setting-up-php-codesniffer-in-phpstorm-15o6</guid>
      <description>&lt;p&gt;I will be sharing one of the essential elements on following Coding Standards when you are working with a team.&lt;/p&gt;

&lt;p&gt;PHP Code Sniffer is a tool to detect violations of a defined coding standard such as PSR2. Read more about &lt;a href="https://github.com/squizlabs/PHP_CodeSniffer" rel="noopener noreferrer"&gt;PHP_CodeSniffer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On this Instagram post, I demonstrated how to set-up PHP CodeSniffer in your PHP Storm&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/CAKUFckgKWP/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


</description>
      <category>php</category>
      <category>codesniffer</category>
    </item>
    <item>
      <title>COVID-19 Live Updates WP Plugin</title>
      <dc:creator>April Smith</dc:creator>
      <pubDate>Wed, 20 May 2020 10:46:29 +0000</pubDate>
      <link>https://dev.to/aralovelace/covid-19-live-updates-wp-plugin-553g</link>
      <guid>https://dev.to/aralovelace/covid-19-live-updates-wp-plugin-553g</guid>
      <description>&lt;p&gt;Everyday I always check the number of Coronavirus cases not just in the UK but also in other countries. The thing about checking it on other websites is that the websites often contain ads, or don’t easily allow me to compare between countries in the format I want.&lt;/p&gt;

&lt;p&gt;So I realize why not built my own using covid19API? I decided to build it for WordPress, so I can also share it with others. The plugin wasn’t so complex in terms of coding (was not using WP Plugin Boilerplate) I just used basic PHP OOP, Vanilla JS and some JQuery packages. There is no design, so you can update the styling once you load it on your site.&lt;/p&gt;

&lt;p&gt;When people say WordPress Development is dying, they must not have seen the statistics! 35% of the Internet is powered by WordPress, and it is still growing ( 78.9% of websites in the world still use PHP).&lt;/p&gt;

&lt;p&gt;So I am sharing this plugin to everyone ( GNU License) and happy for some coders out there to improve it. You can download it on my GitHub –&lt;/p&gt;

&lt;p&gt;And you are done!&lt;/p&gt;

&lt;p&gt;You can download or fork it at – &lt;a href="https://github.com/aralovelace/Covid19Report-WP-Plugin" rel="noopener noreferrer"&gt;aralovelace/Covid19Report-WP-Plugin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is how it looks like:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/kFHL5Mh2FIk"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Credit:&lt;/p&gt;

&lt;p&gt;API Data Source: covid19api.com&lt;/p&gt;

</description>
      <category>php</category>
      <category>wordpress</category>
    </item>
  </channel>
</rss>
