Alright, let’s talk about this “fight to win 245” thing. It’s not as dramatic as it sounds, haha. More like a personal challenge I set for myself. Basically, I wanted to see how much I could level up my coding skills in a short amount of time. 245? Just a random number I picked.

So, where did I start? I knew I needed a project, something real, not just tutorials. I settled on building a simple task management app. Yeah, I know, super original. But it let me touch a bunch of different areas: front-end (dealing with the UI), back-end (handling the data), and even a bit of deployment.
First, I fired up my code editor – VS Code, naturally. Started with the basic HTML structure. I’m not a designer, so the initial look was…functional. Think boxes and basic fonts. But hey, gotta start somewhere, right? I hammered out the structure: input fields for adding tasks, a list to display them, and some buttons for marking tasks as complete or deleting them.
Then came the JavaScript. This is where the “fight” part started. I wrestled with event listeners, trying to get the add button to actually add a task to the list. It was a lot of trial and error. I’d write some code, test it, and then stare at the console wondering why nothing was happening. I poked around Stack Overflow a lot during this phase. No shame in admitting that!
Once I got the basic task adding working, I moved on to the back-end. I decided to keep it simple and use * with Express. I spun up a server, created some API endpoints for adding, getting, updating, and deleting tasks. I used MongoDB to store the data. Setting up the database was a bit of a pain, I remembered spending a good chunk of time figuring out the connection string and getting it all to work.
Connecting the front-end to the back-end was the next hurdle. I used Fetch API to send requests to my API endpoints. More debugging, more console logs. I struggled with CORS errors for a while, eventually figuring out the right headers to set. Felt like a small victory when I finally got the data flowing between the front-end and the back-end.

Next up, improving the UI. I threw in some basic CSS to make it look a little less…awful. I added some animations for when tasks were added or completed. Nothing fancy, but it made the app feel a bit more polished. I also implemented some basic error handling. I made sure to display a message if the user tried to add an empty task or if there was an issue connecting to the server.
Finally, I decided to deploy it. I chose Netlify for the front-end and Heroku for the back-end. Setting up the deployment pipelines was a bit of a learning experience. I hit a few snags with environment variables and build configurations, but I eventually got it working. It was pretty cool to see my app live on the internet.
- Learned a lot about JavaScript, *, Express, and MongoDB.
- Got more comfortable with front-end development and back-end development.
- Improved my debugging skills.
- Learned how to deploy a full-stack application.
So, that’s the “fight to win 245” story. It wasn’t always easy, but I learned a lot and had fun doing it. It’s all about consistent effort and never giving up, and now I have a simple task management app to show for it.