The v1 of JishWorks is finally complete! I added the projects and contacts section.
A added a skills section with nice cards along with a about section.
Added a nice hero section.
I made a nice topbar !
I added a maximize button!
I finally completed the README.md and Welcome app, JishOS is now ready to ship! here is the github repo: https://github.com/J1234D/jishos
This was one of the biggest development sessions for JishOS so far. The Python IDE went from a basic code runner to something that feels much closer to a real desktop IDE.
Introduced desktop widgets to enhance the operating system experience.
Features:
Terminal displays Python output.
Color-coded messages:
Auto-scroll implemented.
Fixed several scrolling and layout bugs.
Implemented a lightweight package manager.
Supported command:
pip install <package>
Features:
pyodide.loadPackage()
Successfully tested with:
Added the first version of the Plot Viewer.
Current implementation:
This is considered a temporary v1 solution before moving to a custom renderer in a future version.
Improved the desktop window manager:
Today involved learning about:
Instead of delaying the first release, these features have been postponed to v2:
main.py, main2.py, data.csv, notes.txt)This update focused on making the JishOS desktop feel much closer to a real operating system.
Whatβs new:
This update significantly improves the overall desktop experience and lays the groundwork for future features like minimizing, maximizing, and window snapping.
Progress Update (Past 2 Days) π
Over the past two days, I built the core desktop environment for JishOS, including:
π₯οΈ Desktop layout
π Top bar
πͺ Reusable window component
π Desktop icons
π Notes app
π±οΈ Custom window dragging system built from scratch using React (no drag library)
Next, Iβll add localStorage support for notes, multiple named notes, improved window management, and more desktop applications.
I made the boot screen! I made this using React JS
Today I completed the design of the top case. I added all the required cutouts, including the Cherry MX switch openings, OLED display window, rotary encoder hole, USB Type-C opening, and the mounting holes. Most of the time was spent adjusting dimensions and fixing clearances, especially around the USB-C port, to make sure everything fit properly.
Note: The Lapse website was offline for most of the day, so although I worked for around 3 hours, only about 30 minutes of the session was recorded.
Time spent: 3 hrs
Lapse: Day 6
Today I redesigned the mounting system to use M3 Γ 5 Γ 4 mm heat-set inserts. I updated all the standoffs, added chamfers to make installing the inserts easier, created counterbores for the screws, and rounded the outer corners of the enclosure to give the case a cleaner and more polished appearance.
Time spent: 2 hrs
Lapse: Day 7
Today I finished the enclosure by adding the final colours, refining the rounded corners, and making the last design adjustments. After completing the CAD work, I started learning CircuitPython and wrote a temporary firmware so the macropad would be functional for the initial build. With everything ready, I completed the documentation and submitted the project for shipping.
Time spent: 4.5 hrs
Lapse: Day 8
These updates cover only the final stages of the project. The complete development journal, including the PCB design, CAD iterations, troubleshooting, firmware progress, and the entire build process from the beginning, can be found here:
π Full Journal: https://github.com/J1234D/ByteBoard/blob/main/JOURNAL.md
I started ByteBoard after seeing my friend Sunrit Hazra build a macropad through Hack Club Blueprint. The project inspired me to design one completely from scratch while learning PCB design, electronics, firmware, and CAD along the way.
I began by studying the fundamentals of schematic design and PCB layout, creating a simple practice PCB before moving on to the real project.
Time spent: 3 hours
After that, I designed the complete schematic for the macropad, including a 3Γ3 key matrix powered by the Seeed Studio XIAO RP2040, a rotary encoder, and a 0.91β OLED display.
Time spent: 5 hours
Once the schematic was complete, I designed the PCB, added SK6812 MINI-E RGB LEDs around each switch for underglow, placed the mounting holes, and routed the entire board. After several iterations and design rule checks, the PCB was successfully completed and exported.
Time spent: 8 hours
With the electronics finished, I started learning Autodesk Fusion to design the enclosure. After practicing with a small bracket model, I began creating the case for ByteBoard.
Time spent: 2 hours
I designed the bottom plate, added standoffs and walls, and fixed multiple clearance issues around the USB Type-C connector to ensure the board would fit and remain fully usable inside the enclosure.
Time spent: 7 hours
I continued refining the case design and resolving fitment issues to improve usability and structure.
Time spent: 3 hours
So far, Iβve spent over 28 hours on the project, learning both PCB design and mechanical CAD while documenting my progress through Hack Club Lapse timelapses. The next steps are to finish the enclosure, manufacture the PCB, solder all components, write the firmware, and assemble the final macropad.
Timelapses
I added jso-hello command which says Hello!