javascript coding & api integration

Vibrant Impact Poster Generator

Key Technical Features

The Layout & Logic (The "Core Engine")

Aspect Ratios: Supports square, portrait, vertical, and landscape modes.

Dynamic Responsiveness: Fully optimized for Mobile, Tablet, and Desktop.

API Integration: Real-time fetching from ZenQuotes API with keyword/category search and logic-based regeneration.

Asset Management: Integrated Emojis API for extended visual expression.

Aspect Ratios: Supports square, portrait, vertical, and landscape modes.

Dynamic Responsiveness: Fully optimized for Mobile, Tablet, and Desktop.

API Integration: Real-time fetching from ZenQuotes API with keyword/category search and logic-based regeneration.

Asset Management: Integrated Emojis API for extended visual expression.

Google Fonts Integration: A curated selection of professional pairings with a “favorites” system.

Micro-Typography Sliders: Granular control over size, line height, and letter spacing.

Advanced Text Styling: Custom text entry, text-case transformation (All Caps, Small Caps, etc.), and stroke/shadow effects.

Toggle Controls: Individual visibility toggles for quotes and text boxes.

Text Box Engine: Dynamic sliders for opacity, dimensions, position, padding, and corner radius with one-click “recenter” logic.

Design Presets: Instant styling via curated box presets.

Emoji Manipulation: Dedicated sliders for emoji scaling, rotation, and XY positioning.

Corner Accents: Adjustable corner quote marks with independent size and color control.

Generative Color System: 2-color and 5-color gradient engines with auto-generation, palette styles, color locks, and shuffle logic.

Image Transformation: Direct upload with “snap-to-grid” logic and sliders for blur, brightness, scale, and positioning.

Export Logic: High-resolution output options for both PNG and JPG formats.

Persistence: “Save to Gallery” feature for session management.

The
Challenge

Implementing a system that allows users to toggle between Square (1:1), Portrait (4:5), Vertical (9:16), and Landscape (16:9) presented a significant “container-overflow” issue. When a user switched ratios on a mobile device, the canvas would often bleed off the screen or break the UI layout, as the hard-coded pixel dimensions didn’t translate across different viewport sizes.

The
Solution

Instead of using fixed pixel values, I engineered a Fluid Scaling Engine using CSS Custom Properties and JavaScript.

Calculated Constraints: I wrote a function that calculates the maximum allowable width/height based on the current window.innerHeight and window.innerWidth.

The “Box-In-Box” Logic: By using the CSS object-fit: contain principle within a parent container, the generator now automatically scales the “Poster Canvas” to the largest possible size while remaining fully visible on any device.

Consistency: This ensures that whether a user is building a 9:16 Reel on a Desktop or an 8.5×11 Print on a phone, the Vibrant Impact UI controls remain accessible and the canvas stays centered.

Project details

DATE: Dec 2025

ROLE: Lead Dev & Designer

CODE: JS (Node.js), HTML,
      CSS

API:  Google Fonts,
      Emoji, Zen Quotes

tech stack

VS Code
Html5
CSS3
JavaScript

more projects