
Ask HN: I want to build SaaS app but I don't know front-end development - herokiko
Just saw a thread again at the top of Ask HN. So many people are doing good with 5k+ to 10k+ in revenue.<p>I have few product ideas that I want to try. My problem is that I don&#x27;t know front-end development at all. Where should I try building products?  Should I spend time learning front-end development or should I just outsource it?<p>Can you please provide some suggestions?
======
lastofus
It's painful coming from the sane and stable ecosystem of backend dev, but
investing time into learning JS is very much worth it both for your product,
and your career.

For a solid foundation in ES5 (still worth learning well IMO), I would
recommend:

Secrets of the JavaScript Ninja Javascript the good parts

Cozy up to MDN documentation, and get familiar w/ jQuery after learning the
basics of DOM manipulation using the browser API.

Lots of people will tell you to learn
ES6/ES7/webpack/babel/npm/angular/ember/react/redux/etc (FML just typing this
list) but at the end of the day, you will get plenty far with ES5 and
Bootstrap taking care of the CSS. More than enough to earn some serious bucks
(if your product isn't terrible). jQuery and plugins will take you far.

Once making serious cash, hire/outsource if you feel you need for something
more advanced and polished.

------
mindcrime
I agree with @robputt796 and @onion2k - just dive in and build the UI
yourself... learn just enough HTML/CSS/Javascript to use Bootstrap (or
Foundation) for a "good enough" UI. If the idea get some traction, you can
always hire a "real" UI expert later to go back and rework it.

That's basically what I did / am doing. I know bugger all about front-end
development, but I've done all of the work on
[https://www.neuralobjects.com](https://www.neuralobjects.com) by myself.
Basically I used Bootstrap and just enough jQuery to add in some interactivity
using Ajax (like toggling the state of the progress bars as the provisioning
process changes state, etc).

Dive in, learn as you go. You'll get there.

~~~
tonyedgecombe
Haven't seen one of these
[https://www.neuralobjects.com/images/cons/undercon1.gif](https://www.neuralobjects.com/images/cons/undercon1.gif)
in a long time.

------
onion2k
Spend some time learning so you have a basic understanding of how things work,
then use a framework like Bootstrap or Foundation for your first version.
They're good enough to prove your idea and you can improve the UI later.

~~~
nailer
I would suggest avoiding bootstrap - not only are the results poorer, it's
more complicated than doing it yourself.

Use flexbox (with scss and autoprefixer to keep it neat).

Pick a small, uncomplicated JS data-binding framework - vue is very popular
right now, svelte looks like a good bet for the future.

~~~
onion2k
_I would suggest avoiding bootstrap - not only are the results poorer, it 's
more complicated than doing it yourself._

Firstly, my CSS or design skills aren't as good as Bootstrap, so the results
definitely aren't poorer. My sites are a lot better when I use a framework.

Secondly, unless you happen to test in several versions of about 20 different
browsers across a dozen platforms, your code isn't as good as Bootstrap
either. It's easy to say you can write better code if you're only targeting
the latest versions of Chrome, Firefox and Edge, but if you want _exceptional_
support on niche browsers (or you want something that works on old browsers in
the case of Bootstrap 3) then you have little choice but to use a framework.
There's simply too much work involved in writing code that works everywhere to
do it any other way.

If you do opt to write your own code, on any moderately complex app you'll end
up writing something that looks a lot like a framework eventually anyway,
except it won't be as well thought out and no one else will be able to
contribute to it. I fully understand why people don't like them but they
really are a good idea for most apps.

------
robputt796
UIs suck anyway, just make a kick ass API and then for the front end just
cobble something together in Bootstrap and use a free starter template. At the
end of the day your SaaS product will sell itself on it's features if it has
some good USP.

~~~
sova
USP?

------
nicholas73
It's strange to me when someone says they only know backend or frontend. Does
that mean they literally never worked on the other side, like not even knowing
Javascript or other language?

I've never worked as a developer and learned how to make apps for my side
projects, so from the start I had to learn a bit of both. Obviously not as
deep as someone who calls themselves exclusively a front or back end
developer.

Does just knowing one side signal that you only do development for a job?

------
sharmi
As someone who has been at the same place, my two cents.

When I developed my first app, my knowledge of css and javascript as very
basic. I could identify working code and worked by cut/paste.

I was overwhelmed by the number of options available compared to backend dev,
which is pretty much stable. I posted on HN and the consensus of the majority
was to use bootstrap as it was widely used.

For a beginner learning on your own, you need to have lots of support when you
run into walls. Because of the large community, Bootstrap has a wide userbase
and most usecases are covered by some tutorial or a question on stackoverflow.
JQuery is well seasoned library, so less bugs and more support.

Also, your need is to release your SAAS app as soon as possible. A framework
or library that does not throw you any surprises and has a good coverage of
components is your best bet.

My javascript interactions were not too detailed, so I stuck with JQuery. Your
mileage may vary.

Now I have had some validation for my product, and I realized that legacy
browsers form a very small part of the visitors but a reasonable portion of
them were on mobile, I have set down the path of making the app mobile
friendly.

Armed with the knowledge gained from bootstrap and jquery, I have a general
plan of what layout and interactions I need, and also how to go about
achieving them. Currently I am reimplementing them in sass with a few
libraries and vanilla js. The page size has come down from 312Kb to 35Kb. But
if I had attempted pure js/css at the start I believe, the project would have
been mired in unnecessary complexities.

~~~
andrei_says_
If you're writing responsive layout code in sass I highly recommend susy
grids. Also look up the sassbytes susy screencasts on YouTube.

It's a beautifully minimal approach.

Speaking of minimal, slim is amazing.

With these two you'll be typing much less:)

------
zer00eyz
I am in the same boat as you, I not only have zero front end skill I also have
zero design skill.

Honesty it has forced me to partner with front end folks, and this has been a
net positive. Having someone else there is not only motivating but the second
pair of eyes has helped me to avoid a lot of silly mistakes.

------
dome82
Maybe, you could try to build your first version of the idea with Bubble
([https://bubble.is/](https://bubble.is/)).

You can go quite far just using this tool, Zapier and Blockspring
([https://www.blockspring.com/](https://www.blockspring.com/)) together.

------
hanniabu
Consider yourself lucky. I'm in the same boat but I don't know backend
development, which there are far less resources for.

------
wprapido
partner with someone, hire someone or use a template. unless design is your
USP, it's overrated. what i can advise you as a dual career developer and
designer is that you make your backend so it can use any design. separate
business logic from presentation as much. if the project picks it up, you can
hire a designer to do the job right

------
genbit
we are working on frontend as a service solution (for mobile), please ping me
at sergey@archy.ai, would be interesting to have you as early beta user.

------
fiftyacorn
Buy a template that fits your business and tweak it

------
a_lifters_life
Do you know back-end dev?

~~~
herokiko
Hi, yes I know backend development. I have worked with many databases such as
Oracle, Netezza, DB2, MySQL. I have been working on hadoop ecosystem for
massive data processing for last 3 years. It is just front-end development I
never picked up.

