A local-first website studio for sketching, styling, animating, and exporting polished static pages.
Webception is a freeform website builder built with React, TypeScript, and Vite. It gives you a Wix-like canvas where you can add page sections, move and resize elements, tune visual styles, preview responsive layouts, and export the finished page as a static ZIP.
The app runs entirely in the browser. Projects are saved locally with localStorage, so it is useful for quick landing pages, Hack Club-style demos, portfolio pages, event pages, and experiments that need a fast static-site export.
- Freeform drag-and-resize canvas
- Desktop, tablet, and mobile frame modes
- Per-device placement overrides for responsive layouts
- System, light, and dark editor themes
- Font picker with Satoshi, General Sans, Hind, and Nunito
- Starter, portfolio, and event templates
- Undo, redo, duplicate, delete, layer controls, clear all, and reset starter
- Animation controls for fade, rise, slide, scale, blur, duration, delay, easing, and looping
- One-click ZIP export containing
index.html,styles.css, andscript.js
Webception includes a starter palette of common page pieces:
- Structure: navbar, hero, footer, divider, spacer
- Content: text, rich text, button, image, gallery, video placeholder
- Sections: card, card grid, features, pricing, testimonial, FAQ, stats, contact
- Shapes: rectangle, circle, line, pill, blob, badge, icon mark
- Pick a starter template or add blocks from the left panel.
- Select an element on the canvas.
- Drag it into place, resize it, or enter exact values in the inspector.
- Adjust copy, colors, typography, borders, shadows, opacity, and rotation.
- Switch between desktop, tablet, and mobile modes to tune responsive placement.
- Add animation settings and preview them in the editor.
- Press Download to export a ready-to-host static site ZIP.
- React 19 for the editor UI
- TypeScript for application code
- Vite for development and production builds
- JSZip for static-site export generation
- Playwright for end-to-end coverage
- ESLint for code quality checks
- Plain CSS for styling
.
|-- docs/ # Usage notes, roadmap, release notes, and artwork
|-- public/ # Static assets served by Vite
|-- src/
| |-- App.tsx # Builder state, editor UI, export generation, interactions
| |-- App.css # Main editor styling
| |-- index.css # Global styles
| `-- main.tsx # React entrypoint
|-- tests/ # Playwright E2E tests
|-- index.html # Vite HTML shell
|-- package.json # Scripts and dependencies
|-- playwright.config.ts # E2E test config
`-- vite.config.ts # Vite config
- A recent Node.js LTS release
- npm, using the included
package-lock.json
Install dependencies:
npm installStart the dev server:
npm run devBuild a production bundle:
npm run buildPreview the production build:
npm run previewRun the TypeScript and Vite production build:
npm run buildRun ESLint:
npm run lintRun Playwright tests:
npm run test:e2eThe E2E suite covers adding and editing elements, positioning blocks, previewing animations, downloading the ZIP export, switching themes, applying templates, and clearing the canvas.
The exported ZIP is named webception-site.zip and contains:
index.htmlstyles.cssscript.js
The generated site includes layout styles, responsive overrides, Fontshare font links, and CSS animation keyframes. It is intended to be uploaded to any static host or unpacked into a static site project.
Webception is a working local-first builder prototype. The current focus is making the editor fast for static page composition, with future improvements planned around snapping, grouped selection, more templates, reusable color palettes, ZIP import, richer form behavior, and hosted preview integrations.
