HACKER Q&A
📣 vinniepukh

I'm bad at design, which stops me from finishing side projects. Advice?


I'm a great engineer, but terrible at design. Specifically, terrible at coming up with a design I don't hate from a blank slate. If I'm given a Figma or Photoshop mockup etc. I can implement the design pixel-perfect.

I have realized now that this is stopping me from completing my side projects and launching them. Every time I start working on a new one and do the initial work, I get demotivated because what I'm working on looks like crap.

Recently, for an email project I'm working on I shamelessly copied the look of an existing email product. I noticed that made me more excited and motivated to continue working on the project.

I'm wondering if anyone else feels the same and has any other tips/advice?


  👤 houseatrielah Accepted Answer ✓
Midjourney will give you a webdesign mockup. https://yon.fun/midjourney-website-design-prompts/

👤 janosdebugs
What helped me a lot was learning design specifically. Not in a structured fashion, but I picked up bits and pieces about grid systems, vertical rhythm, color theory, typography, etc. While I was doing that, I also learned from the descriptions what an art person would look at. What's their way of thinking? How do they look at content as shapes on a drawing board? How do they guide attention?

The result? I'm "ok". Apart from the current website I made with my wife, I mostly made relatively simple designs which I could at least look at. Theory really helps provide guardrails, rules to follow. Later you can stop following the rules once you know what you are doing.

Edit: I also find multiples very helpful. For a website, I'd start with a base line height of 1.5rem and make everything a multiple or divided by a whole. Menu height? 3rem. Border radius? 0.75rem. Padding? ... You get the idea. Later on you can bring in stuff like golden ratios. When I started 3D stuff, I did the same in Blender. I moved everything via the coordinate box.


👤 karmakaze
It's a side project. Appreciate the function over the form. Could you design something that looks as 'good' as HN? If you're judging your side project as if it's a product for sale, then it's more of a side hustle and you should find a designer. Even then you could still get the functional parts working that could then be made more pleasing. If the problem is also structuring the UX, then try to get better at it, or again find someone to work with.

I myself am a back-end dev and have not let plain/simple UIs detract me from launching a product. I've done it a few times, but I never put in the marketing/sales effort to carry it. My shortcoming was being motivated in that 'side of the business'. If possible find someone to work with who also has that unless you can take that role too.

Last thing to consider is why you're working on the side projects. If it's to learn, then keep doing it and get better at all aspects you find interesting or important. If it's to make money be realistic as to what that requires and either put in the time/effort/learning or partner up.

The best situation is that you're solving a problem for target users where if the product works at all, they will gladly pay to use the product regardless of how it looks. Think of what internal tools at a company look like, usually very utilitarian. This can also work for the right customers. The rule of thumb is to think of what your target customers ~want~ *need* first, rather than make a product then look for customers without knowing specifically what they want or why. That's to say make sure it's specialized for them and choose the 'them' that you want to serve first. If you find out they have an even bigger problem, you should solve that, rather than pass and look for customers that want the product you built. If a customer's hair's on fire, they won't pause and reconsider because of the color of the blanket that can put it out.


👤 imgyuri
i'd recommend https://www.refactoringui.com/ to first get build your design "sense". it's fairly simple to build simple UI these days since the default components of design libraries are quite nice.

👤 georgehill
What stack are you using?

I personally recommend utilizing readily available components:

https://ui.shadcn.com/

https://mui.com/

https://semantic-ui.com/

https://www.radix-ui.com/ (themes)

etc..


👤 toldyouso2022
Buy a bootstrap theme, they're cheap and they offer a lot out of the box. Better solution than bare tailwind in your case, which actually requires you to know how to design. I used tailwind on my personal website, result was good but I had to do a lot more than if I used a bootstrap theme.

You make your app ui work within the boundaries of your bootstrap theme and you're good for 96% of the design stuff.

If you don't want to even learn bootstrap css classes and stuff, consider https://andybrewer.github.io/mvp/

