{"id":51041882,"url":"https://github.com/vmihalache/ai-alert","last_synced_at":"2026-06-22T11:02:10.465Z","repository":{"id":358112388,"uuid":"1194503970","full_name":"vmihalache/AI-Alert","owner":"vmihalache","description":"Cloud AI agent for US weather alert monitoring using MCP, PostgreSQL and NWS API","archived":false,"fork":false,"pushed_at":"2026-06-17T17:44:50.000Z","size":1031,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-17T19:15:46.062Z","etag":null,"topics":["api-testing","drizzle-orm","groq","lottie","mcp","neon","nws","ollama","playwright","postgresql","qwen","react","react-simple-maps","typescript"],"latest_commit_sha":null,"homepage":"https://ai-alert-production.vercel.app/","language":"TypeScript","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/vmihalache.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-28T12:56:28.000Z","updated_at":"2026-06-17T17:45:51.000Z","dependencies_parsed_at":"2026-05-15T21:01:04.857Z","dependency_job_id":null,"html_url":"https://github.com/vmihalache/AI-Alert","commit_stats":null,"previous_names":["vmihalache/ai-alert"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vmihalache/AI-Alert","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmihalache%2FAI-Alert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmihalache%2FAI-Alert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmihalache%2FAI-Alert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmihalache%2FAI-Alert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vmihalache","download_url":"https://codeload.github.com/vmihalache/AI-Alert/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmihalache%2FAI-Alert/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34645688,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"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":["api-testing","drizzle-orm","groq","lottie","mcp","neon","nws","ollama","playwright","postgresql","qwen","react","react-simple-maps","typescript"],"created_at":"2026-06-22T11:02:09.568Z","updated_at":"2026-06-22T11:02:10.458Z","avatar_url":"https://github.com/vmihalache.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI-Alert\n\n**Company:** AI-Alert\n\n**Scope:** Provides state-level weather alert monitoring for the US based on user queries.\n\n**Live API:** `https://ai-alert-production.vercel.app/`\n\n---\n\n## Overview\n\nA cloud-deployed AI agent system that draws results from the NWS (US National Weather Service) API to show relevant advice and alerts to people who want to know if it is safe to travel through a certain US state.\n\nThe system uses a **Model Context Protocol (MCP) server** to connect a cloud-hosted AI model (Groq / Qwen3-32B) to a PostgreSQL database, enabling natural language queries about active weather alerts across the United States.\n\n---\n\n## Domain Rules\n\n- Results are shown only if the NWS API returns data for the requested state\n- Queries are reliable only if they mention the state name — not lower level locations or latitude/longitude geo information\n- Queries are not reliable if the user wants reports based on complex dates or timelines\n- Response quality depends on the AI model and may vary between runs\n\n---\n\n## Implementation Status\n\n| Component | Status |\n|-----------|--------|\n| MCP Pipeline with Local AI | ✅ Implemented |\n| MCP Pipeline with Cloud AI (Groq) | ✅ Implemented |\n| Express API Server | ✅ Implemented |\n| Railway Deployment | ✅ Live |\n| Neon PostgreSQL | ✅ Live |\n| React Frontend  |✅ Live   |\n\n---\n\n## Usage\n\nSend a POST request to the live API:\n\n```\nPOST https://ai-alert-production.up.railway.app/api/weather\nContent-Type: application/json\n\n{\n  \"question\": \"What is the weather in Virginia?\"\n}\n```\n\n## React Frontend\n\nThe application includes a React frontend that communicates with the Railway-hosted Express API.\n\n### Frontend Components\n\n#### App.tsx\n\nCoordinates communication between:\n\n* MapChart\n* WeatherPanel\n* HTTP Gateway\n\nResponsibilities:\n\n* State management\n* API request orchestration\n* Loading state handling\n* Weather response propagation\n\n#### MapChart\n\nBuilt with React Simple Maps.\n\nResponsibilities:\n\n* Display US state map\n* Handle hover interactions\n* Handle touch interactions for mobile devices\n* Trigger weather requests for selected states\n\n#### WeatherPanel\n\nResponsibilities:\n\n* Display AI-generated weather reports\n* Display loading animations\n* Display weather-specific Lottie animations\n* Render markdown responses using MarkdownTypewriter\n\n### Frontend Stack\n\n* React\n* TypeScript\n* React Simple Maps\n* D3 Geo\n* DotLottie\n* Markdown Typewriter\n* Railway API Integration\n\n### Frontend Request Flow\n\nUser Click\n→ MapChart\n→ App.tsx\n→ HttpGateway\n→ Railway API\n→ MCP Pipeline\n→ AI Response\n→ WeatherPanel\n\n## Use Cases\n\n### UC1 — User receives responses based on queries that include a State Name\nStatus: ✅ Implemented\n### UC2 — The Agent recognizes different location input types besides State Name \nStatus: 🔲 Pending\n### UC3 — User can request a report for the last month to see the weather evolution \nStatus: 🔲 Pending\n### UC4 — User receives visual weather guidance through the React Frontend \nStatus: ✅ Implemented\n### UC5 — User accesses the application from a mobile device \nStatus: ✅ Implemented\n\n---\n\n## Stack\n\nTypeScript · React · React Simple Maps · D3 Geo · DotLottie · Markdown Typewriter · Playwright · PostgreSQL (Neon) · Drizzle ORM · MCP SDK · Groq (Qwen3-32B) · NWS API · Express · Railway\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmihalache%2Fai-alert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvmihalache%2Fai-alert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmihalache%2Fai-alert/lists"}