Custom software

# Web App Development: Login, Roles, Daily Work

A web app is the URL staff open every morning: accounts, roles, a next action. A marketing site with a password field is still a brochure — budget it as one.

CodeLoop Studio·August 26, 2026·5 min read

![Developer working on a web application on a laptop](https://www.codeloop.ba/_next/image?url=%2Fblog%2Fizrada-web-aplikacija-cover.jpg&w=3840&q=75)

Photo by [Christina Morillo](https://www.pexels.com/@divinetechygirl) on [Pexels](https://www.pexels.com/photo/1181244/)

Web app development is the URL a shift opens every morning: a login, a role, a record that changes, a next action. A marketing site with a password on one PDF folder is still a brochure. If we quote both as the same job, both ship late.

CodeLoop Studio in Sarajevo builds the logged-in product when Excel, mail, and WhatsApp are no longer a system. The commercial page is [custom software development](https://www.codeloop.ba/custom-software-development). How to choose the contract is [web app versus website](https://www.codeloop.ba/blog/razlika-izmedju-web-aplikacije-i-web-stranice). This note is what we actually freeze before we pick a stack.

## What web app development has to mean on a brief

Who signs in. What they are allowed to see. What happens after save. Which systems already exist — payments, identity, a warehouse file nobody wants to retype. None of that is a theme. If Google finding you is the job, stop here and read [website development notes](https://www.codeloop.ba/blog/izrada-web-stranica).

A shop with a cart is still a shop, even if buyers have accounts. That work sits on [ecommerce website development](https://www.codeloop.ba/ecommerce-website-development). A native store binary is a third contract. We will say so before kickoff.

## What we ship, and what we will not rename

* **Roles on paper first.** Who approves, who only reads. A third role waits for v2 unless the brief says otherwise.
* **A named owner.** Weekly demo you can click. “Backend is still working” is not a status.
* **You keep the repo.** Hosting keys and source stay yours. We do not hold the app hostage after the last invoice.
* **Typical custom arc: 3–9 months.** A narrower [MVP](https://www.codeloop.ba/mvp-development) can be shorter when v1 is frozen. Cost drivers are [web app cost in BiH](https://www.codeloop.ba/blog/koliko-kosta-izrada-web-aplikacije-u-bih) — no poster number here.

## Proof we can point at, without invented MAU

[Hena Em](https://www.codeloop.ba/study-case/hena-em) is bookings and a fleet staff actually run. [LipoDIETA](https://www.codeloop.ba/study-case/lipodiet) is a protocol with accounts, not a mock login on a slide. [cijene.me](https://www.codeloop.ba/study-case/cijene) is a public comparison product with clients. [Koliko](https://www.codeloop.ba/study-case/koliko) is bar inventory on mobile — not a web app, same studio, same refusal to relabel a site as software.

A heavier content-and-roles product is a [web portal](https://www.codeloop.ba/blog/izrada-web-portala). A pipeline tool is [custom CRM development](https://www.codeloop.ba/custom-crm-development). WordPress membership as a shortcut is how v1 dies on the third plugin update — [when not WordPress](https://www.codeloop.ba/blog/kada-ne-kreirati-wordpress-web-stranicu).

## How to start

Send who logs in, what they do after login, and which integrations already exist. Kickoff is on Dobrinja or on a call. We reply within **24 hours** — [online estimate](https://www.codeloop.ba/online-estimate) or [contact](https://www.codeloop.ba/contact). If the job is a public page, we will say that before a contract.
