rebizzz.dev
Back to dispatches

Designing Paper: Editorial Typography, Anime.js, and Calm Interfaces

An exploration into why warm paper palettes, Bricolage Grotesque, Junicode italics, and Anime.js spring physics make personal publishing feel intentional.

rebizzz
rebizzz
2026-09-06•2 min read

Welcome to my corner of the web. This blog is built with a singular premise: writing should feel intentional, fast, and visually cinematic.

Every corner of this platform embraces warm matte paper tones (#19191d dark / #f2f0e3 light), vibrant coral accents (#f76f53), subtle glassmorphic borders, and smooth spring physics powered by Anime.js.

Aesthetic First Anime.js v4 Next.js 14 App Router

The Philosophy of Quiet Interfaces#

Modern web interfaces often suffer from visual noise. We flipped this by prioritizing spatial calm:

  1. Dark Paper Canvas: Instead of pitch-black OLED emptiness, we use deep warm charcoal tones that feel like physical matte paper.
  2. Kinetic Typography: Bricolage Grotesque paired with expressive serif italics for selective emphasis.
  3. Optically Blurred Entrances: Content doesn't just abruptly pop in; it glides from a subtle blur(6px) and slight vertical offset into crisp clarity.
Why Anime.js v4?

Anime.js gives us direct imperative control over easing curves, spring physics, and staggered grids without bloating client bundle size. It handles 60fps micro-interactions effortlessly.


Live Interactive Anime.js Experiment#

Below is the state-of-the-art Kinetic Studio, powered directly by Anime.js v4. Explore Euler spring physics with draggable kinetic chips, SVG path drawing and geometric morphing, character wavefront text scrambling, and dynamic 2D staggered ripple matrix:

Kinetic Studio

Anime.js v4.5

Authentic spring dynamics, morphic SVG geometry, and staggered kinetic waves.

Draggable Kinetic Beads with Spring Snap-Back

Drag any bead across the stage. Releasing triggers Anime.js v4 createDraggable with Euler spring momentum snap-back to resting socket.

Spring Returnmass: 1.0, stiffness: 120
Kinetic Eulerdamping: 12, bounce: 0.55
Damped VectorvelocityMultiplier: 1.2
Inertia Snapspring({ bounce: 0.5 })
Anime.js v4createDraggable API
Resting Socket
Resting Socket
Resting Socket
Resting Socket
Resting Socket
Spring Elastic Bounce:

SVG Path Drawing & Morphing Canvas

Stroke drawing using createDrawable combined with geometric interpolation using morphTo.

Geometry:

Kinetic Text Scrambler Demo

Anime.js v4 scrambleText with glyph mutation, dynamic ranges, and character wavefront resolving.

Glyph Matrix Stream • Wave Resolve

Breathe into stillness. Physics in motion.

Glyph Set:
Duration:

Staggered Ripple Particle Matrix

Click or hover across the 7×7 grid. Triggers Anime.js v4 stagger(32, { grid: [7, 7], from: index }) with 2D distance calculation.

Glow Accent:
Bounce:
anime.js v4 API: animate, createDraggable, scrambleText, createDrawable, morphTo
100% Client-Side Physics • 60fps WAAPI Engine
Interactive Spring Grid
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Click any cell to trigger dynamic Anime.js v4 center ripple


Modular by Nature#

Following the elegance of projects like Fuwari, this entire site is managed by a single config file: site.config.ts.

Want to change your author bio, swap your social handles, tweak the accent hue, or adjust your Giscus discussion parameters? You never need to touch core layout code - just update one typed file:

TypeScript
// site.config.ts export const siteConfig: AppConfig = { site: { title: 'rebizzz.dev', subtitle: 'daily dispatches, nix configs & engineering', author: 'rebizzz', url: 'https://rebizzz.dev', }, theme: { accent: 'coral', defaultMode: 'dark', }, giscus: { enabled: true, repo: 'rebizzz/rebizzz', category: 'General', }, };
Feedback & Discussions

Scroll down to the bottom of any article to participate in discussions. Every comment is directly backed by GitHub Discussions via Giscus.

Discussion & Notes

Loading discussion thread...