Documentation

Everything Chasqr can do, step by step — building a site visually without code, deploying a project you already have, and running it once it's live.

Getting Started

Chasqr hosts websites and gives you a visual builder to make them. There are three ways in, and nothing stops you using all of them — one site built by hand, another imported from a repo.

Import from GitHub

Connect a repository and deploy the built output committed in it — then let every push update the live site automatically.

Upload your files

Already have HTML/CSS/JS, or a built React, Vue, Angular or Svelte app? Drop in a ZIP or a folder and it's online in seconds.

Build from scratch

Start with a blank page and drop in headings, images, buttons, forms, a navbar and a footer. No code at any point.

1

Create your account

Sign up with your email and verify it, or use Continue with Google or Sign up with GitHub to skip straight past the form. Signing in with GitHub doesn't give Chasqr access to any of your code — that's a separate, per-repository step you take later, only if you want to import something.
2

Open your dashboard

Your dashboard lists every site you own. Click New Site in the top right — or Create Your First Site if the list is still empty.
Your dashboard — Create Your First Site while it's empty, or the New Site button once you have sites.
3

Choose how to build it

A dialog asks how you want to build: Import from GitHub, Deploy existing code, or Build from scratch. Pick one — the walkthroughs below cover each path in full.
Choosing how to build: deploy existing code, or build from scratch.
4

You're live

Every site is published the moment it is created, at https://your-name.chasqr.com with HTTPS already in place. Connecting your own domain is free and takes about five minutes.

Create a Site Without Code

This is the “Build from scratch” path. It takes about a minute to get a blank page created and the builder open.

1

Dashboard → New Site → Build from scratch

You'll land on the Build A Site page.
The Build A Site form — site name, optional custom URL, and the button that opens the builder.
2

Enter a site name

Required, up to 60 characters. This is the label you'll see on your dashboard — visitors never see it, and you can rename it later. Examples: “Portfolio”, “Coffee Shop”, “Client — Acme”.
3

Pick a custom URL (optional)

This becomes your free subdomain. Type my-portfolio and your site lives at https://my-portfolio.chasqr.com.

  • Lowercase letters, numbers and hyphens only
  • Between 3 and 50 characters
  • Leave it blank and we'll generate one for you
  • Changeable later from the site's Site URL tab
4

Click “Create & Start Building”

The blank site is created and the full-screen builder opens immediately on a white page.
5

Design, then Save & Deploy

Nothing is published until you press Save & Deploy in the builder's top-right corner — and every press publishes straight to your live URL.
Coming back laterDashboard → Edit on the site card → Layout tab → Open full-screen builder.

Using the Builder

The builder takes over the whole screen: a toolbar across the top, the element palette down the left, and your page in the middle.

The full-screen builder: toolbar across the top, element palette down the left, canvas in the middle.

The top toolbar

Back

Leaves the builder and returns to the site's Layout tab. Save first.

Desktop / Mobile

Switches the canvas between full width and a phone-sized frame so you can check both.

Background

Page-wide settings: background colour or gradient, page font, scroll animations, and page padding.

Navbar

Turns the top navigation on and edits its brand, links, dropdowns and style.

Footer

Turns the footer on and edits its text, links and colours.

Preview site

Opens your published site in a new tab — what visitors currently see.

Save & Deploy

Publishes the page. Greyed out until you have unsaved changes.

The basic loop

1

Add a section

Click Add Section at the top of the left palette. A section is a horizontal band across your page and holds one or more columns.
2

Select the column you want to fill

Click inside a column — the selected one is highlighted with a blue outline. New elements always land there.
3

Click an element in the palette

Clicking (not dragging) an element drops it into the selected column. To rearrange afterwards, drag blocks around the canvas — including from one column to another.
4

Style it

Click any block to reveal its toolbar: text and colours, size, alignment, spacing, links, image upload, and the options specific to that block.
5

Save & Deploy

Publishes everything at once. Use Preview site to check the result on the real URL.

What's in the palette

Elements

Heading, Text, Image, Button, Form, Embed, Carousel, Tags / pills, Tabs, Navbar, Search bar, Marquee

