Skip to content

Project overview (for team)

Pratyush Kumar edited this page Apr 30, 2026 · 1 revision

🧠 Flollama Slides — Complete System Wiki, Design, Architecture & Team Alignment


0. Context

There has been confusion around:

  • whether the project has started
  • what exactly is being built
  • how the system works

That confusion is valid.

A lot of work was done quickly, but not explained properly.

This document fixes that.


1. What We Are Building

Flollama Slides = AI-powered presentation engine

It converts:

Prompt → Structured Content → Designed Slides → Export

This is not just a UI project. This is a full product pipeline.


2. Product Flow (Actual System)

Landing Page
   ↓
Authentication (Firebase)
   ↓
Dashboard (Projects)
   ↓
Create / Open File
   ↓
User Prompt (Chat Panel)
   ↓
Flollama AI API
   ↓
AI Response (Message + Hidden Code)
   ↓
Structured Output (Controlled format)
   ↓
Frontend Renderer
   ↓
Slide UI (Viewer Panel)

↓ (Next Phase)

Renderer → Export Pipeline → PPT / PDF

3. Current Product (Working System)

🖥️ Dashboard (Yet to be made in Frontend)

  • Displays all presentations
  • Sorting options
  • Entry point

🎯 Editor Layout

  • Center → Slide Viewer
  • Right → Chat Panel
  • Bottom → Slide Thumbnails
  • Top → Controls

📸 Current Product (Implemented UI)

image This is already implemented — not conceptual.

4. Figma Design (Source of Truth)

Figma: https://www.figma.com/design/0Scd5mIui9AMJCYqBO8vxI/flollama-slides

  • Figma Screenshot:

    image
  • Blank Working:

    image
  • Current Working:

    image
  • Dashboard:

    image

Includes

  • Dashboard layout
  • Editor states (initial, generating, completed)
  • Component system
  • Typography
  • Color system
  • Branding

5. Design System (Core Foundation)

This project uses a token-based design system.

Instead of hardcoding colors everywhere, we define design tokens and map them semantically.

This allows:

  • theme switching (light/dark)
  • consistency across UI
  • easier scaling and maintenance

🎨 Color System — Deep Breakdown

The color system is divided into 4 layers:

  1. Base colors
  2. Raw theme tokens (light/dark)
  3. Semantic tokens (used in UI)
  4. Shade scale

1. Base Colors

--white: hsl(0, 0%, 100%);
--black: hsl(0, 0%, 0%);

Why:

These are absolute references.

Where used:

  • backgrounds (pure white sections)
  • text in high contrast cases
  • fallback styling

2. LIGHT THEME TOKENS

These define how the UI behaves in light mode.


📝 Text Colors

--light-text: hsl(0, 0%, 11%);
--light-text-muted: hsla(0, 0%, 11%, 0.6);
--light-text-subtle: hsla(0, 0%, 0%, 0.4);

Why:

  • text → primary readable content
  • muted → secondary info (labels, descriptions)
  • subtle → low-priority UI hints

Where:

  • headings → text
  • descriptions → muted
  • placeholders → subtle

🧱 Background System

--light-bg: hsl(0, 0%, 96%);
--light-bg-inverted: hsl(0, 0%, 7%);
--light-bg-elevated: hsl(194, 32%, 92%);
--light-bg-hover: hsl(207, 35%, 94%);
--light-bg-popup: hsl(210, 40%, 96%);

Breakdown:

  • bg → main app background
  • bg-inverted → used for contrast (dark buttons on light UI)
  • bg-elevated → cards / panels
  • bg-hover → hover states
  • bg-popup → modals / dropdowns

Why:

Creates depth hierarchy without shadows only

Where:

  • dashboard cards → elevated
  • hover buttons → hover
  • modal → popup

🎯 Accent

--light-accent: hsl(239, 32%, 48%);

Why:

Primary brand interaction color.

Where:

  • buttons
  • highlights
  • active states
  • links

🧩 Border / Shadow / Blur

--light-border: hsla(0, 0%, 11%, 0.1);
--light-shadow: hsla(0, 0%, 0%, 0.1);
--light-blur: hsla(0, 0%, 100%, 0.1);

Why:

  • border → separation without harsh lines
  • shadow → soft elevation
  • blur → glass effects

Where:

  • card edges
  • popups
  • floating UI

⚠️ Danger

--light-danger: hsl(0, 74%, 42%);
--light-danger-text: hsl(0, 63%, 28%);

Why:

Error/destructive actions need strong visual signal.

Where:

  • delete buttons
  • warnings
  • error states

🔘 Icon

--light-icon: hsl(0, 0%, 24%);

Why:

Icons shouldn’t be as strong as text.

Where:

  • nav icons
  • buttons
  • UI controls

3. DARK THEME TOKENS

Same structure, inverted for dark UX.


📝 Text

--dark-text: hsl(0, 0%, 90%);
--dark-text-muted: hsla(0, 0%, 100%, 0.6);
--dark-text-subtle: hsla(0, 0%, 100%, 0.4);

Why:

High contrast on dark background without eye strain.


🧱 Backgrounds

--dark-bg: hsl(0, 0%, 11%);
--dark-bg-inverted: hsl(208, 100%, 97%);
--dark-bg-elevated: hsl(0, 0%, 16%);
--dark-bg-hover: hsl(0, 0%, 18%);
--dark-bg-popup: hsl(0, 0%, 16%);

Why:

Layering in dark mode is subtle. Small % differences = depth.


