Bitcoin Webminer
This project became a highlight of my summer vacation, fueled by the idea of printing money off the school computers once break was over. Mining cryptocurrency is something that's always interested me, as is creating things from scratch, so taking this on just made a lot of sense.

I opted to mine Bitcoin over other cryptocurrencies such as Dogecoin largely for its ease of implementation. Bitcoin Core, a software for validating the blockchain, has some handy features for sending data to Python.
![]() |
Block info and CPU usage |
The operation begins with Bitcoin Core transmitting the latest blockchain information to a Python script, which calculates the mining target and forwards it to a server. The server hosts a webpage containing HTML and JavaScript designed for client-side hashing.
In the future there's so much that could be done to expand on this project! Beyond making the UI look better, the mining itself can be improved. Keeping JavaScript as the main interface to start mining, I’d add WebAssembly for faster hashing and Web Workers to enable multi-threading, which would essentially multiply the output.
Before this project, I barely knew what Bitcoin was and had no web development experience. By the end, I had built a working system that linked blockchain protocols, Python scripts, and browser-based computation. It turned out to be more than just a fun experiment as it gave me practical experience with full stack development and hosting a server. And this all started from the simple question of "what if I could mine Bitcoin on a school computer?"