Dropped into the column you currently have selected.

Utilities (card parts)

Rating (stars), Price, Tags / pills, Button

Small pieces for composing your own cards.

Form templates

Split Form, Agency Form, Survey Step Form

Ready-made contact forms, already wired to your Submissions tab.

Banners & sections

Navbar, Navbar + search, Text over image, Image banner, Carousel slider, Image + text, Footer (4 columns), Footer (simple)

Each one adds a whole new section to the page.

Card templates

Showcase card, Image overlay cards, Hover reveal cards, Multi-image carousel, Product-card carousel, Image-top cards, Profile cards, Text cards, Pricing (3 tiers), Testimonials, Call to action

Complete, styled sections you can edit block by block.

Effects

Glassmorphism, Gradient, Soft shadow, Rounded, Hero height, Glass navbar

Applied to the selected (or most recent) section.

Page-wide settings live under “Background”Set one background colour or gradient for the whole page, choose a page font from 20 Google Fonts (Inter, Poppins, Playfair Display, Bebas Neue and more), turn on scroll animations so sections fade in as visitors scroll, and add page padding. Individual sections can override the font and background.

Sections, Columns & Cards

Three levels of structure: sections stack down the page, columns split a section left-to-right, and blocks (text, images, buttons) sit inside columns. Styling any of the three works the same way — select it, then use its panel.

Sections

Select a section to set its background colour, gradient or image with an overlay; rounded corners; padding and margins; full-width or a percentage width; a minimum height (useful for hero banners); its own font; an entrance animation; and vertical alignment of its content.

Use the arrows in the section header to move a whole section up or down the page.

Columns

Split a section into columns and drag the divider to change the balance — 50/50, 30/70, three across, whatever the layout needs.

Turning a column into a card

Give a column its own background, padding, rounded corners, shadow, border, background image with overlay and a minimum height, and it reads as a card. Add a hover effect — lift, zoom or reveal — for interactive tiles.

A section split into two columns, each turned into a card with its own background, padding, rounding and hover effect.

Navbar & footer

Both are toggled from the top toolbar and are page-wide, not part of any section. The navbar takes a brand name or logo image plus links, each of which can have its own dropdown sub-links, and supports a glass style. The footer takes text, links and its own colours.

Forms

Drop in a Form element — or one of the three form templates — and it's already connected. Field types include text, email, phone, long text, dropdown, pill choices, checkbox, file and number; each field has a label, a name, an optional placeholder, a required toggle and a half- or full-width setting.

Submissions appear in the site's Submissions tab and are emailed to you. No extra setup.

The builder edits one page at a time. Multi-page sites deployed from code keep their page tabs — pick the page first, then open the builder for it.

Import From GitHub

Connect a repository once and Chasqr deploys the built output committed in it — then redeploys automatically every time you push. Private repositories work exactly the same as public ones.

Chasqr doesn't run your buildWe serve static files, so there's no npm run build step on our side. Your repository must contain the finished output — a committed dist/, build/ or out/ folder, or plain HTML at the root. If your repo only holds source, build it locally and commit the output folder before importing.
1

Dashboard → New Site → Import from GitHub

The first time through, you'll be asked to connect your GitHub account.
The Import from GitHub page before a GitHub account is connected.
2

Choose which repositories Chasqr can see

GitHub asks you to install the Chasqr app. You pick either All repositories or Only select repositories — we'd suggest selecting just the ones you plan to deploy. You can change the list any time from GitHub.

Chasqr only ever asks for read access to repository contents. It cannot push, open pull requests, or change anything in your code.

3

Pick the repository and branch

Your repositories are listed most-recently-updated first, with a search box. Choose one, then pick the branch to deploy from — usually main.
Choosing a repository, branch and output folder in the import wizard.
4

Confirm the output folder

Chasqr scans the branch for index.html and offers the folders it finds, preselecting the most likely one (dist, build and out rank first). Pick Repository root if your HTML sits at the top level.

If nothing is found you'll get a text box and a warning — that almost always means the built output isn't committed yet.

