A fully offline B2B wholesale catalog for international buyers — browse 17 products across FMCG, Textiles, Leather, and Chemicals, build orders, and submit quotes via Email or WhatsApp.
4 products: Basmati Rice, Spice Blends, Brown Rice, Parboiled Rice. MOQ 5-50 MT.
5 products: Terry Towels, Bed Sheets, Kitchen Textiles, Bath Robes, Duvet Covers.
4 products: Finished Leather, Jackets, Bags, Gloves. 200-5,000 unit MOQs.
4 products: Chrome Sulfate, Syntans, Fatliquors, Retanning Agents. 3-20 MT MOQs.
Single-file bundled PWA — all 17 products, UI, and logic in one HTML file. No server required for core features.
graph TB
AND[Android App - 4.0 MB] --> HTML[index.html - 1,839 lines]
IOS[iOS App - 655 KB] --> HTML
HTML --> CATALOG[17 Products Hardcoded]
HTML --> CART[Cart Engine]
HTML --> ORDERS[Sample Order Tracker]
HTML --> AUTH[Client-Side Login]
CART --> LS[localStorage - bulksale_session]
AUTH --> LS
CART -->|Email| MAILTO[mailto: info at interactpak.com]
CART -->|WhatsApp| WAME[wa.me - +92 300 2020179]
HTML --> SW[Service Worker - bulksale-v1]
style AND fill:#12253f,stroke:#be9a5f,color:#fff
style IOS fill:#12253f,stroke:#be9a5f,color:#fff
style HTML fill:#12253f,stroke:#be9a5f,color:#fff
style LS fill:#1f2937,stroke:#6b7280,color:#fff
style MAILTO fill:#1a2520,stroke:#22c55e,color:#fff
style WAME fill:#1a2520,stroke:#22c55e,color:#fff
flowchart TD
A[Open Bulk Sale App] --> B[Login Screen]
B --> C[Enter Username + Password]
C --> D{Valid?}
D -->|Yes| E[Save Session to localStorage]
D -->|No| F[Show Error Toast]
F --> C
E --> G[Load Product Catalog]
G --> H[Browse or Search Products]
H --> I[Tap Product Card]
I --> J[View Details Modal]
J --> K[Set Quantity]
K --> L[Add to Cart]
L --> H
H --> M[Open Cart Tab]
M --> N[Review Items + Shipping Terms]
N --> O{Submit Method}
O -->|Email| P[Open Email Client]
O -->|WhatsApp| Q[Open WhatsApp]
style A fill:#12253f,stroke:#be9a5f,color:#fff
style G fill:#12253f,stroke:#be9a5f,color:#fff
style P fill:#1a2520,stroke:#22c55e,color:#fff
style Q fill:#1a2520,stroke:#22c55e,color:#fff
style F fill:#7f1d1d,stroke:#ef4444,color:#fff
| Username | Password | Name | Role |
|---|---|---|---|
| Contact info@interactpak.com for buyer access | |||
Login stored in localStorage('bulksale_session'). Persists across restarts. Sign-out clears session and cart.
| Category | Products | Price Range USD |
|---|---|---|
| FMCG | 4 — Rice varieties, Spice Blends | $450 - $3,500 per MT |
| Textiles | 5 — Towels, Sheets, Robes, Duvets | $0.80 - $35.00 per pc |
| Leather | 4 — Finished, Jackets, Bags, Gloves | $1.80 - $120.00 per unit |
| Chemicals | 4 — BCS, Syntans, Fatliquors, Retanning | $550 - $3,500 per MT |
flowchart TD
A[Catalog Grid - 17 Products] --> B{User Action}
B -->|Search| C[Filter by Name, Category, HS Code]
B -->|Category Tab| D[Filter by FMCG, Textiles, Leather, Chemicals]
B -->|Tap Card| E[Open Detail Modal]
C --> A
D --> A
E --> F[View Description + HS Code + Price]
F --> G[Adjust Quantity with Smart Steps]
G --> H[See Estimated Order Value]
H --> I[Add to Cart]
B -->|Quick Add Button| J[Add at MOQ]
style A fill:#12253f,stroke:#be9a5f,color:#fff
style I fill:#166534,stroke:#22c55e,color:#fff
style J fill:#166534,stroke:#22c55e,color:#fff
| Unit | Step Size | Example |
|---|---|---|
| MT | 5 | 25, 30, 35 |
| sqft | 1,000 | 5,000, 6,000 |
| pcs | max of 100 or MOQ/10 | MOQ 5,000 = step 500 |
| kg | 1 | 3, 4, 5 |
flowchart TD
A[Open Cart Tab] --> B[Review Line Items]
B --> C[Adjust Quantities or Remove]
C --> D[Select Shipping Terms]
D --> D1[FOB Karachi - Default]
D --> D2[CIF - Cost, Insurance, Freight]
D --> D3[CFR - Cost and Freight]
D1 --> E[Add Special Instructions]
D2 --> E
D3 --> E
E --> F[Review Order Summary]
F --> G{Submit Method}
G -->|Email| H[Open Email with Full Breakdown]
G -->|WhatsApp| I[Open WhatsApp with Summary]
G -->|Continue| J[Return to Catalog]
G -->|Clear All| K[Remove All Items]
style A fill:#12253f,stroke:#be9a5f,color:#fff
style H fill:#1a2520,stroke:#22c55e,color:#fff
style I fill:#1a2520,stroke:#22c55e,color:#fff
style K fill:#7f1d1d,stroke:#ef4444,color:#fff
| Term | Description |
|---|---|
| FOB Karachi | Free on Board at Karachi Port — default option |
| CIF | Cost, Insurance, and Freight to destination |
| CFR | Cost and Freight to destination |
| Step | Meaning |
|---|---|
| 1. Confirmed | Order acknowledged by seller |
| 2. Processing | Being prepared or manufactured |
| 3. Shipped | Goods dispatched from origin |
| 4. Customs | In customs clearance |
| 5. Delivered | Received by buyer |
Example: Order shipped — step 3 of 5
IBQ-2026-NNNN format
flowchart TD
A[Orders Tab] --> B[3 Sample Orders]
B --> C[Order Card]
C --> D[IBQ-2026-NNNN ID]
C --> E[Status Badge]
C --> F[5-Step Progress Bar]
C --> G[Items + Total + Terms]
H[Profile Tab] --> I[User Avatar + Name]
H --> J[Quick Contact Actions]
J --> K[Email Sales Team]
J --> L[Call +92 300 2020179]
J --> M[WhatsApp Chat]
J --> N[Visit Website]
H --> O[Sign Out - Clears Session + Cart]
style A fill:#12253f,stroke:#be9a5f,color:#fff
style H fill:#12253f,stroke:#be9a5f,color:#fff
style O fill:#7f1d1d,stroke:#ef4444,color:#fff
| Metric | Value |
|---|---|
| Source lines | 1,839 in single HTML |
| Products | 17 across 4 categories |
| Users | 2 hardcoded accounts |
| Sample orders | 3 with tracking data |
| Max app width | 600px centered |
| Navigation | 4 bottom tabs |
| Orientation | Portrait only |
| Component | Version |
|---|---|
| Capacitor | 8.2.x Core, Android, iOS |
| Plugins | Splash Screen 8.0, Status Bar 8.0 |
| Node.js | 25.7 |
| Android Target | SDK 34 |
| Service Worker | bulksale-v1, cache-first |
Single key bulksale_session stores:
| Limitation | Impact | Workaround |
|---|---|---|
| Hardcoded products | Adding or updating products requires app rebuild | Use Google Sheets sync like LeathX for dynamic catalog |
| Client-side auth | 2 hardcoded accounts, no server validation | Add server-side JWT auth when backend is ready |
| Static order tracking | 3 sample orders only, not connected to real system | Integrate with logistics API or order management system |
| Quote requests only | No payment processing, prices are indicative | Add payment gateway when transaction volume justifies it |
| USD only | No multi-currency or exchange rate conversion | Add currency selector with live rates |
| No inventory levels | Only price ranges shown, no real-time stock | Add stock availability from backend API |
| Single user per device | Sign-out clears cart entirely | Add account switching with per-user cart persistence |
| Portrait only | No landscape support | Add responsive landscape layout |
flowchart TD
V1[v1.0 Current] --> V11[v1.1 Dynamic Catalog]
V11 --> V12[v1.2 Server-Side Auth]
V12 --> V13[v1.3 Real Order Tracking]
V13 --> V2[v2.0 Full E-Commerce]
V11 --> GS[Google Sheets Sync]
V12 --> JWT[JWT + User Management]
V13 --> API[Logistics API Integration]
V2 --> PAY[Payment Gateway]
V2 --> MULTI[Multi-Currency]
V2 --> INV[Real-Time Inventory]
style V1 fill:#12253f,stroke:#be9a5f,color:#fff
style V2 fill:#166534,stroke:#22c55e,color:#fff
style GS fill:#1a3355,stroke:#3b82f6,color:#fff
style JWT fill:#1a3355,stroke:#3b82f6,color:#fff
style API fill:#1a3355,stroke:#3b82f6,color:#fff
All 17 products, search, cart, and browsing work without internet. Only quote submission needs connectivity.
FMCG, Textiles, Leather, Chemicals from Pakistan. Smart MOQ steps, Incoterms selection, HS codes.
Pre-formatted quote requests via email or WhatsApp. Sales team confirms pricing and processes orders.
| info@interactpak.com | |
| Phone | +92 300 2020179 |
| +92 300 2020179 | |
| Website | interactpak.com |
Bulk Sale is an offline catalog; buyers reach sales via email or WhatsApp. Server-side accounts are on the roadmap (slide 10).
| info@interactpak.com | |
| Phone / WhatsApp | +92 300 2020179 |
| Corporate site | interactpak.com |
If you are presenting or configuring integrations, use the corporate staff portal:
app.interactpak.com/staff/login
Email roster + drill password: interactpak-nextjs/docs/INTERACT-Operator-Dashboards-and-Logins.html (internal).