Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

What do you do with ugly projects?

Let’s say you create a website that’s simple but shows what you know. As you grow in knowledge you notice your mistakes and now to fix them would take a decent amount of time.

Do you put them on your portfolio anyway and just build better stuff, or just erase most of your code and redo it?

4 Answers

Jinjia Lin
Jinjia Lin
11,942 Points

Hi mryoung,

Been learning webdev for 3 months now, and I can relate with what you mentioned.

In the beginning no matter how much I learnt, I just had a problem trying to integrate everything nicely into a decent-looking website. At times, I really wanted to give up.

Then I started to google search for "web developer portfolios" and started "copying" ideas from different sites. (not whole sale). For example, I wanted to do a sidebar for my website, but I had no idea how to. So what did I do? I found a website with a simple sidebar which was elegant in itself, and then looked at the HTML and CSS. Then I tried to replicate it in my own website.

Now, my website still looks crap, but what I realised was this - when you begin web development you not only have to build projects to facilitate learning, but you actually learn faster if you "snatch" ideas from other places/people. It's admittedly difficult to integrate all the information from the different videos on Treehouse into a single project (no offence to the instructors here - they are brilliant), but one good way I would suggest is to look at other people's work.

I had no idea how to build a sidebar, but by looking at others' work, I learnt the concepts of fixed, relative, absolute positioning just by learning how to build that side bar alone. It was really satisfying.

So, TLDR, imo, look at others' work instead of building something from scratch. I think it's a lot more fun and less frustrating than trying to revamp your website again and again, because ultimately, there may be no end to it.

I would say keep them as your portfolio and as you gain the knowledge you constantly go back and refactor your code. Code refactoring is something that everyone does, from a junior developer to the most senior lead developers.

So your project is a huge achievement to what you know so far, in 6 months time when you know more, you can refactor it and get a greater sense of achievement.

Many modern Dev teams follow an agile methodology which allows this exact thing to happen, you start with something basic and build upon it through iterations, so think of your work as agile sprints into being the best developer you can be.

that's the way I like to think of these things, that way you will always be proud of your work no matter how little or great knowledge you have it will always be built upon and be made better.

Use case

a typical use case for this is the normal development lifecycle of a website, think of a big website that has been up for 10 years, Amazon or something, if you compared Amazon 10 years ago to Amazon today, it would look awful but over the years they have built on their website, iterating through new designs, decomps and marketing preferences to make the self-intuitive website that they have today.

Hope this helps!


.a{fill-rule:evenodd;}techdegree seal-36
Front End Web Development Techdegree Graduate 56,488 Points


Some great answers here that I do agree with. But I also wanted to come with my own view.

If you don't feel like refactoring right now and want to work on new things you could just start a new project and keep learning that way. But never delete those projects even if they are really bad and ugly! You're gonna love coming back and see all those flaws in a couple of years.

I finished my Techdegree 2 years ago, I still have my projects on GitHub for safekeeping. There are some gigantic flaws there but I love watching them every now and then to see how far I've come. I am still really proud of those projects too, for that matter. I just marked them "LEGACY-projectname" to make sure everyone knows that the code is a tad outdated. You can see what I mean right here: https://github.com/Stjarnan?tab=repositories

I hope that helps :)



And actually yes this is a great way of showing your progress in a portfolio to someone hiring you. if they can see that you have gone from a non-developer to a highly competent developer in 6 months, they're not looking at your old work they're looking at your ability to learn and improve over a short period of time.

Excellent answers guys thanks everyone! I was feeling pretty discouraged lately with the amount I feel I have to learn and all that. Mixing those feelings with knowing how I could have done things better got me a bit frustrated.

Thanks again all, I’ll keep improving! :)