5

Name it and choose your options

Site name and custom URL work exactly as everywhere else. Two checkboxes matter here:

  • Redeploy automatically on every push — on by default, and the reason most people use this.
  • This is an interactive app — same meaning as on the upload page: tick it for React/Vue/ Angular apps that need live JavaScript, leave it off for regular sites so you can edit text and images in the panel.
6

Deploy From GitHub

We pull the branch, deploy that folder, and your site is live. From here on, pushing to that branch updates it on its own.

Automatic deploys

What triggers one

Any push to the branch you connected. Pushes to other branches, and tags, are ignored. Your site normally updates within a minute.

Watching what happened

Open your site → SettingsGitHub. It shows the connected repo, branch and folder, the auto-deploy toggle, and the result of the last deploy with its commit and timestamp — so a push that didn't take is visible rather than silent.

The GitHub tab on a site, showing the connected repo, auto-deploy toggle and last deploy status.

When a deploy is skipped

An automatic deploy never spends money. If a free site's build grows past the 5 MB limit, the deploy is recorded as skipped with an explanation and your live site is left exactly as it was — no credit is consumed and nothing breaks. Upgrade the site to PRO and the next push goes through.

When a deploy fails

Same principle: if the commit you pushed has no index.html in the configured folder, the failure is recorded and the previously deployed version keeps serving. A broken commit can't take your site down.

Deploying on demand

Redeploy latest commit in the GitHub tab pulls the current branch immediately — handy if you turned auto-deploy off, or a webhook was missed.

Disconnecting

Disconnect unlinks the repository; your site stays online exactly as last deployed and simply stops updating. To revoke Chasqr's access entirely, remove the app from GitHub → Settings → Applications.

Working with a frameworkMost frameworks gitignore their build folder by default, which is the usual reason a first import finds no index.html. Either remove that line from .gitignore and commit the folder, or add a GitHub Action that builds and commits it on every push.

Upload Your Files

Chasqr serves static files. You upload the finished output of your project — not the source folder, and not node_modules. If your project lives on GitHub, importing it is usually less work than uploading.

1

Build your project first

Run your framework's build command and note the output folder (build/, dist/ or out/). Skip this if you wrote plain HTML/CSS/JS. Exact commands are in .
2

Dashboard → New Site → Deploy existing code

You'll land on the Deploy A Site page.
3

Name your site and pick a URL

Same rules as before: a name for your dashboard, and an optional subdomain of 3–50 lowercase characters. Selecting a ZIP fills both in automatically from the file name.
4

Upload your files

Two options, both fine:

  • ZIP file — with index.html at the top level of the archive
  • Folder — pick your build folder and the browser uploads everything inside it, subfolders included
The Deploy A Site page — switch between Upload ZIP and Upload Files, then drop your build in.
5

Decide how the app should run

Below the uploader is “This is an interactive app — keep it live”. It matters for React/Vue/Angular builds:

  • Left unticked (default) — if your index.html is an empty app shell, we render it once and store the result as real HTML. Search engines see your content and you can edit text and images from the Editor tab. Interactive behaviour driven by JavaScript may not survive.
  • Ticked — your app is served exactly as built, JavaScript intact, so buttons, state and routing all work. In-panel content editing and colour editing are off; change content in code and redeploy.
6

Click “Deploy Site”

You're taken to the site's dashboard and the site is already live at https://your-slug.chasqr.com.
Client-side routes workA request for a path that doesn't match a file falls back to your index.html, so deep links like /about in a React Router or Vue Router app resolve correctly.
No base-path configuration neededYour site is served from the root of its own subdomain, so absolute asset paths such as /assets/app.js work as-is — no homepage or base setting to change.

Supported Project Types

Anything that compiles down to static files. Build locally, upload the output.

Plain HTML / CSS / JS

Any static website — no build step needed.

Zip your files with index.html at the root

React (Create React App)

Classic CRA projects.

npm run build → zip the contents of build/

React / Vue / Svelte (Vite)

Vite-powered projects of any flavour.

