JS widget "Application + microquiz"
1) User Scenario
Click on the floating button → the panel opens.
Step 1–2: micro quiz (select category/budget/term).
Step 3: contact form (name, phone/email, consent checkbox).
After submission: thank you + CTA (open WhatsApp/Telegram or return to the site).
2) UI/UX
Floating button (bottom right corner), responsive panel 360–420 px.
Progress bar for steps, real-time field validation.
Theme: light/dark, color customization via CSS-vars.
Localization: ua/ru/en (texts — from JSON).
3) Technical Requirements
Loads asynchronously; bundle size ≤ 40 kb gzip.
No third-party dependencies (Vanilla JS); styles isolated (shadow DOM or prefixes).
Support: last 2 versions of Chrome/Edge/Firefox, Safari 15+; mobile iOS/Android.
4) Configuration
Parameters in
window.WidgetConfig: language, colors, form fields, quiz steps, webhook URL, enabling messengers.Conditional display options: time on page, exit intent, UTM tags, pages/templates.
5) Integrations
Data submission to: REST webhook (JSON), Email (SMTP-relay), Google Sheets (via webhook).
Analytics events:
widget_open,quiz_step,submit_success,submit_errorin GA4/GTM (dataLayer push).Anti-spam: honeypot + timings + optionally reCAPTCHA v3.
6) Security and Privacy
Consent policy (checkbox), minimal personal data.
TLS requests, CORS restrictions by domain, rate-limit on the backend.
Do not log PII in console/analytics.
Client's review of cooperation with Andrii Kolomiichuk
JS widget "Application + microquiz"Everything is done as we agreed!
Freelancer's review of cooperation with Morti A
JS widget "Application + microquiz"The collaboration went smoothly: minimal revisions, maximum adequacy. 10/10, I recommend!
-
368 1 0 Good day.
Thank you for the detailed technical assignment — it is completely clear. I am ready to implement a lightweight client widget quiz with a contact form and integrations according to the described requirements.
1. Functionality
A floating button in the bottom right corner, which opens a responsive panel (width 360–420 px) on click.
A mini-quiz in three steps:
Selection of category, budget, or deadline.
Additional options (if needed).
Contact form: name, phone or email, consent checkbox.
After submission — a thank you message with the option to go to WhatsApp/Telegram or return to the website.
… Progress bar, real-time field validation, anti-spam (honeypot + timings, optionally reCAPTCHA v3).
Support for light and dark themes, color customization via CSS variables.
Localization in Ukrainian, Russian, and English (texts from JSON).
2. Technical Implementation
Clean Vanilla JS without third-party libraries.
Styles isolated through Shadow DOM or with prefixes.
Asynchronous loading, bundle size up to 40 kB gzip.
Support for the last two versions of Chrome, Edge, Firefox, and Safari 15+, as well as mobile browsers iOS/Android.
Configuration through the object window.WidgetConfig:
window.WidgetConfig = {
lang: 'ua',
colors: { '--accent': '#00AEEF', '--bg': '#ffffff' },
fields: ['name', 'phone', 'email'],
steps: [...],
webhookUrl: 'https://example.com/webhook',
enableMessengers: { whatsapp: true, telegram: true },
showCondition: { minTimeOnPage: 10, exitIntent: true, utm: ['utm_source'] },
allowedOrigins: ['https://your-site.com']
}
3. Integrations
Sending data to REST webhook (JSON).
Ability to duplicate data to Email (via SMTP-relay) or Google Sheets (via webhook).
Analytics: events widget_open, quiz_step, submit_success, submit_error via dataLayer.push for GA4 or GTM.
4. Security and Privacy
Use of TLS requests, CORS restrictions by domain, rate-limit on the backend.
Personal data is not stored or logged.
Consent checkbox with privacy policy, minimal set of form fields.
5. Result for the client
A standalone JS script, ready to be connected to any website.
Documentation with an example of the window.WidgetConfig configuration.
Example server webhook handler for receiving data (Node.js or Python).
Localization files in Ukrainian, Russian, and English.
If the format and approach suit you — I can prepare a basic project structure and an example of a working widget.
Current freelance projects in the category Javascript and Typescript
Optimization of Core Web Vitals (OpenCart) for Google PageSpeed — Mobile and PC versionsOrder description: We are looking for an experienced frontend developer/OpenCart specialist to optimize the loading speed of the website (categories and product cards) according to Google Core Web Vitals requirements. About the project: * CMS: OpenCart. * Specifics: The site… Content Management Systems, Javascript and Typescript ∙ 2 days 7 hours back ∙ 18 proposals |
Optimization of WordPress site speed
113 USD
We will send full details in private messages Goal Maximize website loading speed, especially on mobile devices. KPI (mandatory) After the work is completed, the following metrics must be achieved. Mobile Performance 90+ LCP less than 2.2 sec INP less than 200 ms CLS less than… HTML & CSS, Javascript and Typescript ∙ 3 days 3 hours back ∙ 66 proposals |
Looking for an Odoo Developer — a solo developer with experience in Odoo 19 Community Edition.There is a working, well-designed project on Odoo 19 Community — CRM for a Ukrainian hotel, already in production-grade infrastructure. We do not plan to rewrite from scratch. We are looking for one person who will take over the project, maintain the working state, and lead it… Javascript and Typescript, Web Programming ∙ 5 days 4 hours back ∙ 2 proposals |
I am looking for an experienced Full Stack developer to create a SaaS service for online stores.Service idea: The client uploads a link to their product feed (XML or CSV). The service automatically retrieves the products, takes their photos, and creates new advertising images based on ready-made templates: price, discount, logo, promotional tags, etc. There should also be… Javascript and Typescript, Web Programming ∙ 6 days 10 hours back ∙ 87 proposals |
Development of a WebGL/Three.js scene with generation and export of 3D (snapshot) from an animated shaderObject Description:The project is a designer table shaped like a realistic, deep whirlpool (a central vortex that smoothly transitions from a wide horizontal tabletop to a thin elegant leg). Task Essence:A WebGL / Creative Coding developer is required to create an interactive 3D… Javascript and Typescript, Web Programming ∙ 7 days 7 hours back ∙ 30 proposals |