It's amazing, you drop it and you have a theme based on the html only. I use this mostly for prototyping though


👤 sturmdev
This was me! I was in the same exact situation. Everything I designed looked awful, and it killed my motivation.

You can learn, but it will take years of dedicated study and practice, at least in my experience. I worked really hard to learn for about 3 years, and now I’m pretty satisfied with my side projects.

I also learned that I really enjoy design. I wouldn’t say I’m “good” at it, but I can get by. I think some people have innate talent for design, and some people (like me) don’t. But you can certainly become “good enough” through hard work in lieu of talent.

Whether or not you decide to go down this rabbit hole is up to you, but I wanted to share my experience. It is slow and difficult, but possible.


👤 6r17
Might seems bit too far fetched ; but i'd recomend you to learn the basics of drawing (with pencil and paper) try to sketch up a car or a person or whatever ; the idea is that you draw the importants parts without much details ; you would have a shape but not all the details ; and based on that you can think of design trough design layers ; - what is the problem we solve ? - what are the constraints ?

I'd also recomend you yo keep refactoring and improving your code ; if it isn't good, juste rewrite it ! document it, make sure you will not get lost


👤 hjkl0
FWIW, I can recommend The Non-Designer's Design Book, by Robin Williams.

It’s short and to the point with practical lessons about things like layout, contrast, etc.

https://www.amazon.com/Non-Designers-Design-Book-4th/dp/0133...


👤 romanhn
I'm exactly the same. What helped me was Tailwind + commercial TailwindUI library, which was more than worth the money. I just used the pre-built components for both the application and marketing site, and over time started to iterate on my own. I still wouldn't be able to build something that looks good from scratch, but I find evolving an existing good design to be much easier. Got many compliments on my app's UI, which is funny considering how non-intuitive I find design to be.

👤 flowzai
You're not alone in feeling stuck when it comes to design. Creatives often face the challenge of starting with a blank canvas. It's great that you found motivation by mimicking an existing email design. That's a great move! Take inspiration from other designs or use templates. Break down what you like about them and gradually incorporate those elements into your own work. In the beginning, I struggled with design, but learning from existing designs helped me improve.

👤 ssss11
Go to a colour scheme site and choose a css colour scheme you like. Get a temporary logo from a free stock site or chatgpt. Get stock images. Use bootstrap, tailwind etc. use a template for layout or forms module etc for slick components if you like.. there’s good free ones.

Build your product (on the domain name you like if possible) and it’s 60% there for a first go.

If it’s promising… then think about something more professional.


👤 an_aparallel
Why not team up with a designer? to give an example...i love UI related stuff - but am not proficient/capable (yet) at coding. This is where collab is perfect no?

👤 quickthrower2
I feel the same. What I do is just start with a template. Tailwind had a lot of good templates around it, many are free. But same is probably true of bootstrap etc.

👤 iancmceachern
Find a designer whom has the exact opposite problem. Either teach eachother how to do eachothers piece better, or do it for eachothers project in trade.

👤 com2kid
Do you have a couple hundred $s to dedicate to the side project? If so, throw some work to a design student on fiverr.

👤 RecycledEle
Ask an AI to help you with the design.

or

Pay someone on Fiverr.com to help you with the design.


👤 nittanymount
a developer that is bad at design ?

when you implement a feature/function, don't you think about which way it could be easier to use ? guess if you think from a user perspective, that will help you improve the design ?


👤 qwertyuiop12
I had the same problem. Take online courses.

And now, you can use AI to be “inspired”


👤 simne
Just accept crap design and do good product disconnected from design (run it with simplest possible wireframe mockup).

When your project will run well, just buy template with acceptable license somewhere and switch to it.


👤 streptomycin
I used to have this problem many years ago. Then Bootstrap came out. My little projects no longer look like complete shit, that's good enough for me. I know it's not trendy anymore, but it still looks decent and is very easy to use.