1. Overview

IndustryProduction and supply businesses, such as print and promotional goods, that quote every order and send a statement once the order is won
PurposeA business tool that replaces copying and editing an Excel quote template with picking from a price list, and shows sent quotes and their order status in one list
Scope4 screens (Write Quote · Quote List · Quote & Transaction Statement · Clients & Price List) · 4 quote statuses · 3 default clients and 7 items
Main flowPick client → pick items → quantity and discount → VAT → save quote (numbered) → print / in the list: Sent → Won → create transaction statement → print

Draft quotes, the quote list and statuses, statement numbers, clients, the price list, and your company details are saved in the browser. They stay in place after a refresh or a later visit. Uploaded files are read only inside this browser and are never sent anywhere.

Connected at rollout: e-tax invoice issuing, sending quotes by email or text (for now, print or save as PDF and send), adding a company seal image, and shared server storage for multiple users.

2. Challenges

1. One quote holds too many calculations.

Quantity × unit price × discount for each item, VAT added or included, and the amount written out in Korean words — done by hand, something ends up wrong.

2. No one knows where a sent quote stands.

When quote files just pile up in a folder, you can't see at a glance which ones were won and which are still waiting for a reply.

3. After winning an order, the statement is written again from scratch.

The same items and amounts are copied from the quote into the transaction statement. The statement should come straight from the won quote.

3. Structure

On the Write Quote screen, the form on the left and the quote sheet on the right update side by side. Quote List, Document View, and Clients & Price List each have their own address, so the back button and refresh keep you on the same screen.

4. Key Features

Write Quote — Pick from the Price List screen

Write Quote — Pick from the Price List

Type or pick a price-list name in the item field, and the unit price and unit fill in. Change the quantity or discount rate and the line amount and the quote on the right update at once. A draft quote survives a refresh even before it is saved.

Quote Sheet — Amount in Words and VAT screen

Quote Sheet — Amount in Words and VAT

Includes the supplier block, the total written out in Korean words (e.g. "일금 오십일만일천오백원정"), and supply amount, tax, and total. Switching VAT between added, included, and exempt re-splits the supply amount and tax. Printing outputs only the sheet.

Quote List — Status Tracking screen

Quote List — Status Tracking

Set each quote to Draft · Sent · Won · Canceled, view by status, or search by client, title, or number. Shows the total of visible quotes and the total won, and exports the list as CSV.

Won Order → Transaction Statement screen

Won Order → Transaction Statement

Press "Create Statement" on a won quote to create a transaction statement with a TS number. No retyping of items and amounts — print it right away.

  • Clients, Price List, and Your CompanyAdd clients and items or change unit prices, and the next quote uses them. Your company name, representative, business registration number, address, and phone go into the supplier block of the quote.

5. Build Notes

Show details
ResponsiveLayout changes at 1240 · 1040 · 760 · 640px. On PC, the form and quote sheet sit in two columns; below 1040px the sheet moves under the form; below 640px item lines become cards and the sheet's table text shrinks so nothing overflows. When printing, only the sheet remains.
FontsA paper-form feel — Song Myung for document titles, Hahmlet (serif) for body text, DM Mono for amounts (all free open fonts). Bundled with the site, so no external requests. The Korean font loads only the characters used on this screen first (71KB, titles 51KB); Korean characters that appear only in files a user uploads load on demand from the remaining 2,350-character file (276KB). Number font 29KB.
ImagesNo photos. Icons are drawn in SVG, so they stay sharp on any screen.
MotionCSS transitions only, no libraries. Kept to notifications sliding up from the bottom; transitions stop when the device's reduce-motion setting is on.
AccessibilityEvery input has a label, and main buttons are 44px tall for easy tapping. Status is shown with both color and text, and notifications are marked for screen readers. Buttons and inputs work with a keyboard. Accessibility score: mobile 100 · PC 100.
TechHTML, CSS, JavaScript (no external libraries). Pages and scripts total 87KB. Files open through the browser's file reader, and EUC-KR files saved from Excel are detected and re-read with the right encoding. Data is saved to and read from browser storage (localStorage), and downloaded CSVs open directly in Excel. Screens are split by address (#/…), so the back button works.

6. QA

Results from running the pages on PC 1440 and mobile 390 screens and clicking through in the order a real user would. We also checked that data is still there after saving and refreshing. (2026-09-23)

ItemPC 1440Mobile 390
Screen errors00
Broken files00
Horizontal overflow · clipped text00
Function tests18 / 18 passed18 / 18 passed

The 18 function tests: picking a price-list item fills unit price and unit · adding lines and calculating discounts · amount in Korean words · switching VAT to included or exempt · draft quote kept after refresh · save quote → number assigned · blocking empty fields and zero quantity · changing status (Sent → Won) · status kept after refresh · won quote → create transaction statement · print view (sheet only) · back button · copy to a new quote → save · list filter by status and search · list CSV export · add a client → pick it in a quote · change a unit price → applied to new quotes · company details → shown on the quote · delete a quote

Speed and quality scores (out of 100; mobile measured three times on a slow connection, median shown)

PerformanceAccessibilityBest PracticesSEO
Mobile95100100100
PC100100100100

Mobile: First Contentful Paint 2.2s · Largest Contentful Paint 2.5s · Layout Shift 0.04 · Blocking Time 0ms PC: First Contentful Paint 0.5s · Largest Contentful Paint 0.5s · Layout Shift 0.01 · Blocking Time 0ms

7. Result

Try it live ↗
Desktop screenMobile screen
AutoGun Works · Representative: Gunwoo Park · Business registration no. 342-27-02011 · 92-16, Eojin-ro 102beon-gil, Namsa-eup, Cheoin-gu, Yongin-si, Gyeonggi-do, Republic of Korea · contact@autogun.co.kr
Privacy Policy