Budget and timeline get decided on these words. "Does that include the admin panel?" is one question that can double a quote.
16 terms16 live demos
Settle these before signing
① Is a CMS/admin panel included ② Is front-end build quoted separately ③ Which browsers are supported ④ How many rounds of design revisions ⑤ Prototype or mockup. Put those five in writing and most disputes disappear.
01
Publishing · Markup
퍼블리싱 · 마크업
When this comes up
When a quote says "front-end build quoted separately". Leave it out and there is no screen.
The work of turning a design into HTML and CSS. Appearance only, no functionality.
See it Try clicking
Planning
→
Design
→
Front-end build
→
Development
→
QA
Easy to get wrong
A job title that exists only in the Korean web industry. Elsewhere front-end developers do it as part of their work. When reading an agency quote, check whether this is separate or bundled with front-end — miss it and you have designs but no screens.
Ask for it like this
Could you confirm whether the front-end build (HTML/CSS) is included in the quote? If it is separate, please include its cost and schedule as well. Design mockups alone do not produce working screens.
When reporting a bug — saying which side it is on speeds up the response.
Front-end is the screen people see and touch; back-end is the part that processes and stores data on the server.
See it Try clicking
Front-end
screens · buttons · animation everything the user sees
Back-end
accounts · orders · payment processing the processing you never see
Easy to get wrong
"The button does not work" is front-end; "it will not save" is usually back-end. Saying which side it is gets you a much faster response. When unsure, describing exactly what you saw on screen is the best option.
Ask for it like this
I will report bugs exactly as they appear on screen — which screen, what I pressed, and what differed from what I expected. I will not judge whether it is front-end or back-end, just describe what happened.
"We cannot wire it up until the API is ready" — a classic reason schedules slip.
The agreement by which systems exchange data. The channel through which the front-end asks the back-end for, say, account details.
See it Try clicking
Screen
— request → ← response —
API
↔
DB
Easy to get wrong
"We cannot wire it up until the API is ready" means real data cannot be connected to the screens until back-end work finishes. So the API schedule determines the front-end schedule. Confirm that dependency when agreeing timelines.
Ask for it like this
Could you tell me the expected completion date for the API? The front-end screens may finish before then, but connecting real data is only possible once the API exists. The schedule needs to reflect that dependency.
"Is the admin panel included?" — the question that doubles a quote.
The admin screens for adding and editing content directly. They let someone post a notice or add a product without a developer.
See it Try clicking
User-facing screen
Announcements list
Admin screen
Write · edit · delete posts
Users only ever see the left side, but the right side has to be built just the same.
Easy to get wrong
"Is the admin panel included?" changes a quote by roughly double. A project with 20 user-facing screens needs 15 to 20 admin screens too. This is the number one thing to confirm before signing.
Using it on the job
A request to "post notices myself" means admin screens are already required. State inclusion explicitly in the contract.
Ask for it like this
Could you confirm whether admin (CMS) screens are needed? Adding and editing content directly requires a separate admin area, which adds roughly as much work as the user-facing screens.
"Just a simple website" — with log-in and a message board it is not simple.
Static is fixed content that looks the same to everyone; dynamic changes according to data or the person viewing it.
See it Try clicking
Static
About us · how to find us the content is fixed
Dynamic
Product list · my page changes with the data
Easy to get wrong
An About page is static; a product list is dynamic. Dynamic pages need a server and a database, so cost and schedule differ. If the "simple website" has log-in and a message board, it is dynamic.
Ask for it like this
The features requested include log-in, a message board and product management, which makes this a dynamic site. It needs a server and a database, so cost and schedule differ from a static site. I will revise the scope accordingly.
"Make the transitions smooth like an app" — the SEO conversation follows.
An approach where the screen changes without a page refresh. Transitions feel as smooth as an app.
See it Try clicking
Ordinary page
click → blank screen → new page the whole thing reloads every time
SPA
click → only the changed part is swapped transitions without a flash
Easy to get wrong
Transitions are smooth, but the first load can be slow and search visibility (SEO) can suffer. If marketing matters to the product, discuss this with development in advance.
Ask for it like this
Building it as an SPA gives smooth transitions but can hurt search visibility. If organic search traffic matters, please also consider SSR (server rendering).
"It is on the live server" — meaning real users can see it.
Staging is the server for testing; production is the live server real users are on.
See it Try clicking
Localthe developer's machine
Stagingfor review and testing
Productionthe live service — tread carefully
Easy to get wrong
"It is live" means real users can see it. Always review on staging and promote only what has been signed off. Also check that the staging address is blocked from search engines.
Ask for it like this
Please run reviews on staging and promote only what has been signed off to production. Also make sure the staging address is blocked from search engines.
"I fixed it" and "I deployed it" are different things.
Putting the work onto the server so it actually takes effect.
See it Try clicking
Edit code
→
Build
→
Deploy
→
Live for users
Easy to get wrong
"I fixed it" and "I deployed it" are different. If the code is changed but not yet on the server, users still see the old version. When reviewing, ask "has it been deployed?" first.
Ask for it like this
Could you confirm whether the fix has been deployed? If the code is changed but not deployed, it will not show on my side. Let me know once it is out and I will review.
"Fix all of it" — the moment you need to attach priorities.
The stage of checking that what was built behaves as required.
See it Try clicking
P1Orders do not appear in history after payment — fix now
P2Buttons are too close together on mobile — fix before launch
P3Icon is 1px out of place — when there is time
Attaching priorities (P1–P3) is how you get out of "fix all of it".
Easy to get wrong
Leave QA out of the schedule and the launch date slips. Allow around 15–20% of the overall schedule. And QA only means something when done by a third party, not the developer — people cannot see their own mistakes.
Ask for it like this
I will send QA issues with priorities attached — P1 (blocks launch, fix now) / P2 (fix before launch) / P3 (when there is time). Treating everything with equal weight means missing what actually matters.
About to send a fix request over chat — it will get lost.
A single registered unit for a fix request or a bug. Recorded in Jira, Notion, GitHub and the like.
See it Try clicking
[Checkout] Total does not update when a coupon is applied Environment — iPhone 15 / Safari Steps — choose a coupon at checkout → press Apply Expected — the total drops immediately Actual — the amount is unchanged until the page is refreshed P1
Easy to get wrong
Fix requests sent over chat get lost, without exception. Registering an issue leaves an owner, a status and a deadline. A good issue records all three of ① which screen ② what you did ③ what differed from what you expected.
Ask for it like this
I will register fix requests as issues rather than sending them over chat. Each will state ① the screen ② how to reproduce it ③ the expected result ④ the actual result ⑤ the environment (device and browser).
"Obviously that is included" — the reference when a dispute starts.
The document recording what will be built — the feature list and the scope.
See it Try clicking
No.
Feature
Included
R-01
Email sign-up
O
R-02
Social sign-in (Kakao)
O
R-03
Social sign-in (Apple)
X
Writing down what is NOT included matters as much as what is.
Easy to get wrong
The reference document when a scope dispute arises. The moment someone says "obviously that is included", this is what gets opened. Without it, the side asking always wins. Leave out vague phrasing ("make it easy to use") and write verifiable statements.
Ask for it like this
Please state inclusions and exclusions explicitly in the requirements document. Writing down "what is not included" matters most — no Apple sign-in, no multi-language support, and so on.
"Just one more thing" — ten of those and the project collapses.
Requests outside the agreed scope accumulating a little at a time.
See it Try clicking
✓Contracted scope — 20 screens
+"It would be good if the admin could export to Excel too"
+"We can add push notifications as well, right?"
!Result — two weeks over schedule, extra cost never invoiced
Easy to get wrong
The single biggest risk on agency projects. Ten rounds of "just one more thing" and the project collapses. This does not mean refuse — it means state every time that "yes, and it adds three days and a cost". Put it in writing and most of them resolve themselves.
Ask for it like this
That feature is possible. It is outside the contracted scope, though, so it adds roughly three days and an additional cost. Let me know whether to proceed or hold it until after the MVP and I will plan accordingly.
When the schedule slips — most of the causes are here.
A relationship where one task cannot start until another finishes. "The screens cannot be wired up until the API exists."
See it Try clicking
Planning signed off→Design→Front-end build→Development
One day late in planning puts every downstream task one day late.
Easy to get wrong
Dependencies cause most schedule slips. You cannot simply add "3 days design, 5 days development". One day late at the front puts everything behind it one day late. Mark predecessors on the schedule.
Ask for it like this
Please mark dependencies on the schedule. If planning sign-off slips by a day, design, front-end build and development all slip by a day. It has to be calculated as dependencies, not a simple sum.
"Send me the resources" means export and send the images. Send only a Figma link and the developer has to cut them out, and sizes and padding shift in the process. Sort out SVG, @2x/@3x and transparency, and hand over a folder.
Ask for it like this
I will hand over resources as an organised folder — icon (SVG) / image (@1x, @2x, @3x PNG) / font (woff2). Filenames will use lowercase Latin characters and hyphens throughout.
"Send me the spec" — meaning a document with the numbers marked up.
A document marking up values such as spacing, colour and size for development.
See it Try clicking
Button
↕ 16
radius 6 · #4F46E5
Easy to get wrong
Developers can now read values straight from Figma, so a separate spec document is often skipped. But information the tool cannot show — "what does this do at other widths?" — still has to be written down.
Ask for it like this
The values are laid out so you can read them directly in Figma. I will document separately the things the tool cannot show — responsive behaviour, state changes and branching conditions.
"Build the app too" — the moment the quote goes up several times over.
For the same product, whether it is built as web or as an app changes cost, schedule and maintenance substantially.
See it Try clicking
Responsive web
Native app
Sets to build
1
2 (iOS + Android)
Store review
none
required (on every update)
Updates go live
immediately
after review · several days
Push notifications
limited
yes
Easy to get wrong
A native app means building two of them, for iOS and Android, passing app store review, and going through review again on every update. Web takes effect the moment it is deployed. "And an app as well" is effectively a second project.
Ask for it like this
Including an app adds development for both iOS and Android plus store review and release. I would suggest launching as responsive web first, seeing the response, and expanding to an app if it is warranted.