Brolang is a fun programming language built for fun by Ankush
Supports both pure english and pure hindi syntax with fully customizable keywords and error messages.
You can get started with BROLANG by visiting brolang.whyankush.wtf
- To set up locally, you can clone the repository and run the following commands:
git clone https://github.com/ankush-web-eng/brolang
npm install -g yarn
yarn install
yarn dev- Fully Customizable Keywords: Change any keyword to your preferred term (e.g., "bhai_sun" → "LET", "agar" → "IF")
- Personalized Error Messages: Modify error messages to match your style or language
- Real-time Preview: See changes instantly in the playground
- Persistent Configuration: Save your custom syntax to localStorage
- Reset to Default: Easily restore original syntax anytime
- Write and test Brolang code instantly in your browser
- Real-time syntax highlighting and error detection
- Multiple themes support (Dracula, GitHub Dark, Monokai, etc.)
- Responsive design for mobile and desktop
- Report bugs directly from the application
- Integrated with GitHub Issues for seamless tracking
- User-friendly interface for detailed bug descriptions
- Comprehensive docs available in both Hindi and English
- Interactive examples and tutorials
- API references and language specifications
-
BROLANG uses a modern Event-Based Architecture with real-time capabilities
-
Frontend: Next.js 15 with TypeScript
-
Compiler: Custom TypeScript-based compiler for Brolang syntax
-
Backend: Golang microservices
-
Cloud: Railway.app & Vercel
-
Queue: Apache Kafka
-
Pub-Sub: Redis
-
UI/UX: TailwindCSS + Aceternity UI + Shadcn UI
-
Email: Nodemailer with custom templates
- On production, this application uses Client-Server architecture optimized for performance and cost-efficiency
- WebSocket server and worker code available in
server/directory - Code is well-commented with context in
context/CodeContext.tsx
- Click the "Customize Syntax" button in the playground
- Modify keywords and error messages to your liking
- Test your changes in real-time
- Save configuration to persist across sessions
- Share your custom syntax with others!
// Default syntax
bhai_sun x = 10;
agar x > 5 {
bol_bhai "Hello World!";
}
// Custom syntax example
let x = 10;
if x > 5 {
print "Hello World!";
}
- Contributions, issues and feature requests are welcome!
- Check the issues page to contribute
- Open to suggestions for new syntax, error messages, and tech stack improvements
- DM me on Twitter for quick discussions
BROLANG is licensed under the MIT License. See LICENSE for more information.

