| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
NetPulse is an intelligent internet event analyzer powered by search grounding. It transforms scattered web information into structured insights, providing real-time summaries, core impact analysis, and historical context comparisons for major tech and internet events.
Architecture Upgrade: NetPulse now uses a Backend-for-Frontend (BFF) architecture powered by Cloudflare Workers. All API calls (Tavily Search & Gemini Analysis) are executed securely on the server-side, ensuring your API keys are never exposed to the client.
| Layer | Technologies |
|---|---|
| Frontend | React 19, TypeScript, Vite, i18next |
| Backend | Cloudflare Workers (JavaScript) |
| Styling | Tailwind CSS, Lucide React (Icons) |
| AI Model | Google Gemini 3.1 Pro / Gemini Flash-Lite |
| Search | Tavily AI Search API |
| Storage | Cloudflare KV (for share links & auth tokens) |
NetPulse/
├── App.tsx # Main application component
├── i18n.ts # i18next configuration
├── locales/
│ ├── zh/translation.json # Chinese translations
│ └── en/translation.json # English translations
├── components/
│ ├── Header.tsx # Header with language switcher
│ ├── ParticleBackground.tsx # Interactive particle background
│ ├── SearchBar.tsx # Search interface with trending topics
│ ├── ResultView.tsx # Analysis result display
│ ├── ShareButton.tsx # Share button component
│ ├── ShareModal.tsx # Share configuration modal
│ ├── SharedView.tsx # Shared analysis view page
│ ├── SettingsPanel.tsx # Custom API keys settings panel
│ └── LanguageSwitcher.tsx# Responsive language toggle
├── utils/
│ ├── shareUtils.ts # Share link encoding/decoding utilities
│ ├── apiConfigStore.ts # API configuration storage
│ └── analytics.ts # Umami analytics tracking utilities
├── services/
│ ├── geminiService.ts # API service layer
│ └── directApiService.ts # Direct API calls for custom keys
├── types/
│ └── apiConfig.ts # API configuration types
└── backend/
└── worker-i18n-v2.js # Cloudflare Worker backend (latest)
Clone the repository
git clone https://github.com/EmmaStoneX/NetPulse.git
cd NetPulseInstall dependencies
npm install
# or
bun installLocal Development
npm run devThis project uses a unified deployment approach via Cloudflare Workers with Static Assets. Both frontend and backend are deployed together.
Add the following secrets in Cloudflare Worker settings (Settings → Variables and Secrets):
Multi-Key Support: NetPulse supports up to 10 Tavily API keys with automatic round-robin load balancing. This helps distribute API usage across multiple keys to avoid rate limits. If you only have one key, just configure TAVILY_API_KEY_1.
| Endpoint | Method | Description |
|---|---|---|
| /api/analyze | POST | Analyze a query with search grounding |
| /api/trending | GET | Get trending topics (supports ?lang=zh or ?lang=en) |
| /api/share | POST | Create a share link (stores data in KV) |
| /api/share/:id | GET | Retrieve shared analysis data by ID |
| Back | FazBrowse Home | New Git URL |