Alright folks, lemme tell you about this thing I was messing around with called “xchallenge.” It’s kinda silly, but I learned a few things, so figured I’d share.
So, I started with a blank slate. First thing I did was just brainstorm, you know? What kinda challenge would be fun and (hopefully) not take, like, a million years? I considered a bunch of things, but eventually landed on trying to build a super basic to-do list app from scratch – like, really scratch.
Next up, setting up my environment. I figured I’d use JavaScript ’cause I’m somewhat familiar with it. So, I created a basic HTML file with a `script` tag pointing to my JavaScript file. Nothing fancy, just the bare bones.
The core logic was next. I wanted to be able to add tasks, mark them as complete, and delete them. So, I started by writing the JavaScript functions for those actions. Adding a task involved grabbing the text from an input field, creating a new list item, and appending it to an unordered list on the page. Marking as complete was just toggling a class on the list item. Deleting was, well, deleting the list item.
Then came the part where I had to actually make it look decent, or at least functional. I spent a bit of time messing with CSS, trying to style the input field, the buttons, and the list. I’m no designer, but I managed to make it not completely hideous. Used some basic padding, margins, and font changes. Added a little checkmark icon for completed tasks. Nothing wild.
After that I went through the process of testing everything I had built. I tried adding, completing and deleting tasks, making sure everything worked as expected. Found a couple of bugs with my delete function not properly removing the element. That took some debugging, staring at the code, and finally realizing I was using the wrong index.

After squashing those bugs and making sure that it all work on the client side I wanted to add the ability for the information to save. So I then had to figure out local storage. That took way too long, but eventually I got it working, so when you refresh the page, your to-do list doesn’t vanish into thin air. Hooray!
Overall, the “xchallenge” was a fun little exercise. It wasn’t revolutionary, but it reinforced some fundamentals and taught me a few new things. And hey, now I have a (very basic) to-do list app that I built myself. Not bad for a day’s work.