Visual builder · versioned

Design the storefront. Don't fight the theme.

Drag sections, edit tokens, ship a version — with instant rollback.

Same renderer, no surprises

The editor renders exactly what the storefront serves

yourstore.example.com

Sections

Hero section

Product grid

Announcement bar

Testimonial strip

Live canvas

Tokens

Primary colour

Accent colour

Corner radius

Type scale

The same renderer draws the editor and the live store, so preview is not an approximation.

এডিটর ও লাইভ স্টোর একই রেন্ডারার ব্যবহার করে, তাই প্রিভিউ কোনো অনুমান নয়।

Most page builders run a simplified preview renderer that diverges from production CSS, web fonts, and JS at the margins — the classic "it looked right in the editor" complaint. Framique's editor iframe loads the identical theme bundle the storefront serves, so what you see in the canvas is pixel-identical to what a shopper on a Grameenphone 4G connection in Bogura sees.

The editing model

Sections, tokens, versions, sandboxing

Sections, not HTML

Sections, not a page of HTML.

Add a hero, a product grid, a testimonial strip, a Bangla-only announcement bar. Each section carries its own settings, its own Bangla copy, and its own visibility rules (device, audience segment, date window, A/B arm). Sections are drag-reordered on the rail; there is no way to "break the layout" by nesting divs incorrectly, because there are no divs to nest.

Per-section visibility by audience or experiment.

Tokens, not scattered CSS

Tokens, not scattered CSS.

Colour, radius, type scale, and spacing live in one panel. Change the accent colour once and every button, badge, and link across every section updates together — no hunting through forty section-level colour pickers left over from a theme you customised eighteen months ago.

One token, every section.

Versions, not fear

Versions, not fear.

Every publish is a version with an author and a timestamp. Compare two versions side by side, restore an older one, or roll back mid-campaign without opening a support ticket.

Rollback is one click, not a restore ticket.

Custom code with a seatbelt

Custom code with a seatbelt.

Drop in HTML, a tracking pixel, or a third-party widget and it renders inside an isolated frame that cannot reach the DOM outside itself, so a broken script degrades gracefully instead of white-screening checkout.

Sandboxed widgets, isolated failures.

Never ship by accident

Drafts, autosave, versioning, rollback, scheduled publish

Every keystroke in the builder writes to a draft, autosaved roughly every few seconds to a working copy that never touches the live store. Nothing you type in the canvas is visible to a shopper until you explicitly publish. This separation — draft vs. live — is the single most important safety property of the editing model.

The publish lifecycle: stage, visibility, and reversibility
The publish lifecycle: stage, visibility, and reversibilityWhat happensWho sees itReversible?
DraftAutosaved continuously as you editOnly you, in the builderN/A — it is not shipped
Preview linkShareable URL renders the draft outside the editorAnyone with the linkYes, expires or is revoked anytime
Scheduled publishDraft is queued for a future timestampNo one, until the clock hitsYes, cancel before the scheduled time
Published (live version)Draft becomes the numbered live versionAll storefront visitorsRoll back to any prior version, one click
Rolled backAn earlier version is restored as currentAll storefront visitorsYes, roll forward again if needed

Versions are numbered and immutable: version 14 always means exactly the sections, copy, and tokens it meant the day it went live, even after you publish version 15. If a Friday evening Eid promotion converts poorly, you can compare version 14 against version 13 side by side and roll back to 13 in one click, without a developer or a support ticket.

Scheduled publish decouples "when I finish the work" from "when the shopper sees it." A merchant working on a Ramadan sale page on a Tuesday night can queue it to go live at midnight, with zero manual action required at that hour.

Bounded choice

Five official themes, five business situations

Each is a complete section library, token set, and default layout — not a colour skin on top of one generic template.

Classic

Generous whitespace, a traditional top-nav-plus-mega-menu structure, and a product grid that privileges photography over badges. The safest default for a first store — smallest section library, easiest to hand to a small team.
Moderate catalogue, strong photography

Modern

Sharper visual rhythm, tighter type, a more editorial feel — closer to a D2C brand site than a marketplace stall. Rewards a merchant with a consistent visual identity and fewer, better products.
Small high-margin catalogue, strong brand identity