npm run build → zip the contents of dist/

Angular

Angular CLI projects.

ng build → zip the contents of dist/<project>/ (or dist/<project>/browser on v17+)

Next.js (static export only)

Requires output: 'export' — SSR and API routes are not supported.

next build → zip the contents of out/

Astro, Hugo, Jekyll, Eleventy…

Any static site generator works the same way.

Run its build → zip the contents of the output folder

What doesn't work yetAnything that needs a server at request time — PHP, a Node backend, Django, Rails, Next.js SSR or API routes. See . Contact forms are the exception: those are handled for you.

File Requirements

index.html at the root

Mandatory, and it must sit at the top level of your ZIP — not inside a wrapper folder. If your build tool produces a folder, open it, select the contents, and zip those.

Otherwise the upload is rejected with “No index.html found”.

Size

Uploads up to 5 MB are free. Anything larger needs a one-time payment, which upgrades that site to PRO — after that it can be redeployed at any size, forever.

Everything else comes along

HTML, CSS, JavaScript, images, fonts and other static assets are all stored and served with the right content type, keeping your folder structure intact.

Multiple pages

Every .html file becomes a page you can edit, run SEO checks against and track separately — they show up as tabs in the Editor and SEO tabs.

Your Site Dashboard

Click Edit on any site card to open its dashboard. The card itself also has quick actions: open the live site, pause it, or delete it.

Pausing takes the site offlineA paused site returns “404 — Site not found” on both its chasqr.com subdomain and any custom domain, and stops accepting form submissions. Press play to bring it back.
A site's dashboard — plan, status and visits at the top, everything else grouped in the left navigation.

The header shows the site's plan, whether it's live, and its visit count, with buttons to preview the site or upgrade it to PRO. Everything else lives in the left navigation:

Settings

Site URL

Change the free chasqr.com subdomain your site lives on.

Custom Domain

Connect a domain you own. Free on every site.

Update Files

Replace your site's files with a new build, keeping the same URL.

GitHub

For imported sites: the connected repo, auto-deploy, and deploy history.

Content

Editor

Edit the text, images and links on your live pages.

Layout

Open the full-screen visual builder for this page.

Colors

Recolour the site — every colour found in its styles.

SEO

Audit, auto-fix, favicon, and per-page meta tags.

Analytics

Visits over the last 30 days.

Submissions

Contact-form messages, and form connection settings.

Help

Expert Help

Chat with a verified expert about this specific site.

Editing Text & Images

The Editor tab pulls every piece of text, every image and every link out of your page and lists them as editable fields — no HTML required.

1

Pick the page

Sites with more than one page show a tab per file at the top. Switching pages with unsaved changes asks for confirmation first.
2

Filter to what you're changing

The pills at the top — All, Text, Images, Links — narrow the list, with a count on each.
3

Edit the values

Type directly into a text field. For images, paste a URL or upload a file from your device, and set alt text describing the image (good for accessibility and SEO). Links take both the visible label and the destination URL.

The Editor tab — every text, image and link on the page as an editable field, with per-element actions on the right.
4

Restructure if you need to

Each element has quick actions: Duplicate (clones the whole card or tile it belongs to), Hide (keeps it in the file but off the live page), Delete, and Add below to insert a new text, image or link element.
5

Save & Deploy

A bar appears at the top of the screen counting your unsaved changes, with Discard and Save & Deploy. Saving publishes to the live site right away.
Not available for live JavaScript appsReact, Vue and Angular apps deployed with the interactive option build their pages in the browser, so there's no HTML text to edit here. Update the content in your code and redeploy from Update Files.

Updating Your Files

Shipped a new build? Update Files replaces the site's contents in place. (Sites imported from GitHub update themselves on every push — see the GitHub tab instead.)

1

Open Settings → Update Files

Choose ZIP File or Files, matching how you want to upload.
2

Select the new build

The same rule applies — index.html at the root.
3

Click “Redeploy Site”

