Small Web App Development (silly questions inside)

TacoCat

Bueno...
BuSo Pro
Joined
Apr 2, 2015
Messages
502
Likes
558
Degree
2
Hey guys.

We figured that there is a rather simple web app, that woudl massively improve our clients experience.

Long story short, we want to hire freelancers to develop the app.

I'm extremely dumb when it comes to these things, so I wanted to ask BuSo members a few questions, that might clear things up.

I apologize in advance if my questions sound stupid, let me know if you need any more details.

The web app will be aviable trough a domain obviously, clients will have to log in, and it will have some moving features, not only data submission, but a super small "game" - it will have one moving part. I don't know how to otherwise describe it.

They essentially select their settings and click "Start".

My questions are:

1. If I hire designer to create the look for the web-app, what language is he creating it? Just plain old HTML/CSS?
2. If a designer has created all the details in HTML/CSS can the backend programmer just use all that code to create the end product? (Just like with websites?)
3. What is the best language to be used for this kind of project (so I know what type of freelancer I'm looking for)

I think that''s it.

Don't hesited to ask for any more info.
 
Let me just start out with the basics. Hiring the designer and then hiring the coder is like building a building by hiring the architect to design the building without an engineer in the process. They'll need to coordinate to make sure everything is sound. On-top you need a project manager (PM), that has experience in creating SAASes (Web App), because they know the pitfalls, bottlenecks, and scaling problems.

Some quick advice:

1. Keep the technology simple, including servers. If you get a coder that codes in some customized rare coding language or uses a platform that's relatively new, they've created themselves job security, since they'll be the only ones that can update it, and you are locked in.

So simple stuff like MYSQL (database), PHP (web programming language), NGINX/Apache2 (web server) makes more sense since other coders can come in and figure things out if you need to get rid of the programmer.

It's also best to make sure there isn't just 1 coder/programmer running things, that's why a project manager (PM) is required. The PM acts like the general contractor for the whole building.

2. The PM is going to make sure your server's underlying software stays up to date, for bugs, security, and performance. Example, PHP 7.0 is a lot faster than 5.6, however PHP 7.1 not so much. Some quick benchmarks:

php-benchmarks-2021_wp-5.6-edd-2.9.26.png

The PM also should know jumping to newer versions of software WILL, not can, but WILL break stuff if the coders don't know about the latest improvements. Example PHP 8.0 removes usage of { } (curl brackets) for variables. Someone needs to go into the code and make updates.

3. Regards to coding, not knowing what the "game" is or anything, simply stuff like PHP, javascript, HTML/CSS, will get the job done. Just remember the fancier you get the less likely other coders can come in and speed things along or even take over.

Example, I talk a lot about Cobol language, you can hardly find a programmer now a days that know the language, therefore you need to get programmers and pay them $100K+ because it's an ancient language. Yet all the financial institutions and banks have their backend coded in COBOL. It's an ancient language like Egyptian hieroglyphics.


--

A 2017 Reuters study lists 43% of banking systems still use COBOL, while COBOL applications still power more than 65% of enterprise software and 70% of business transaction processing, including 95% of ATM swipes.

Source: What is COBOL?

So by keeping it simple you future proof your code, there are a lot more PHP coders than COBOL coders. But that doesn't necessarily mean all coders are even good. That's why you need a PM that has experience and more than 1 coder involved.

Don't get fooled by people trying to push voodoo platforms and systems that you've never heard of. They are ensuring job security.

There are 3 levels of a SAAS (web app):

1. Front-end: What users see, the GUI (graphic interface), basically the website and login area (think outside and inside a building that customers/employees interact with).

2. Back-end: Underlying code that controls the front-end and interacts with it (think inside the walls of a building, the light switches, electrical).

3. Then what I call the void, the DEEP backend: Basically things that process, organize the data, make sure systems are functioning, alerts the admin when there is a problem, users never interact with this stuff (think A/C units on the roof, boiler rooms, basements, and foundation of a building where janitors are regulated too, if something goes wrong here it can be a LONG TIME before anyone notices, yet it's the most important areas).

The PM needs to understand ALL the levels and how they interact together. And since you don't know the languages to even start off with, the PM can't be you.

What you need to do is create an outline, sort of like a business proposal, of what you want the software to do. I can send you an example of recent ones if you are interested.
 
I'm feeling blow hardy and wanted to give you some direct thoughts.

1. If I hire designer to create the look for the web-app, what language is he creating it? Just plain old HTML/CSS?

Designers don’t usually do the css and html. Drawings wires mock ups.
I'd honestly recommend not doing it and learning to do this yourself.
Paying designers for design advice or concepting when you're inexperienced goes really poorly.
Learning the basic IT skills to do your own wires / mock ups is pretty much bare minimum if you don't want to be one of those try hard peasants that does all the steps but always fails or has a middle of the road results. Seriously its like 10 hours of giving a shit to learn to do your own mock ups. Use paint.net if gimp or photoshop are to intimidating.

2. If a designer has created all the details in HTML/CSS can the backend programmer just use all that code to create the end product? (Just like with websites?)

No, You should get a front end monkey to work on your lay outs as you make concepts. They're not the same as developer skills and ur developer will claim they can do it but generally just take for ever and waste a lot of their own valuable time. Make your mock ups, micro manage your front end guy into setting it up exactly how you want it and then make your developer hook it up when you have it looking the way you want it. If you allow most devs to participate in the design process they will over plan and insert needs other than the users experience into the picture. Something about programming and the orthodoxy of engineering I dunno how to explain it but it happens to most people trying to get into managing a shop in our industry.

3. What is the best language to be used for this kind of project (so I know what type of freelancer I'm looking for)

PHP MYSQL HTML CSS
For what you want a framework like laravel might actually make sense if you paired it with a template that enables what you're looking for.

Go for it but do your own concepts.
I bet you can do it with 20-30 hours of your time and under 2k if you use a freelance site.
 
Last edited:
1. If I hire designer to create the look for the web-app, what language is he creating it? Just plain old HTML/CSS?
2. If a designer has created all the details in HTML/CSS can the backend programmer just use all that code to create the end product? (Just like with websites?)
3. What is the best language to be used for this kind of project (so I know what type of freelancer I'm looking for)
1). I would try to do mockups in Adobe XD, Figma, or any other design tool you can swing. But it's not necessary.

When I work on solo projects (where I do everything from design to frontend to backend) I usually just sketch it out roughly on paper and build what I imagine in my head with HTML/CSS/JS. Either way works, it totally depends on your eye for design and workflow.

Mockups can save you time or sometimes slow you down in the long-run cus you have to recreate the same thing twice - once with design tools and a second time with frontend code.

If you're hiring out the design though definitely do mockups. It's faster to make changes that way and it almost certainly won't come out how you want the first time around. Make desktop, tablet and mobile versions. Once you have your final designs, move onto the code.

I personally prefer Adobe XD cus I have a creative cloud subscription and don't want to pay for Figma as well. Although Figma seems slightly more popular in UI/UX design circles. Like others said if you're doing it yourself and don't want to pay there are open source or free options out there.

2). Backend guys can do frontend stuff, sure. Most will know the bare minimum about HTML/CSS/JS. A lot of them like to use CSS frameworks like Bootstrap which makes their designs look homogenous. Like you can tell it was made with Bootstrap, kinda like a cookie cutter WP site. Yes they can override the framework classes with custom styles but it will take longer. Most backend guys have a bad eye for design, but I guess that doesn't matter if you have a mockup to feed them.

Using too many libraries can bloat your site unless you use imports and some sort of frontend build pipeline. This is a risk you run hiring a backend specialist to do frontend work. For example, never use a library if you're only using a single feature of it once. Like backend guys will use a single jQuery function and load the entire library in the head of their HTML which is just plain stupid. Frontend guys are better equipped to optimize your frontend and site speed.

So if you can I would get a frontend specialist to recreate your mockups. Each backend web framework has their own templating language. So later on, you'll have to feed the frontend files to your backend guy to integrate it into the framework UNLESS you build the backend first as an API and then have the frontend guy make API calls to the backend to share data with it. I don't recommend this for a basic app though because it makes authentication way more complicated. You have to store authentication tokens on the frontend and stuff like that.

3). Lots of guys here are going to say PHP which is old school and works. I personally prefer Python (language) and Django (web framework). It's grown a lot in popularity over the past few years and there are plenty of freelancers who specialize in it. Django is well documented, and if you need to make tweaks in the future Python is pretty easy to pick up.

For frontend I would use HTML/CSS and vanilla JS (no frontend framework). I wouldn't use a framework like React or Vue unless you're building very complex UIs.

Using an opinionated backend framework like Django is helpful because authentication and basic CREATE/READ/UPDATE/DELETE functionality are essentially built into it out of the box. For basic CRUD apps this can save you a lot of time. As opposed to Flask (also a Python framework) where you have to build most of it from scratch or use 3rd party plugins.

I recommend getting your backend guys from Eastern Europe. Pay ~$30-40 per hour. Avoid India if possible - their code is crap, agencies will try to shaft you and get you to sign contracts promising X hours per week, and they're notoriously bad communicators.
 
Back