DEV Community

Cover image for Redesigning an app: Refactor or start from scratch?
Bridger Putnam
Bridger Putnam

Posted on

Redesigning an app: Refactor or start from scratch?

Redesigning my side project, Reading Length, has long been on my radar - the day I hit 'deploy' I knew major changes needed to be made before I could implement some of the features I wanted. Problem is, I barely knew JavaScript and didn't know where, or the best way, to begin.

And so, the long journey of learning JavaScript started. Now that I know the ins and outs of Node, React, NoSQL, GraphQL, and a whole bunch of other stuff I'm left to make a decision:

Do I refactor what I have, or start from scratch?

Before I go ahead and delete my codebase, I have one primary consideration: writing it in the first place took a long damn time. Would it be worth it to rewrite what I have to make it cleaner or break it up into pieces that fit into my vision?

One part of me wants to dive into the repo and refactor what I can. Another part of me attended business school and is aware of the sunk cost fallacy.

An objective look at the codebase shows that you could probably get away with selling it in an Italian restaurant. I wrote this back when I knew next to nothing about JavaScript. JavaScript made sense because it appeared to be the way of the future and it would give me more control than what WordPress offered. Node looked cool so I chose that and fumbled my way to a working website.

A year later, and I know so much more about JavaScript. I've read books, taken some great courses, and built some slick sites. I've implemented a style guide. I've learned object-oriented concepts. The code I have right now does not represent my skills, and I certainly would approach the problem differently now. So why tie myself to this old code?

I'm going to start my redesign from scratch and document that journey here, from start to finish.

This is the first post in a series where I redesign my website, Reading Length. This post was originally published on my blog.

Photo by Jorge Zapata on Unsplash.

Top comments (0)