Luis Bizarro's opinative web development stack and Front End framework.
git clone [email protected]:bizarro/lisergia.git
npm i
npm run dev
“Prioritizing animations, motion and interactions in a website shouldn't be controversial. Not adding interesting things to your web pages because of metrics will always be a downgrade.” — Luis Bizarro.
Lisergia is an opinionated web development stack designed to simplify the creation of interactive websites. Its primary goal is to reduce the complexity and stigma often associated with adding animations to web pages—a task that should be simple and straightforward.
Everything in this repository is intentionally opinionated and reflects what I consider the golden standard for maintainability and scalability in web applications—specifically for marketing-focused landing pages. This stack is not intended for general product engineering, and that’s by design. Lisergia is solving a different problem.
Marketing landing pages typically align with the creative vision of art directors and designers. These projects often prioritize delightful and surprising user experiences over conventional performance metrics. As such, benchmarks like LCP (Largest Contentful Paint) and FCP (First Contentful Paint) are less relevant. The real goal is to offer elegant transitions and engaging interactions that elevate the experience for site visitors.
The Front End architecture is primarily composed of Twig for HTML markup, SCSS for styling and TypeScript for JavaScript transpilation. Lisergia also includes several libraries by default to streamline development and improve the developer experience:
- Lenis: improves scroll behavior to feel smooth and natural by default.
- MobX: simplifies and streamlines application state management.
- NanoEvents: enables lightweight event handling via
.on
and.off
methods. - Auto Bind: eliminates the need for manual
.bind(this)
calls. - Tempus: a
requestAnimationFrame
manager for coordinated frame-based updates.
The Back End uses Sanity as the Content Management System, with Express serving a JSON file generated from its structured content. Express offers the simplicity and flexibility needed to create custom endpoints and integrate with third-party services such as Resend. For rendering views, we use a Node.js port of Twig as the template engine.
Just plug this on Vercel and your application is going to be available automatically through Vercel Functions.
cms
: A local Sanity CMS instance, running athttps://localhost:3333/
by default.web
: A local Express server, running athttps://localhost:3000/
by default.
@lisergia/config-eslint
: Sharedeslint
configuration used across the monorepo.@lisergia/config-typescript
: Sharedtsconfig.json
configurations used throughout the monorepo.@lisergia/cli
: Command-line interface used by theweb
application to generate the Front End bundle.@lisergia/core
: Core components that power the Lisergia framework.@lisergia/managers
: Built-in managers that handle various application behaviors in Lisergia.@lisergia/styles
: Shared styles and SCSS utilities used across projects.@lisergia/utilities
: Reusable utility functions that support common development needs.