{"id":21826944,"url":"https://github.com/coslynx/twitter-gemini-github-mvp","last_synced_at":"2026-02-17T05:02:24.835Z","repository":{"id":263228763,"uuid":"889737750","full_name":"coslynx/Twitter-Gemini-GitHub-MVP","owner":"coslynx","description":"Scrapes Twitter data, commits to Gemini, Linux NodeJS powered.  Initial release.... Created at https://coslynx.com","archived":false,"fork":false,"pushed_at":"2024-12-25T18:01:25.000Z","size":154,"stargazers_count":0,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-30T16:31:39.632Z","etag":null,"topics":["automated-workflow","code-generation","coslynx","data-processing","developer-tools","devops","expressjs","gemini-ai","github-api","github-integration","javascript","machine-learning","markdown-generator","mongodb","mvp","node-cron","node-js-backend","nodejs","twitter-api","twitter-scraper"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coslynx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-11-17T05:01:28.000Z","updated_at":"2024-12-25T18:01:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"93322c71-da4f-4983-a8ce-07fb2cb13258","html_url":"https://github.com/coslynx/Twitter-Gemini-GitHub-MVP","commit_stats":null,"previous_names":["coslynx/twitter-gemini-github-mvp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/coslynx/Twitter-Gemini-GitHub-MVP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coslynx%2FTwitter-Gemini-GitHub-MVP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coslynx%2FTwitter-Gemini-GitHub-MVP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coslynx%2FTwitter-Gemini-GitHub-MVP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coslynx%2FTwitter-Gemini-GitHub-MVP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coslynx","download_url":"https://codeload.github.com/coslynx/Twitter-Gemini-GitHub-MVP/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coslynx%2FTwitter-Gemini-GitHub-MVP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278956368,"owners_count":26075228,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["automated-workflow","code-generation","coslynx","data-processing","developer-tools","devops","expressjs","gemini-ai","github-api","github-integration","javascript","machine-learning","markdown-generator","mongodb","mvp","node-cron","node-js-backend","nodejs","twitter-api","twitter-scraper"],"created_at":"2024-11-27T18:11:35.119Z","updated_at":"2025-10-08T14:13:23.614Z","avatar_url":"https://github.com/coslynx.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv class=\"hero-icon\" align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/PKief/vscode-material-icon-theme/ec559a9f6bfd399b82bb44393651661b08aaf7ba/icons/folder-markdown-open.svg\" width=\"100\" /\u003e\n\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003e\nTwitter-Gemini-GitHub-MVP\n\u003c/h1\u003e\n\u003ch4 align=\"center\"\u003eAutomates Twitter data collection and GitHub Markdown storage using Gemini AI\u003c/h4\u003e\n\u003ch4 align=\"center\"\u003eDeveloped with the software and tools below.\u003c/h4\u003e\n\u003cdiv class=\"badges\" align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Framework-Node.js%20with%20Express.js-blue\" alt=\"Framework\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Backend-JavaScript-red\" alt=\"Backend\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Database-MongoDB-blue\" alt=\"Database\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/AI-Google%20Gemini-black\" alt=\"AI\"\u003e\n\u003c/div\u003e\n\u003cdiv class=\"badges\" align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/last-commit/Drix10/Twitter-Gemini-GitHub-MVP?style=flat-square\u0026color=5D6D7E\" alt=\"git-last-commit\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/commit-activity/m/Drix10/Twitter-Gemini-GitHub-MVP?style=flat-square\u0026color=5D6D7E\" alt=\"GitHub commit activity\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/languages/top/Drix10/Twitter-Gemini-GitHub-MVP?style=flat-square\u0026color=5D6D7E\" alt=\"GitHub top language\" /\u003e\n\u003c/div\u003e\n\n## 📑 Table of Contents\n\n- 📍 Overview\n- 📦 Features\n- 📂 Structure\n- 💻 Installation\n- 🏗️ Usage\n- 🌐 Hosting\n- 📄 License\n- 👏 Authors\n\n## 📍 Overview\n\nThis repository contains a Minimum Viable Product (MVP) that automates the collection of Twitter data and stores it in a structured Markdown format on GitHub, leveraging Google's Gemini AI for content processing. This addresses the need for researchers and developers to efficiently collect and organize relevant Twitter content.\n\n## 📦 Features\n\n|     | Feature                           | Description                                                                                                                                 |\n| --- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |\n| 1   | Twitter Authentication \u0026 Scraping | Authenticates with the Twitter API v2 and scrapes tweets based on specified keywords or hashtags. Handles rate limits and errors.           |\n| 2   | Gemini AI Content Generation      | Uses Google's Gemini API to convert scraped tweet data into well-formatted Markdown files.                                                  |\n| 3   | GitHub Repository Management      | Interacts with a designated GitHub repository to commit the generated Markdown files to a specified folder. Handles rate limits and errors. |\n| 4   | Automated Timely Execution        | Automates the entire process using Node-cron to run at specified time. Includes error handling and discord webhook notifications.           |\n\n## 💻 Installation\n\n### 🔧 Prerequisites\n\n- Node.js v16+\n- npm 8+\n- MongoDB\n- A Google Cloud Project with the Gemini API enabled\n- A GitHub account and Personal Access Token\n- Twitter account credentials\n\n### 🚀 Setup Instructions\n\n1. Clone and install:\n\n```bash\n   git clone https://github.com/Drix10/Twitter-Gemini-GitHub-MVP.git\n   cd Twitter-Gemini-GitHub-MVP\n   npm install\n```\n\n2. Create a `.env` file with the following configuration:\n\n```bash\nGITHUB_PAT= # The GitHub personal access token\nGEMINI_API_KEY= # The Gemini API key\nMONGODB_URI= # The MongoDB URI\nTWITTER_USERNAME= # Your Twitter username\nTWITTER_PASSWORD= # Your Twitter password\nDISCORD_WEBHOOK_URL= # Your Discord webhook URL\n\nGITHUB_REPO=userName/repoName # The repository where the tweets will be saved\nGITHUB_FOLDER_ONE= # The folder where the tweets will be saved\nGITHUB_FOLDER_TWO= # The folder where the tweets will be saved\nGITHUB_FOLDER_THREE= # The folder where the tweets will be saved\n```\n\n## 🏗️ Usage\n\n### 🏃‍♂️ Running the MVP\n\n1. Start the server:\n   ```bash\n   npm run start\n   ```\n2. The application will run on port 3000 with hourly cron jobs by default.\n\n## 📄 License \u0026 Attribution\n\n### 📄 License\n\nThis Minimum Viable Product (MVP) is licensed under the [GNU AGPLv3](https://choosealicense.com/licenses/agpl-3.0/) license.\n\n### 🤖 AI-Generated MVP\n\nThis MVP was entirely generated using artificial intelligence through [CosLynx.com](https://coslynx.com).\n\nNo human was directly involved in the coding process of the repository: Twitter-Gemini-GitHub-MVP\n\nNote: A final version was finished and pushed via a human due to a special case.\n\n### 📞 Contact\n\nFor any questions or concerns regarding this AI-generated MVP, please contact CosLynx at:\n\n- Website: [CosLynx.com](https://coslynx.com)\n- Twitter: [@CosLynxAI](https://x.com/CosLynxAI)\n\n\u003cp align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003e🌐 CosLynx.com\u003c/h1\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eCreate Your Custom MVP in Minutes With CosLynxAI!\u003c/em\u003e\n\u003c/p\u003e\n\u003cdiv class=\"badges\" align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Developers-Drix10,_Kais_Radwan-red\" alt=\"\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Website-CosLynx.com-blue\" alt=\"\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Backed_by-Google,_Microsoft_\u0026_Amazon_for_Startups-red\" alt=\"\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Finalist-Backdrop_Build_v4,_v6-black\" alt=\"\"\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoslynx%2Ftwitter-gemini-github-mvp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoslynx%2Ftwitter-gemini-github-mvp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoslynx%2Ftwitter-gemini-github-mvp/lists"}