All existing files are replaced. Your URL, custom domain, SEO settings, analytics history and form submissions are all kept.
Size limits still applyOn a free site, a redeploy over 5 MB prompts the same one-time payment. PRO sites redeploy at any size.
Attach source code (PRO)Below the uploader, PRO sites can attach a ZIP of the real project source. It's never served on your public site — it exists so an expert helping you gets your actual code rather than compiled output.

Recolouring Your Site

The Colors tab scans a page's stylesheets and lists every colour it uses, with how many times each one appears.

1

Choose the page

Multi-page sites get a tab per page.
2

Click a swatch and pick a new colour

Changed swatches are highlighted and show the value they replaced. Reset undoes everything you haven't saved.
3

Save

The colour is replaced everywhere it's used, including in shared stylesheets, and the site is redeployed.
The Colors tab — every colour found in the page's styles, with how often each is used.
Not available for live JavaScript apps — their styles are bundled at build time. Change your theme in code and redeploy.

Changing Your Site URL

Every site gets a free subdomain on chasqr.com, with HTTPS included. You can change it whenever you like.

1

Open Settings → Site URL

You'll see the current address with a Copy button next to it.
2

Click “Edit URL”

Type the new slug — 3 to 50 characters, lowercase letters, numbers and hyphens. Anything else is stripped as you type.
3

Confirm with the tick

The change is live immediately.
The old address stops workingNothing redirects from the previous subdomain, so update any links, QR codes or social profiles that point at it.

Connecting a Custom Domain

Point a domain you own — example.com, or a subdomain like blog.example.com — at your Chasqr site. It's free on every site, and HTTPS is issued automatically. Budget five minutes of work plus some waiting for DNS.

Before you startYou need a domain from a registrar (GoDaddy, Namecheap, Cloudflare, Hostinger, Google Domains…) and access to its DNS settings. Domains typically cost $10–15 a year — Chasqr doesn't sell them.
1

Add the domain in Chasqr first

Open your site → SettingsCustom Domain. Type the exact hostname you want visitors to use — example.com or blog.example.com — without https:// and without a trailing slash. Press the green tick to save.

Do this before touching DNS: a certificate is only ever issued for a domain that's already registered here.

The Custom Domain tab before a domain is connected — type the hostname and press the tick.
2

Copy the DNS record we show you

As soon as the domain is saved, the tab displays the exact A record to create. It looks like this:

TypeNameValueTTL
A@137.184.18.703600
Once saved, the tab shows the exact A record to create at your registrar — and a green dot marks the site as having a domain.
3

Create that record at your registrar

Find the DNS management screen for your domain and add a new record:

  • Root domain (example.com) — Type A, Name @, Value 137.184.18.70, TTL 3600
  • Subdomain (blog.example.com) — Type A, Name blog (just the label, not the full domain), same value and TTL

Delete or edit any existing A or CNAME record with the same name — a leftover parking-page record will keep winning.

Where to look: GoDaddy → My Products → DNS; Namecheap → Domain List → Manage → Advanced DNS; Cloudflare → DNS → Records; Hostinger → Domains → DNS / Nameservers.

4

Wait for DNS to propagate

Usually a few minutes to a couple of hours, occasionally up to 48. Check progress from a terminal:

nslookup example.com

# It's ready when the answer is 137.184.18.70
5

Open your domain over HTTPS

Visit https://example.com. The certificate is issued on that first request, so the very first load can take a few extra seconds — after that it's instant, and renewals are automatic. There's nothing to upload and no certificate to manage.

Rules worth knowing

One domain per site

A site serves one custom hostname, and a hostname can't be connected to two sites — saving one that's already in use is rejected.

www and the root are different hostnames

example.com and www.example.com are treated separately. Connect whichever you want visitors to use, then redirect the other at your DNS provider or registrar (most offer a free forwarding / redirect rule).

Using Cloudflare as your DNS host?

Set the record to DNS only (grey cloud) rather than proxied. Proxying puts Cloudflare's own certificate in front of ours and is the usual cause of redirect loops and SSL errors.

Removing a domain

The Remove button disconnects it instantly. Your site stays online at its chasqr.com subdomain, and the domain is free to reconnect elsewhere.

