A lightweight, Go-powered alternative to Firecrawl.
Cinder-sv is the modern Svelte 5 frontend for the Cinder Scraper & Crawler Backend.
I built Cinder because I wanted a lightweight, easily deployable version of what Firecrawl offers, leveraging a language that does the job better and easier: Go. While Firecrawl is powerful, Cinder focuses on speed, simplicity, and low-overhead deployment.
Hi, I'm Michael Obele. I'm a Network Engineer by trade and a Svelte enthusiast by passion. I've spent a lot of time building specialized MCP servers and exploring the Svelte ecosystem. I'm building Cinder solo for now, focusing on creating high-performance tools that are actually enjoyable to deploy and use.
There is already an MCP version of Cinder ready! It allows you to use Cinder's scraping and crawling capabilities directly within your AI workflows (like Claude Desktop or Cursor). It will be open-sourced very soonโstay tuned!
src/
โโโ remote/ # Remote Functions (Secure RPC proxy to Cinder backend)
โ โโโ cinder.remote.ts # Current core logic for Scrape, Crawl, and Search
โโโ lib/
โ โโโ components/ # Reusable UI Blocks (ResultCard, CodeViewer, etc.)
โ โโโ assets/ # Global assets and styles
โโโ routes/
โ โโโ +layout.svelte # Global Navbar/Footer & Theme provider
โ โโโ playground/ # Core tool interface
โ โโโ docs/ # Technical documentation
Clone the repository and install dependencies:
bun install
Set up your environment variables:
cp .env.example .env
Edit .env and provide your backend details:
PRIVATE_CINDER_BACKEND_URL=http://localhost:8080/v1
PRIVATE_CINDER_API_KEY=your_secret_key
Start the development server:
bun dev
Run type checks:
bun check
Cinder-sv follows a "Backend-as-Proxy" architecture using SvelteKit's server-side logic:
src/remote/cinder.remote.ts.$state and $derived to handle asynchronous results and polling (e.g., checking crawl status) with zero boilerplate.Built with โค๏ธ by Michael-Obele.