Landing

Not a general storefront theme — a single-product or single-campaign theme built around one long-scrolling persuasive page, with testimonial strips, FAQ, and a sticky buy bar.
One hero product or campaign launch

Supershop

The highest-density theme for catalogues in the hundreds-to-thousands of SKUs. Front-loads filters, category rails, and a dense grid; assumes the shopper arrives with a specific product in mind.
Hundreds to thousands of SKUs, filter-driven browsing

B2B

Serves merchants who sell to other businesses. Tiered pricing tables, minimum order quantity fields, a request-a-quote flow, and account-gated pricing.
Wholesale, quote-based, or account-gated pricing
Theme-choice decision table
Theme-choice decision tableChooseBecause
First store, moderate catalogue, strong photographyClassicSafest default, smallest section library, image-forward
Small high-margin catalogue, strong brand identityModernEditorial layout rewards fewer, better products
One hero product or campaign launchLandingSingle-purchase-decision page, not a catalogue
Hundreds to thousands of SKUs, filter-driven browsingSupershopDensity and filters over inspiration
Wholesale, quote-based, or account-gated pricingB2BTiered pricing and MOQ built in, not bolted on
Unsure, catalogue will grow past 50 SKUs in a yearClassic → migrate laterCleanest section model to extend

Single source of truth

Design tokens and brand consistency

A token panel holds four families: colour (primary, accent, surface, text), radius (from sharp to fully rounded), type scale (a ratio-based ladder from caption to display), and spacing (a fixed step scale, not freeform pixel entry). Every section in every theme reads from these tokens rather than hard-coding its own values, so a brand refresh is a five-field edit, not a section-by-section rebuild.

A merchant rebranding from a teal to a maroon accent for Pohela Boishakh changes one colour token. That single change updates the "Add to cart" button, the sale badge, the active nav underline, and the checkout progress bar simultaneously — four surfaces, one edit, zero risk of shipping a mismatched button colour on launch day.

Token changes are draft-scoped like everything else: preview a full rebrand before publishing it, compare it against the live version, discard it without consequence if it doesn't work.

One record, two languages

Bangla + English from one catalogue

একই ক্যাটালগ থেকে বাংলা ও ইংরেজি

Every product, section, and piece of storefront copy in Framique has one Bangla field and one English field living on the same record — not two parallel catalogues that must be kept in sync by hand. A shopper's browser or a manual language switch decides which one renders; the merchant edits both from the same product screen.

Framique-এর প্রতিটি পণ্য, সেকশন ও স্টোরফ্রন্ট কপির একটি বাংলা ও একটি ইংরেজি ফিল্ড একই রেকর্ডে থাকে — হাতে সিঙ্ক রাখা দুটি আলাদা ক্যাটালগ নয়।

A large share of Bangladeshi online shoppers convert better against Bangla product names, sizes, and care instructions even when they can read English, because purchase-stage cognitive load is lower in the first language. A storefront that only offers English at checkout reintroduces exactly the friction the bilingual catalogue was meant to remove.

Any token applied to a lang="bn" subtree drops letter-spacing to 0 (Bengali conjuncts and matras clip under Latin negative tracking), and Bangla display text keeps a minimum 1.35 line-height box — enforced by the renderer, not left to merchant discipline.

Friction as feature

Custom fonts and custom code, with guardrails

Custom fonts — licence attestation and weight budget

Uploading a custom font requires an explicit licence attestation: the merchant confirms they hold a web-embedding licence for the exact weights being uploaded, logged with a timestamp against the account. Framique does not verify licence terms with the foundry — this is a legal attestation step, not a rights-management product.

The font-weight budget exists for a performance reason: each additional weight of a custom font is a separate network request and a separate render-blocking asset on first paint. The builder enforces a soft ceiling of two weights per custom font family and flags a warning if a merchant tries to load more.

A merchant uploads a five-weight custom Bangla-Latin pairing. The builder warns that only two weights are budgeted; the merchant keeps Regular and SemiBold and defers the rest. Measured effect: roughly 90–140 KB of font payload removed from the critical rendering path — often the difference between meeting and missing the 2.0s LCP target.

Custom code — sandboxing and secret scanning