Domain not resolving?Work through it in order: the site is live (not paused) → the hostname in the Custom Domain tab matches exactly what you're typing in the browser → nslookup returns 137.184.18.70 → no conflicting A/CNAME record remains. More cases in .

SEO

The SEO tab has three parts: an audit that scores each page, a one-click fixer for the mechanical problems, and manual controls for your titles, descriptions, social previews and favicon.

1. Run the SEO check

Pick a page and press Run SEO Check. We fetch the live page and run 20+ checks — title, meta description, canonical URL, indexing rules, H1 and heading structure, language attribute, mobile viewport, image alt text, content depth, internal and external links, Open Graph tags, HTTPS and response time — then score it out of 100.

Each result is written in plain English: what's wrong, and why it matters.

An SEO report — overall score, a breakdown by category, and every issue explained in plain English.

2. Fix issues automatically

Fix Issues Automatically handles the mechanical basics — page title, meta description, canonical link, viewport, language attribute, social tags and missing image alt text — then redeploys and re-scores the page, and lists exactly what it changed.

It can't write your content for you: depth, linking and page speed stay in your hands.

3. Fine-tune the details

Below the audit you can set, per page:

  • Page Title — up to 60 characters, shown in the browser tab and search results
  • Meta Description — up to 160 characters, the snippet under your search result
  • OG Image URL — the thumbnail used when your link is shared; at least 1200×630px
  • OG Title and OG Description — override the above for social platforms

Live Google and social previews sit beside the form, so you can see truncation before you publish. Saving redeploys.

Favicon

Also in this tab: upload a favicon or paste an image URL. It applies to every page. A square PNG or ICO of at least 32×32 works best.

Free checker for any websiteThe SEO Checker runs the same audit on any public URL — your site, a client's, a competitor's — with no account needed. Sites hosted here get the deeper check plus one-click fixes.

Analytics

Visit tracking is built in — nothing to install, no third-party script, no cookie banner.

Total Visits

Every page request your site has served since it was created.

Last 30 Days

Visits in the last month — the number to watch after a launch or a campaign.

Daily Average

Your typical day, useful as a baseline to compare spikes against.

30-day chart

A bar per day, with today highlighted. Hover any bar for its exact count.

The Analytics tab — total visits, the last 30 days, your daily average, and a bar per day.
Visits are counted on your live site, whether visitors arrive through the chasqr.com subdomain or your custom domain. Per-country, per-device and per-page breakdowns aren't available yet — add Google Analytics to your page for those.

Contact Forms

Chasqr captures form submissions for you — every field lands in the site's Submissions tab and is emailed to you the moment it arrives. No third-party form service, no monthly fee. Pick whichever route matches how your site was made.

A. Built with the visual builder — nothing to do

Any Form element or form template you drop in is already wired up. Publish and start receiving messages.

B. Uploaded HTML with a form — one click

We scan your pages and list the forms we find. Open Submissions, find yours, and press Connect — likely contact forms are flagged for you. Leave search bars, logins and newsletter widgets disconnected.

The Submissions tab — a form detected in your uploaded HTML, waiting for one click to connect it.

C. Your own form, wired manually

Point the form at your site's submit endpoint. The Submissions tab shows the exact URL with a copy button; your site ID is also the code in the dashboard URL (/sites/<id>).

https://api.chasqr.com/api/forms/<your-site-id>/submit

Option 1 — plain HTML, no JavaScript

Set the form's action and method. The optional hidden _redirect field sends visitors to a thank-you page after submitting.

<form action="https://api.chasqr.com/api/forms/<your-site-id>/submit" method="POST">
  <input type="hidden" name="_redirect" value="https://yoursite.chasqr.com/thank-you">
  <input type="text"  name="name"    placeholder="Your name">
  <input type="email" name="email"   placeholder="you@example.com">
  <textarea           name="message" placeholder="Your message"></textarea>
  <button type="submit">Send</button>
</form>

_redirect must be an https:// address on your own site — your chasqr.com subdomain or your connected custom domain. Anything else is ignored, which keeps the endpoint from being used to bounce people elsewhere.

