Live at: https://bitpulse.online
Bitpulse is an autonomous, AI-driven crypto news website that recreates and republishes articles from crypto.news using cutting-edge prompting techniques and large language models (LLMs). Built from scratch in under one week, Bitpulse is a showcase of rapid development using AI tooling, modular infrastructure, and modern web stacks.
- 🔁 Fully automated news generation from crypto.news
- 🧠 Uses prompt-chaining and dynamic prompt selection powered by LLMs (Groq, LLaMA3)
- 📜 Structured Markdown blog posts generated on-the-fly
- ⚙️ Astro frontend + Playwright scraping + Typer CLI-based dev workflow
- 🧩 Modular architecture with Dockerized services and Traefik gateway
- 🖼️ Supports image-enriched blog posts using scraped captions and descriptions
- ⚡ Live hot reload in dev; optimized static site in production
| Layer | Tech |
|---|---|
| Frontend | Astro + TailwindCSS |
| Scraping | Playwright |
| Prompting | Custom templates & selectors + Groq API |
| Article Store | Markdown (.md) written directly to disk |
| CLI Workflow | Typer |
| Containers | Docker (multi-stage) |
| Routing | Traefik + NGINX |
You’ll need:
- Python 3.11+
- Docker + Docker Compose
- Typer CLI
cd integration
typer do.py run dev setup
typer do.py run dev buildFill in the required .env files in:
astro/.envcomposer/.env
Then start the system:
typer do.py run dev start- Astro (Frontend): http://127.0.0.1:3000
- NGINX (Static Proxy): http://127.0.0.1
Set your domain (e.g. bitpulse.online) in:
integration/docker-compose.prod.yml
Then run:
typer do.py run prod startTraefik will handle TLS, certificates, and routing. Ensure port 80/443 are open.
.
├── astro # Astro frontend
├── composer # Article scraping, LLM prompting, file generation
├── integration # Dev/prod orchestrator, CLI
├── nginx # Static content server
├── gateway # Traefik reverse proxy
└── .env # Secrets (not committed)
Each major component has its own Dockerfile and .env.
-
The composer service scrapes
crypto.newsand uses LLMs to generate:- SEO-optimized title
- Rich Markdown body with embedded images
-
Each generated post is written as
.mdin a shared volume. -
The Astro frontend picks up changes via file events and re-renders.
-
NGINX serves a static version of the site (for prod).
-
Traefik routes traffic and handles certificates.
Bitpulse is working well, but here's what we’d like to improve:
- ✅ Queue System: Articles are stored directly to disk — a job queue (Redis?) would improve scalability and retry logic.
- 🖼️ Image Generator: Auto-generate custom thumbnails or stylized banners for each blog post using AI image tools.
- 📈 Advanced SEO: Meta schema injection, sitemap generation, and social previews.
- 🕵️♂️ Stealth Scraping: Add stealth modes (rotating IPs, anti-bot JS) for long-term reliability.
- 🌐 MCP Server Integration: Connect to Multi-Channel Publishing servers to auto-post content to X/Twitter, Telegram, and newsletters.
MIT — open-source and free to use, modify, and build upon.
Amir Hossein Baghernezhad and the help of a lot of automation ✨