I wrote the core architecture and
most of the code myself. I used
Claude occasionally to help
debug tricky issues and understand
some concepts, but the design
decisions and implementation are mine.
I think AI is a great learning tool
when you're trying to understand
low-level concepts for the first time.
How did you decide between assembler and C for various parts of the kernel? Some choices are very different from what I would have picked, so I'm curious about your thought process.
Assembly for anything that HAS to
be assembly: bootloader, GDT/IDT
setup, interrupt handlers, context
switching, and port I/O wrappers.
C for everything else: window
manager, apps, drivers, GUI
rendering.
Some parts I probably could have done
in C with inline assembly but I found
writing pure ASM for the low-level
stuff helped me understand exactly
what was happening at the hardware
level.
What choices looked different to you?
I'd love to hear your perspective
always looking to improve!