While writing a text editor, a compiler, an operating system, or a raytracer might make you a better programmer, it won't make you a better software engineer. In fact, it might make you worse at software engineering, because it embodies the disastrous "Not Invented Here" doctrine.
Hackers like to obsess about Big-O, data structures, HoTT, and other high-theory stuff, yet the following skills, essential for software engineering, are almost never discussed and even more rarely practiced:
- Deciding what to write yourself and what to take from a library
- Identifying high-quality libraries and frameworks that meet your project needs
- Deciding where optimization is worth the effort and where it is not
- Writing code that will still be readable to you (and others) a few years from now
- Thinking about the project as a large-scale, complex system with software and non-software dependencies
In that spirit, I offer the following alternative challenge: Create a web search engine. Don't bother with string matching algorithms etc., others have already done that for you. "Just" make a search engine (and crawler) that can actually work, even if it only supports a subset of the web and a single concurrent user at the beginning.