Option 2 — stay on the page

Add data-chasqr-form to your <form> tag, then paste this just before </body>:

<script>
document.querySelectorAll('[data-chasqr-form]').forEach(function (f) {
  f.addEventListener('submit', function (e) {
    e.preventDefault();
    var data = Object.fromEntries(new FormData(f));
    fetch("https://api.chasqr.com/api/forms/<your-site-id>/submit", {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify(data)
    }).then(function () {
      f.reset();
      alert('Thanks — your message was sent!');
    });
  });
});
</script>

What gets captured

  • Every field needs a name attribute — fields without one are invisible to the browser and never reach us. One-click Connect handles this for you.
  • Any field names work; whatever you send is stored and shown.
  • Up to 30 fields per submission, 5,000 characters per field. Empty fields are dropped.
  • Names beginning with an underscore are reserved for control parameters like _redirect.

Where messages land

In your dashboard

The Submissions tab holds the 500 most recent, newest first. Each shows the sender's name and email pulled out of the fields, every other field below it, the time it arrived, and a delete button.

In your inbox — automatically

Every submission is emailed to your Chasqr account address the moment it arrives. Nothing to switch on, and no forwarding address to configure.

  • The subject names the site and the sender, so it's obvious at a glance which form fired
  • Every submitted field is laid out in the body
  • Reply-to is set to the sender's address when we can spot an email among the fields — so hitting reply in your mail client answers the person directly, rather than emailing yourself
Not seeing the emails?Check the spam folder first and mark one as "not spam" — notifications go to the address on your Chasqr account, so it's also worth confirming that address is one you actually read. A missing email never means a lost message: the submission is stored either way and is always in the Submissions tab.

Account & Security

Everything about your login lives on the Profile page — open it from your avatar in the top-right corner.

Display name

The name shown in Chasqr and used when an expert is helping you. Changing it doesn't affect your sites.

Password

Set a new one by entering your current password alongside it. Forgotten it? Use Forgot password on the sign-in page and we'll email you a reset link.

Email verification

New accounts get a 6-digit code by email to confirm the address before the first sign-in. Codes last 10 minutes, and you can request a new one after 60 seconds. Signing up with Google or GitHub skips this — those providers have already verified your address.

Two-factor authentication

Adds a second step at sign-in, so a leaked password isn't enough on its own to reach your account and your live sites.

1

Profile → Two-Factor Authentication → Enable

We email a 6-digit code to your account address straight away.
2

Enter the code

Type it into the six boxes — it submits itself on the last digit. The card then shows an Enabled badge.
3

From then on, every sign-in asks for a code

After your password is accepted we email a fresh code and hold the sign-in until you enter it. Codes expire after 10 minutes; you can resend after 60 seconds.

This applies to every way into your account — password, Google and GitHub all hit the same check, so turning it on can't be sidestepped by using a social login.

4

Turning it off

Profile → Disable, then confirm with your account password.
Signed up with Google or GitHub?Disabling two-factor asks for an account password, and a social-only account has never had one set. Use Forgot password to create one first, then disable. Worth knowing before you turn it on.
Codes arrive by emailThere's no authenticator app to set up and nothing to scan — which also means access to your email inbox is what protects the account. Keep that address secure.

PRO & Billing

Chasqr is free to use. PRO is a one-time payment per site — no subscription, no renewals.

Free on every site

  • Hosting on a chasqr.com subdomain, HTTPS included
  • The visual builder and the content editor
  • A custom domain, with automatic HTTPS
  • SEO audit, auto-fix, analytics and contact forms
  • Uploads up to 5 MB
  • Expert help requests

PRO adds, per site

  • Uploads and redeploys of any size, forever
  • Attaching your project's source code for experts helping you

Two ways to end up on PRO

  • Deploy something over 5 MB. You're prompted for a one-time $2.99 payment; it unlocks that upload and upgrades the site to PRO.
  • Press “Upgrade to PRO” on the site dashboard. The price is calculated from that specific site — $1.49 base, plus $0.20 per MB of stored size and $0.15 per page, with a $1.49 minimum and a $14.99 cap. The modal shows the full breakdown before you pay.

