HalAI Overview
by John Vincent
Posted on October 25, 2023
HalAI is an Artificial Intelligence Chat application that fully supports Speech Synthesis.
HalAI user instructions may be given as text or speech.
HalAI Artificial Intelligence response options include text and speech.
HalAI voice options are configurable.
HalAI text instructions and responses also support HTML and Markdown.
HalAI
HalAI is an Artificial Intelligence Chat application.
HalAI fully supports Speech Synthesis and supports instructions as text or speech.
HalAI Artificial Intelligence response options include text and speech.
HalAI voice options are configurable.
HalAI text instructions and responses also support HTML and Markdown.
HalAI is the easiest way to interact with an AI system.
Use HalAI to organize and keep track of your AI conversations.
Live Deployment
Technical
-
HalAI uses Speech Synthesis from Elevenlabs
-
HalAI is built using the MERN stack. The front-end is built using React, Material-UI, Redux, HTML5, Sass and CSS3, the server-side using Node with Express as the web server and MongoDB as the database.
-
HalAI is fully responsive, adapting for mobile, table and desktop viewports.
-
All routing is handled in the front-end by React
-
Extensive form validation and error handling is demonstrated throughout the app. On the front-end, field type, value, length etc is validated using HTML5, React and Redux. On the server-side, JOI performs detailed validation and a Mongoose schema provides further error checking for field values and uniqueness.
-
A fully-featured user registration system is integral to the application, with user registration and username / password recovery functionality provided.
-
An extensive API has been built to provide database access to the HalAI App using Express.
-
HalAI is fully unit tested on the front and server-side. For React testing, Jest has been used. For the server-side, Mocha and Chai, with extensive use of the Faker library to mock-out dependencies.
-
User authentication uses Json Web Tokens JWT
-
All client and server communications are performed using https.
-
HalAI fully implements Google Analytics
-
HalAI fully supports Google Webmaster Tools
-
HalAI is deployed to an Ubuntu droplet at Digital Ocean and kept running using PM2
-
HalAI resources are served from Nginx Server with a reverse proxy to pass certain requests to a Node Express Server.
-
The Ubuntu droplet at Digital Ocean can only be accessed with SSH from a particular client. All other access is disabled.
Performance
Deploy HalAI
HalAI is deployed to a Digital Ocean Droplet.
Please see Configure and Deploy to Ubuntu Droplet at Digital Ocean for deployment details.
Maintenance
The following describe tasks required for the maintenance of HalAI at Digital Ocean.
Update SSL Certificates to Ubuntu at Digital Ocean
Maintaining Droplets at Digital Ocean
Website Validation
The following describe tasks required for the validation of HalAI at Digital Ocean.