The custom code section accepts HTML, CSS, and script snippets — a live chat widget, a tracking pixel, a small interactive embed — and renders them inside an isolated iframe with no access to the parent page's DOM, cookies, or checkout state. If the embedded script throws an error or hangs, the failure is contained to that one section; the rest of the storefront, including checkout, keeps functioning.

Before any custom code snippet is saved, it passes through secret scanning: a pattern check for API keys, access tokens, and credential-shaped strings a merchant might have pasted in by accident. A match blocks the save and shows exactly which line triggered it, so the credential can be removed before it is ever published to a public HTML source.

Made-concrete abstraction

Performance budgets — why LCP matters for BDT conversion

Largest Contentful Paint (LCP) is the performance metric most correlated with whether a Bangladeshi mobile shopper stays on a product page long enough to scroll to "Add to cart." A large share of retail traffic in Bangladesh arrives over 3G/4G mobile data with variable latency, and every additional second of blank-screen wait is a second of attention and mobile data spent on nothing.

Framique's stated performance budgets for any published storefront
Framique's stated performance budgets for any published storefrontBudget
Hero LCP asset≤ 90 KB
Any other image≤ 140 KB
LCP target (mid-tier Android / 4G)≤ 2.0 seconds
MotionTransform / opacity only
prefers-reduced-motionFull fallback on every animated element

Worked example (stated assumptions, not a measured claim): 10,000 monthly mobile sessions, converting at 2.0% (200 orders) at a fast load time. An unbudgeted 900 KB hero image (versus the 90 KB ceiling) adds roughly 2.5s to LCP. At a commonly cited 7%-per-second conversion drop, that implies conversion falling to roughly 1.65% (165 orders) — 35 fewer orders. At an assumed average order value of 1,200 BDT, that is approximately 42,000 BDT of assumed monthly revenue attributable to one unbudgeted hero image. The arithmetic is the point, not the exact numbers.

The builder enforces the budgets at publish time: an oversized hero image is flagged with its actual file size and the ceiling it exceeds, and the merchant is offered an automatic compressed version before the version can go live.

Checklist completeness

Anatomy of a high-converting Bangladeshi product page

  1. 1.Product title in Bangla, with the English name in parentheses if it aids search
  2. 2.Price shown in BDT with the Taka symbol, never a bare number
  3. 3.At least one image showing scale or the product in a hand/on a body
  4. 4.Discount badge only if the original price is genuinely shown struck through nearby
  5. 5.Stock status stated plainly ("In stock", "Only 4 left", "Restocking [date]")
  6. 6.Delivery estimate by area (inside Dhaka vs. outside Dhaka)
  7. 7.COD availability stated explicitly
  8. 8.bKash/Nagad/Rocket/Upay logos shown near the price, not buried at checkout
  9. 9.Return/exchange policy in one sentence, in Bangla, linked to the full policy
  10. 10.Size or variant guidance specific to the product category
  11. 11.At least one section addressing a common pre-purchase doubt (durability, authenticity, warranty)
  12. 12.A visible, sticky "Add to cart" / "Order now" action that survives scroll on mobile
  13. 13.Related or complementary products below the fold, not above it
  14. 14.Contact channel visible (WhatsApp, phone, Messenger)
  15. 15.Page weight within budget — none of the above matters if the page has not finished loading

Implementation intention

Your first hour in the builder

  1. 0–5 min

    Pick a theme

    Use the decision table above. If genuinely unsure and your catalogue will likely grow, start with Classic.

  2. 5–15 min

    Set your four core tokens

    Primary colour, accent colour, corner radius, and base font. Everything downstream inherits these; do this before touching any section.

  3. 15–20 min

    Edit the hero section

    Replace the placeholder headline and image with your own; enter both the Bangla and English fields, not just one.

  4. 20–30 min

    Add your first product grid

    Connect it to your catalogue. Confirm price displays in BDT and that stock status is visible.

  5. 30–35 min

    Add a delivery/COD/payment trust section

    Place it directly below the hero or product grid — see checklist items 6–8.

  6. 35–45 min

    Preview on your own phone

    Use the shareable link, on mobile data if possible, not just on the office Wi-Fi.

  7. 45–50 min

    Check the performance panel

    Address any flagged oversized image before publishing.

  8. 50–55 min

    Publish as version 1

    Or schedule it for a specific launch time.

  9. 55–60 min

    Bookmark the version history panel

    You now know how to roll back if anything about the next change goes wrong.