Paying

Razorpay and Cashfree are both supported — pick either at checkout. If one is unavailable we fall back to the other and tell you.

Prices here are shown in US dollars for reference. Checkout is processed in Indian rupees — ₹199 for a large upload, and ₹99–₹999 for a site upgrade.

Transactions

The Transactions page lists every payment with its ID and amount, and shows any unused credits — a credit bought for a large upload you didn't finish stays on your account for next time.

Expert Help

Would rather someone else made the change? Every site has an Expert Help tab that connects you to a verified expert about that specific site.

1

Open the site → Expert Help

You'll see available experts with their title, skills and current availability.
2

Pick an expert and describe what you need

Be specific — which page, what should change, what the end result should look like.
3

Chat it through

Once your request is sent, a live chat opens with that expert. Replies arrive in real time and unread messages show as a badge on the tab while you're elsewhere in the dashboard. You can cancel a request that hasn't been picked up yet.
4

Share your source code (PRO)

If the site is PRO, attach a ZIP of your real project under Update Files so the expert works with your actual code rather than the compiled output.

Troubleshooting

The problems that come up most often, and what fixes them.

"No index.html found in zip"

Your ZIP has the project inside a folder. Open the build output folder, select everything inside it, and zip that — index.html must sit at the very top level of the archive.

Site is live but the styling and images are missing

You most likely uploaded your source folder instead of the build output. Run your framework's build command and upload the generated build/ or dist/ folder. If you wrote plain HTML, check that your CSS and image paths match the file names in the ZIP (they are case-sensitive).

Editor says "No editable content found"

That site is served as a live JavaScript app (React, Vue, Angular built output, or you ticked the interactive option on upload). Its pages are built in the browser, so there is no HTML text for the panel to edit. Change the content in your code and redeploy from Update Files. Hosting, custom domains, SEO and analytics all still work.

Custom domain shows my registrar's parking page

An old A or CNAME record is still in place, or DNS has not refreshed yet. Delete any other record with the same name, keep only the A record pointing at Chasqr, and give it up to a few hours.

"404 — Site not found" on my custom domain

The domain reaches us, but no live site claims it. Check the spelling in the Custom Domain tab (including www), make sure it is saved on the right site, and make sure the site is not paused on your dashboard.

Browser warns the certificate is invalid

HTTPS is issued the first time your domain reaches us, so it only works once DNS has propagated and the domain is saved in Chasqr. Confirm both, then reload after a minute.

Upload is blocked by a payment prompt

The upload is over the 5 MB free limit. Either trim the build (large images and unused assets are the usual culprits) or make the one-time payment, which upgrades that site to PRO and removes the size limit for good.

Form submissions are not arriving

Open the Submissions tab and check the form shows as Connected. Every field also needs a name attribute, and the site must be live — a paused site rejects submissions.

My repository isn't in the import list

Chasqr only sees the repositories you granted it. Use "Adjust which ones Chasqr can access" at the bottom of the list to add more on GitHub, then hit refresh. Note that a repository owned by an organisation may need an owner to approve the installation.

The import says there's no index.html

Your built output isn't committed — most frameworks gitignore dist/ and build/ by default. Build locally, commit that folder, and import again. If the error lists folders it did find, pick one of those instead.

I pushed but the site didn't update

Check the GitHub tab on your site — it records the outcome of every attempt. Confirm auto-deploy is on and that you pushed to the connected branch; pushes to other branches are ignored by design. If the last deploy shows as skipped or failed, the message there says why, and your previous version is still serving.

Coming Soon

Chasqr serves static files today, so anything needing code to run on the server at request time isn't supported yet. These are what we're working on:

PHP / WordPress Node.js / Express backends Python (Django, Flask) Ruby on Rails

Still Stuck?

If none of the above covers it, or you'd rather have someone make the change for you, open your site and use the Expert Help tab — verified experts are ready to assist, and it's free to ask.

Go to Dashboard