DEV Community

Cover image for BIOS Screen Using React, Redux, Tailwind !!!
ุญุฐูŠูุฉ
ุญุฐูŠูุฉ

Posted on

BIOS Screen Using React, Redux, Tailwind !!!

BIOS Emulator Web Interface โ€“ React Edition ๐Ÿš€

Before we start โ€” if you find this project interesting, please consider giving it a โญ๏ธ

GitHub Repo: BIOS-Emulator-Web-Interface


๐Ÿ”™ A Look Back: The First Version (2024)

Last year, I built a BIOS emulator as a web interface using pure HTML, CSS, and JavaScript.

While functional, it quickly became difficult to manage:

  • Code was large and tightly coupled
  • UI elements had to be manually hidden/shown based on key presses
  • It started behaving like a full SPA (Single Page Application)... just without a framework HAHA

๐Ÿ” The Rebuild: Moving to React (2025)

So I decided to rebuild it using React JS.

At first, it seemed simple... until I found myself diving deep into the Phoenix BIOS User Manual (PDF).

From there, it became a 10-day journey of:

  • Handling complex keydown events
  • Dynamically rendering components based on key inputs
  • Improving accessibility and layout with Tailwind CSS
  • Managing global state using Redux Toolkit
  • And yes โ€” a little help from ChatGPT

Despite the added complexity, the project became far more readable, modular, and maintainable than the original version.


๐Ÿงฑ Project Structure Evolution

Hereโ€™s a quick comparison between the first and second versions:
Before :
React Project Structure
After :
Old vs New Project Structure


๐Ÿงช Try It Live

Demo:

๐Ÿ”— BIOS Emulator Web Interface (GitHub Pages)

Keyboard Controls:

  • ArrowUp, ArrowDown, ArrowLeft, ArrowRight
  • Enter, Space, F1, F9, F10, Esc

๐Ÿ’ป For best results, view on a desktop browser โ€” itโ€™s designed to simulate a legacy BIOS screen.


๐Ÿ™ Support

If you enjoyed this project or found it helpful, please give it a star on GitHub. It means a lot and helps others discover it!

๐ŸŒŸ Star the repo


Thanks for reading!

Top comments (4)

Collapse
 
nevodavid profile image
Nevo David •

man, seeing something go from scrappy html to this is just rad - ever hit moments where you almost wanted to ditch it or did building the new version just keep pulling you back in?

Collapse
 
xb16 profile image
ุญุฐูŠูุฉ • • Edited

Thank you, I faced some obstacles that made me frustrated but i go away far from the code a day or 2 days and come back with new enthusiasm to complete work.

Don't forget to give us a star on Github.

Collapse
 
sejutaimpian profile image
Eris Sulistina •

I like it ๐Ÿ‘

Collapse
 
xb16 profile image
ุญุฐูŠูุฉ •

Thank you,
Don't forget to give us a star on Github.