{"id":30943342,"url":"https://github.com/arturbomtempo-dev/js-expert-9.0","last_synced_at":"2026-04-07T08:02:03.787Z","repository":{"id":312564781,"uuid":"1046942948","full_name":"arturbomtempo-dev/js-expert-9.0","owner":"arturbomtempo-dev","description":"A browser-based AI chatbot that provides real-time, context-aware responses and translates information from a personal GitHub profile, demonstrating Web 4.0 concepts and modern conversational interfaces.","archived":false,"fork":false,"pushed_at":"2025-08-31T14:07:39.000Z","size":805,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-19T20:41:59.088Z","etag":null,"topics":["browser","browser-sync","chrome","chrome-extension","css","html","javascript","nodejs","prettier","web-4"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arturbomtempo-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-29T13:32:57.000Z","updated_at":"2025-08-31T14:07:43.000Z","dependencies_parsed_at":"2025-08-31T16:18:41.020Z","dependency_job_id":null,"html_url":"https://github.com/arturbomtempo-dev/js-expert-9.0","commit_stats":null,"previous_names":["arturbomtempo-dev/js-expert-9.0"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/arturbomtempo-dev/js-expert-9.0","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arturbomtempo-dev%2Fjs-expert-9.0","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arturbomtempo-dev%2Fjs-expert-9.0/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arturbomtempo-dev%2Fjs-expert-9.0/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arturbomtempo-dev%2Fjs-expert-9.0/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arturbomtempo-dev","download_url":"https://codeload.github.com/arturbomtempo-dev/js-expert-9.0/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arturbomtempo-dev%2Fjs-expert-9.0/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31504897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","browser-sync","chrome","chrome-extension","css","html","javascript","nodejs","prettier","web-4"],"created_at":"2025-09-10T22:16:42.503Z","updated_at":"2026-04-07T08:02:03.780Z","avatar_url":"https://github.com/arturbomtempo-dev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv  align=\"center\" id=\"about\"\u003e\n\t\u003ch1 align=\"center\"\u003e\n        JS Expert Week 9\n    \u003c/h1\u003e\n    \u003cp align=\"center\"\u003e\n        The project was developed during JS Expert Week by EW Academy with the purpose of exploring the principles of Web 4.0. It showcases how to build and run an intelligent AI-powered chatbot application directly in the browser, capable of delivering complete and context-aware responses. In addition to general interactions, the chatbot is also designed to fetch, respond, and translate information from my personal GitHub profile, making the experience more dynamic and personalized. The main goal is to provide a practical learning experience on implementing modern conversational interfaces by combining cutting-edge web technologies with artificial intelligence for seamless, real-time interactions.\n    \u003c/p\u003e\n\t\u003cimg \n        src=\"./resources/banner/js-expert.png\"\n        alt=\"Project banner\"\n        width=\"70%\"\n    /\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://github.com/nodejs\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/made_with-Node.js-green\" alt=\"Made with Node.js\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/arturbomtempo-dev/js-expert-9.0\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/npm-v11.3.0-blue\" alt=\"NPM version\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/arturbomtempo-dev/js-expert-9.0\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/status-local_development_complete-yellow\" alt=\"Status: Local Development Complete\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/arturbomtempo-dev/js-expert-9.0/blob/main/LICENSE.md\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-red\" alt=\"MIT License\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv id=\"table-of-contents\"\u003e\u003c/div\u003e\n\n## 📋 Table of Contents\n\n- [About](#about)\n- [Table of Contents](#table-of-contents)\n- [Features](#features)\n- [Application Demonstration](#application-demonstration)\n- [Setup and Run the Application](#setup-and-run-the-application)\n- [Technologies](#technologies)\n- [Author](#author)\n- [License](#license)\n\n\u003cdiv id=\"features\"\u003e\u003c/div\u003e\n\n## 📝 Features\n\nAll the core functionalities listed below have been fully developed and are functional. However, since this project was created primarily for educational purposes, some advanced features were not implemented yet and currently have no defined timeline. The following list highlights which features are already available and which ones are still planned for future development.\n\n- [x] Automated message responses\n- [x] Real-time interaction with artificial intelligence directly in the browser\n- [x] Execution of responses in real time\n- [x] Ability to stop or abort a response on demand\n- [ ] Multi-browser support (cross-browser compatibility)\n- [ ] Extended customization options for chatbot behavior\n- [ ] Advanced session management and persistence\n- [ ] Integration with external APIs for enhanced responses\n\n\u003cdiv id=\"application-demonstration\"\u003e\u003c/div\u003e\n\n## 📲 Application Demonstration\n\nBelow, you will find demonstration image of the application in action, showcasing the chatbot interface, its integration with artificial intelligence, and how it connects to the underlying database to provide accurate and dynamic responses. These examples highlight real conversations, including the ability to translate and respond to information retrieved from my personal GitHub profile.\n\n- Chatbot responding to a user message with AI assistance\n\n\u003cimg src=\"./resources/screenshots/chatbot-message.png\" alt=\"Chatbot responding to a user message with AI assistance\" width=\"40%\" /\u003e\n\n\u003cdiv id=\"setup-and-run-the-application\"\u003e\u003c/div\u003e\n\n## 📁 Setup and Run the Application\n\n### ⚙️ Prerequisites\n\nBefore starting, you need to have the following tools installed on your machine: [Git](https://git-scm.com) and [Node.js](https://nodejs.org/en).\n\nIt’s also recommended to use a code editor like [Visual Studio Code](https://code.visualstudio.com/).\n\n\u003e **Important:** At this stage, the application only runs on **Google Chrome**, since the AI features rely on experimental browser APIs that are not yet available in other browsers.\n\n#### Configure Google Chrome\n\nTo enable AI features in the browser:\n\n1. Open Google Chrome and access `chrome://flags/`.\n2. Enable the following experimental flags:\n    - **Prompt API for Gemini Nano**\n    - **Prompt API for Gemini Nano with Multimodal Input**\n3. Open the browser console and run the following command to start a session with the local language model:\n\n```javascript\nconst session = await LanguageModel.create({\n    monitor(m) {\n        m.addEventListener('downloadprogress', (e) =\u003e {\n            console.log(`Downloaded ${e.loaded * 100}%`);\n        });\n    },\n});\n```\n\n**What this does:** This command initializes a new AI session in your browser and monitors the model download progress.\n\n4. Verify that the model has been fully downloaded by visiting:\n\n```plaintext\nchrome://on-device-internals/\n```\n\n#### Run the Application\n\nOnce the browser is configured, follow the steps below to run the project locally:\n\n```bash\n# Clone this repository\ngit clone https://github.com/arturbomtempo-dev/js-expert-9.0.git\n\n# Navigate to the project folder\ncd js-expert-9.0\n\n# Install dependencies\nnpm install\n\n# Start the application\nnpm start\n```\n\nThe application will run in development mode and can be accessed directly in your Google Chrome browser.\n\n\u003cdiv id=\"technologies\"\u003e\u003c/div\u003e\n\n## 💻 Technologies\n\nThe following tools and frameworks were used in the development of this project:\n\n- [**HTML**](https://developer.mozilla.org/docs/Web/HTML): Used to structure the application’s interface and organize the chatbot layout directly in the browser.\n- [**CSS**](https://developer.mozilla.org/docs/Web/CSS): Responsible for styling the interface, making the chatbot visually clean, responsive, and user-friendly.\n- [**JavaScript**](https://developer.mozilla.org/docs/Web/JavaScript): Core programming language that adds interactivity, handles chatbot logic, and manages communication with the AI model.\n- [**Node.js**](https://nodejs.org/en): Provides the runtime environment to run JavaScript outside the browser, enabling the project to be executed locally through npm scripts.\n- [**browser-sync**](https://browsersync.io/docs): Used as a development tool to automatically refresh the browser whenever changes are made to the code, ensuring faster and smoother testing.\n\n\u003cdiv id=\"author\"\u003e\u003c/div\u003e\n\n## 👨🏻‍💻 Author\n\n---\n\n| [\u003cimg loading=\"lazy\" src=\"https://avatars.githubusercontent.com/u/96635074?v=4\" width=115\u003e\u003cbr\u003e\u003csub\u003eArtur Bomtempo\u003c/sub\u003e](https://arturbomtempo.dev/) |\n| :--------------------------------------------------------------------------------------------------------------------------------------------------: |\n\nDeveloped by Artur Bomtempo 👋🏻. Get in touch:\n\n[![Gmail Badge](https://img.shields.io/badge/-arturbcolen@gmail.com-D14836?style=flat-square\u0026logo=Gmail\u0026logoColor=white\u0026link=mailto:arturbcolen@gmail.com)](mailto:arturbcolen@gmail.com)\n[![LinkedIn Badge](https://img.shields.io/badge/-Artur%20Bomtempo-0A66C2?style=flat-square\u0026logo=LinkedIn\u0026logoColor=white\u0026link=https://www.linkedin.com/in/artur-bomtempo/)](https://www.linkedin.com/in/artur-bomtempo/)\n[![Instagram Badge](https://img.shields.io/badge/-@arturbomtempo.dev-E4405F?style=flat-square\u0026logo=Instagram\u0026logoColor=white\u0026link=https://www.instagram.com/arturbomtempo.dev/)](https://www.instagram.com/arturbomtempo.dev/)\n\n\u003cdiv id=\"license\"\u003e\u003c/div\u003e\n\n## 📜 License\n\nCopyright (c) 2025 Artur Bomtempo Colen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farturbomtempo-dev%2Fjs-expert-9.0","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farturbomtempo-dev%2Fjs-expert-9.0","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farturbomtempo-dev%2Fjs-expert-9.0/lists"}