🎯 Accent

--dark-accent: hsl(239, 78%, 87%);

Why:

Brighter accent needed to pop on dark UI.


🧩 Border / Shadow / Blur

--dark-border: hsla(0, 0%, 100%, 0.1);
--dark-shadow: hsla(0, 0%, 100%, 0.1);
--dark-blur: hsla(0, 0%, 0%, 0.1);

Why:

Dark UI uses light borders instead of dark ones.


⚠️ Danger

--dark-danger: hsl(0, 63%, 31%);
--dark-danger-text: hsl(0, 63%, 64%);

Why:

Balanced red so it’s visible but not glowing aggressively.


🔘 Icon

--dark-icon: hsl(0, 0%, 76%);

Why:

Icons need to be visible but not overpower text.


4. SHADE SCALE

--shade-50 → --shade-900

Why:

Used for:

  • gradients
  • subtle separators
  • neutral UI tones

Where:

  • skeleton loaders
  • disabled states
  • charts / visuals

5. SEMANTIC TOKENS (MOST IMPORTANT)

--text: var(--dark-text);
--bg: var(--dark-bg);
--accent: var(--dark-accent);

Why:

UI should NOT depend on theme-specific names.

Instead of:

“use dark-bg”

You use:

“use bg”


Benefit

Switching theme = automatic UI update No component rewrite needed


6. Theme Switching System

[data-theme="light"] { ... }
[data-theme="dark"] { ... }

Why:

  • clean toggle system
  • scalable
  • no JS-heavy logic required

7. Tailwind Integration

Colors mapped like:

text: "var(--text)"
bg: "var(--bg)"
accent: "var(--accent)"

Why:

  • use Tailwind normally
  • still keep design tokens

No random colors. Everything has a role.

🔤 Typography

Fonts:

  • Inter (primary UI)
  • Poppins (secondary)
  • Ubuntu (branding)

Hierarchy ensures readability and structure.

Final Thought

This system is designed to ensure:

consistency scalability theme flexibility production-level UI quality


6. Logo & Branding

📸 Logos

imageimage

7. UI States

  • Initial (empty)
  • Generating (AI working)
  • Completed (slides ready)

State-driven UI, not static.


8. ⚡ Major System Shift

We moved from:

Static UI playground

To:

Fully interactive AI-powered editor interface

This was not a small update.

This was:

a full phase transition


9. 🗂️ Infrastructure

  • Next.js full-stack architecture
  • API routes (backend logic)
  • Firebase (Auth + DB ready)
  • Deployment pipeline working
  • GitHub repo structured

10. Architecture (Simplified)

Frontend (Next.js)
   ├── ViewerPanel
   ├── ChatPanel
   └── UI Components

Backend (Next API)
   └── Flollama AI

Database
   └── Firebase

11. Slide Generation Logic (Core Idea)

We do NOT rely on raw AI text.

Instead:

AI → structured output → controlled rendering


AI Response Format

  • Visible message (for user)
  • Hidden code (for system)

The UI only shows:

clean output

System uses:

structured logic internally


12. Export Pipeline (Upcoming)

We will:

Convert structured output into:

  • HTML
  • Markdown
  • CSS layouts
  • OR custom JS

Then:

Use an npm library to render and export PPT/PDF


Strategy

  • Not building PPT engine from scratch
  • Find best library
  • integrate fast

13. ❗ Critical Technical Decision

No Python Required for Core System

This project is built on:

  • Next.js
  • TypeScript
  • TailwindCSS
  • Figma
  • Flollama AI system

Meaning

We are NOT building a Python backend.


Why

  • System already exists in JS
  • Integration tightly coupled
  • Switching = delay + complexity + bugs

Python Devs Still Important

For:

  • prompt engineering
  • testing
  • feedback
  • structure optimization

14. 👥 Team Roles


👑 Pratyush

Role: System Architect + Full Stack + Product Lead

  • Built core system
  • Handles architecture decisions
  • Controls AI pipeline + integration
  • Oversees final product

🧑‍💼 Abdull Manan

Role: Manager / Coordination / HR

  • Keeps team aligned
  • Tracks tasks
  • Ensures participation
  • Helps in presentation + documentation

🐍 Haziq

Role: AI Support + Prompt Engineering

  • Improve prompt quality
  • Test structured outputs
  • Help refine AI responses

🐍 marvelous

Role: Backend Logic Research / AI Structuring

  • Explore alternative generation flows
  • Help optimize content structure
  • Assist in export logic research

🎨 vquclinh.04

Role: Frontend Enhancement

  • UI polish
  • UX improvements
  • Component refinement

🔐 lpha

Role: Cybersecurity

  • Firebase rules
  • Data validation
  • Security testing

15. What’s Actually Left To Build

Core

  • Dashboard refinement
  • Landing page
  • Improve AI → structure quality
  • Firebase auth + DB
  • Background renderer + exporter
  • AI dual response (message + hidden code)
  • Master prompt engineering
  • UI polish

16. Legal & Ownership

Project belongs to Flollama UnInc.

  • Licensed under FUNL v1.0
  • Non-commercial use only
  • Attribution required

Terms of Service

See full Terms:


Privacy Policy

  • User data collected for improvement
  • Not fully end-to-end encrypted
  • Stored for analytics and performance

17. Final Note

This project is not starting.

It is already built.

Now we:

refine → complete → present


18. iykyk

If you get it, you get it. If you don’t… read again 😏

Clone this wiki locally