Contrast framing

Framique builder vs. generic page builders

Framique builder compared with generic page builders
Framique builder compared with generic page buildersGeneric page builderFramique builder
Preview fidelitySimplified preview renderer, can diverge from productionSame renderer for editor and live store
Bangla supportOften a bolted-on translation pluginOne catalogue, native Bangla + English fields, script-aware typography
Payment contextGeneric card/PayPal assumptionsbKash/Nagad/Rocket/Upay/card/COD built into theme sections
VersioningUsually undo history within a session onlyNumbered, immutable, author-stamped versions with one-click rollback
Scheduled publishRare or third-party pluginNative, queue a draft for a future timestamp
Font governanceUnlimited weights, no licence stepLicence attestation + two-weight budget enforced at upload
Custom code safetyInline script, can break the whole pageSandboxed iframe, isolated failure
Secret exposure riskUncheckedSecret scanning blocks save on credential-shaped strings
Performance enforcementAdvisory at bestHard budgets enforced at publish time, with auto-compression offered
Themes offeredOften hundreds of undifferentiated templatesFive official themes, each purpose-built for a distinct merchandising situation

A marketplace of hundreds of templates optimises for browsing variety, not merchandising fit. Five themes, each mapped to a specific business situation, is a smaller but more honest promise.

Built in, not bolted on

Accessibility

The builder itself and every published storefront share the same accessibility baseline. Body text clears 7:1 contrast; any gradient spotlight card carrying text uses a minimum 4.5:1 against its darkest gradient stop. Focus states use a visible ring on every interactive element, including inside the token panel and section rail — a focused button also gets a visible outline shift, never colour alone. Motion is transform/opacity only and fully collapses under prefers-reduced-motion. Drag-and-drop section reordering has a keyboard-operable equivalent (move-up/move-down buttons revealed on focus). Bangla text accessibility is structural: minimum 1.35 line-height on Bangla display type prevents matra clipping, and lang="bn" is set at the subtree level so screen readers switch pronunciation correctly mid-page.

Questions

সাধারণ জিজ্ঞাসা

Do I need a developer to use the builder?
No. All fifteen checklist items and every theme are configurable through the section and token panels alone. Custom code and custom fonts are optional, developer-adjacent features for merchants who want them, not requirements.
Can I switch themes after I've already built sections?
Yes, but section content does not automatically remap to a different theme's layout assumptions — expect to re-check each section after a theme switch, which is why the decision table is worth reading before starting.
What exactly gets saved in a draft versus a published version?
Every edit autosaves to a draft immediately. Nothing in the draft is visible to shoppers until you explicitly publish or it reaches a scheduled publish time; publishing turns the current draft into a new, numbered, immutable version.
How far back can I roll back?
To any prior published version, not just the immediately preceding one — version history is not limited to a single undo step.
Can I preview a draft before anyone else sees it?
Yes, via a shareable preview link that renders the draft outside the editor, revocable at any time and never indexed.
What happens if my custom font upload doesn't include a licence I actually hold?
The builder does not verify licence terms with the foundry; the attestation is a legal confirmation logged against your account, and responsibility for accuracy sits with the merchant.
Why does the builder limit me to two weights per custom font?
Each additional weight is a separate render-blocking network request; two weights (regular + bold/medium) cover the vast majority of storefront typography needs without meaningfully harming LCP.
What happens if my custom code snippet contains an API key by accident?
The save is blocked and the exact triggering line is shown before anything is published; nothing with a credential-shaped string reaches the live storefront through this path.
Does the Bangla and English catalogue require maintaining two separate product lists?
No — one product record holds both language fields; there is no second catalogue to keep in sync.
What happens if I publish an oversized hero image?
The builder flags it at publish time with its actual file size against the 90 KB budget and offers an automatically compressed version before you can proceed.

দশ মিনিটে প্রথম সেকশন তৈরি করুন।