CBFC Watch is the first public, searchable database of film censorship in India. It makes censorship data for nearly 18,000 films (2017-2025) accessible for research and public awareness.
To get the site running on your local machine, follow these steps.
-
Install dependencies: This project uses
pnpmfor the frontend andpipfor Python scripts.# Install Node dependencies pnpm install # Install Python dependencies pip install -r scripts/requirements.txt
-
Configure Environment: Copy the example environment file and add your own keys.
cp env.example .env
-
Run the dev server:
pnpm dev
You can also create and preview a production build:
# Create the build
pnpm build
# Preview the site
pnpm previewThis project is built with:
- Frontend: SvelteKit, TypeScript, TailwindCSS
- Data Viz: Svelteplot
- Search: Typesense
- Database: Cloudflare D1
- Deployment: Cloudflare Pages
- Data Processing: Python
- Analysis: R & RMarkdown
The following scripts are used to keep the project's data updated.
pnpm update-data: Fetches the latest data CSV.pnpm index-search: Syncs the data with the Typesense search index.pnpm build-notebook: Generates the R analysis notebook from the latest data.
cbfc-viewer/
├── src/
│ ├── routes/
│ ├── lib/
│ │ ├── components/ # Charts and components
│ │ ├── data/ # Static data & data for charts
│ │ └── utils/
│ └── app.html
├── scripts/ # Data processing scripts (Python & Node)
├── analysis/ # R analysis files & notebooks
├── static/ # Static assets (images, fonts)
└── build/ # Production build output
Contributions are welcome! Here’s how you can help.
- Submit a Film: Add missing films at cbfc.watch/contribute.
- Report an Error: Find a mistake? Please report it as an issue in the censor-board-cuts repo.
- Bugs & Feature Requests: Spotted a bug or have an idea? Please open an issue.
- Pull Requests: Want to contribute code? Fork the repository and submit a pull request. We'd love to see what you come up with!
- censor-board-cuts: The raw dataset that powers this project.
The code is licensed under MIT. The data is available under ODbL.
Components of this repository, including code and documentation, were written with assistance from Claude AI.