[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73864":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":29,"discoverSource":30},73864,"meridian","iliane5\u002Fmeridian","iliane5","Meridian cuts through news noise by scraping hundreds of sources, analyzing stories with AI, and delivering concise, personalized daily briefs.","https:\u002F\u002Fnews.iliane.xyz",null,"TypeScript",2419,433,31,14,0,2,4,10,6,29.91,"MIT License",false,"main",[],"2026-06-12 02:03:19","# Meridian: Your Personal Intelligence Agency\n\n[![Build Status](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Filiane5\u002Fmeridian\u002Fdeploy-services.yaml?branch=main)](https:\u002F\u002Fgithub.com\u002Filiane5\u002Fmeridian\u002Factions\u002Fworkflows\u002Fdeploy-services.yaml)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n\n**Presidential-level intelligence briefings, built with AI, tailored for you.**\n\nMeridian cuts through news noise by scraping hundreds of sources, analyzing stories with AI, and delivering concise, personalized daily briefs.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fscreenshot.png\" alt=\"Meridian Brief Example\" width=\"700\"\u002F>\n\u003C\u002Fp>\n\n## Why It Exists\n\nPresidents get tailored daily intelligence briefs. Now with AI, you can too. Meridian delivers:\n\n- Key global events filtered by relevance\n- Context and underlying drivers\n- Analysis of implications\n- Open-source transparency\n\nBuilt for the curious who want depth beyond headlines without the time sink.\n\n## Key Features\n\n- **Source Coverage**: Hundreds of diverse news sources\n- **AI Analysis**: Multi-stage LLM processing (Gemini) for article and cluster analysis\n- **Smart Clustering**: Embeddings + UMAP + HDBSCAN to group related articles\n- **Personalized Briefing**: Daily brief with analytical voice and continuity tracking\n- **Web Interface**: Clean Nuxt 3 frontend\n\n## How It Works\n\n```mermaid\ngraph TD\n    A[RSS Feed URLs] --> B(Scraper Workflow CF);\n    B --> C[Article Metadata DB];\n    C --> D(Article Processor Workflow CF);\n    D -- Fetches --> E{Content Extraction};\n    E -- Standard --> F[Direct Fetch];\n    E -- Complex\u002FPaywall --> G[Browser Rendering API];\n    F --> H[LLM Article Analysis];\n    G --> H;\n    H --> I[Processed Articles DB];\n    I --> J(Brief Generation Python);\n    J -- Embeddings --> K[UMAP\u002FHDBSCAN Clustering];\n    K --> L[LLM Cluster Review];\n    L --> M[LLM Deep Analysis JSON];\n    M --> N[Markdown Summary Generation];\n    O[Previous Day TLDR DB] --> P{Final Briefing LLM};\n    N --> P;\n    P --> Q[Final Brief Markdown];\n    Q --> R[Reports DB];\n    R --> S(Frontend API CF);\n    S --> T[Frontend UI Nuxt];\n```\n\n1. **Scraping**: Cloudflare Workers fetch RSS feeds, store metadata\n2. **Processing**: Extract text, analyze with Gemini for relevance and structure\n3. **Brief Generation**: Cluster articles, generate analysis, synthesize final brief\n4. **Frontend**: Display briefs via Nuxt\u002FCloudflare\n\n## Tech Stack\n\n- **Infrastructure**: Turborepo, Cloudflare (Workers, Workflows, Pages)\n- **Backend**: Hono, TypeScript, PostgreSQL, Drizzle\n- **AI\u002FML**: Gemini models, multilingual-e5-small embeddings, UMAP, HDBSCAN\n- **Frontend**: Nuxt 3, Vue 3, Tailwind\n\n## Setup\n\n**Prerequisites**: Node.js v22+, pnpm v9.15+, Python 3.10+, PostgreSQL, Cloudflare account, Google AI API key\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Filiane5\u002Fmeridian.git\ncd meridian\npnpm install\n# Configure .env files\npnpm --filter @meridian\u002Fdatabase migrate\n# Deploy via Wrangler, run Python briefing notebook manually\n```\n\n## Status & Next Steps\n\n- ✅ **Core Pipeline**: Scraping, processing, analysis working\n- ⏳ **Top Priority**: Automate brief generation (currently manual Python notebook)\n- ⚠️ **Monitoring**: Improve scraping robustness\n- 🔜 **Future**: Add testing, newsletter distribution\n\n## AI Collaboration\n\nThis project benefited significantly from AI assistance:\n\n- **Claude 3.7 Sonnet**: Contributed to early architecture brainstorming, generated browser js scraping scripts, refined prompts, and called me out when I was overthinking or overengineering.\n- **Gemini 2.5 Pro**: Excelled with long-context tasks - comparing outputs across different prompt variants, reviewing the entire codebase before opensourcing, and nailing the analytical tone for briefs\n- **Gemini 2.0 Flash**: The true unsung hero of this project - blazing fast, dirt cheap, and surprisingly capable when prompted well. It's the workhorse that makes running meridian economically viable without sponsors or grants. Essentially free intelligence at scale.\n\nThe first two compressed months of dev work into days and made building this way more fun. But Flash isn't just a time-saver—it's the engine that makes Meridian possible at all. No human is reading 2000+ articles daily and analyzing 100+ story clusters. Having AI peers for brainstorming felt like cheating; having AI workers for the actual intelligence pipeline feels like living in the future.\n\n## License\n\nMIT License - See [LICENSE](.\u002FLICENSE) file for details.\n\n---\n\n_Built because we live in an age of magic, and we keep forgetting to use it._\n","Meridian是一个利用AI技术从数百个新闻源中筛选、分析并提供个性化每日简报的工具。它通过多阶段的大规模语言模型处理（如Gemini）来分析文章，使用嵌入、UMAP和HDBSCAN算法智能聚类相关报道，并生成具有分析视角和个人连续性的每日摘要。Meridian适合那些希望超越标题获取深度信息但又缺乏时间深入研究每个故事的人群使用。项目采用TypeScript开发，前端基于Nuxt 3构建，后端则依赖于Cloudflare提供的服务以及PostgreSQL数据库等技术栈。","2026-06-11 03:47:41","high_star"]