Transistor Learn is an interactive web application designed to teach binary counting through a visual transistor interface. This project combines educational content with an engaging cyberpunk-inspired UI to make learning binary concepts fun and intuitive.
- Interactive Transistors: Toggle individual bits by clicking on animated transistor components
- Real-time Conversion: Instantly see the decimal equivalent of your binary input
- Expandable Bits: Add or remove transistors to experiment with different bit lengths
- Neon Cyberpunk UI: Enjoy a visually stunning interface with glow effects and smooth animations
- Responsive Design: Works on desktop, tablet, and mobile devices
- React.js
- Vite
- Framer Motion (for animations)
- CSS3 (with custom animations and effects)
- JavaScript ES6+
-
Clone the repository:
git clone https://github.com/0xSuryax/transistor-learn.git -
Navigate to the project directory:
cd transistor-learn -
Install dependencies:
npm install -
Start the development server:
npm start -
Open your browser and visit
http://localhost:3000
- Toggle Bits: Click on any transistor to toggle it between ON (1) and OFF (0)
- Add Transistor: Click the "Add Transistor" button to add more bits
- Remove Transistor: Click the "Remove Transistor" button to remove bits
- Reset: Click the "Reset All to 0" button to turn all transistors OFF
Transistor Learn helps users understand:
- Binary number system
- Bit representation in computing
- Powers of 2
- Binary-to-decimal conversion
- Basic transistor states and their relation to binary
The main interface showing the binary-to-decimal conversion
Close-up of the interactive transistors
transistor-learn/
├── public/
├── src/
│ ├── assets/
│ │ └── react.svg
│ ├── components/
│ │ ├── BinaryDisplay.jsx
│ │ ├── Controls.jsx
│ │ ├── DecimalDisplay.jsx
│ │ ├── Footer.jsx
│ │ ├── Header.jsx
│ │ └── Transistor.jsx
│ ├── styles/
│ │ ├── App.css
│ │ ├── BinaryDisplay.css
│ │ ├── Controls.css
│ │ ├── DecimalDisplay.css
│ │ ├── Footer.css
│ │ ├── Header.css
│ │ └── Transistor.css
│ ├── App.jsx
│ └── main.jsx
├── .gitignore
├── eslint.config.js
├── index.html
├── package-lock.json
├── package.json
├── README.md
└── vite.config.js
- Add a tutorial mode for beginners
- Include logic gate demonstrations
- Add bitwise operation visualizations
- Implement challenge mode with binary puzzles
- Add support for hexadecimal conversions
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by fundamental computer science education
- UI design influenced by cyberpunk and retrowave aesthetics
This is a Vibe project! It was created as part of a personal coding journey to explore the intersection of education and aesthetic design. As a Vibe project:
- There may be bugs or imperfections as the focus was on creative expression
- Some components might need optimization for production environments
- The code prioritizes visual impact alongside functionality
- It represents a creative exploration rather than a production-ready application
Feedback and suggestions are always welcome to improve the vibe and functionality of the project!
© 2025 Transistor Learn
