02report F 1
02report F 1
02report_f_1.pdf
Delhi Technological University
Document Details
Submission ID
trn:oid:::27535:97857111 40 Pages
Download Date
File Name
02report_f_1.pdf
File Size
10.7 MB
0 Missing Citation 0%
Matches that have quotation marks, but no in-text citation
Integrity Flags
0 Integrity Flags for Review
Our system's algorithms look deeply at a document for any inconsistencies that
No suspicious text manipulations found. would set it apart from a normal submission. If we notice something strange, we flag
it for you to review.
0 Missing Citation 0%
Matches that have quotation marks, but no in-text citation
Top Sources
The sources with the highest number of matches within the submission. Overlapping sources will not be displayed.
1 Internet
dspace.dtu.ac.in:8080 1%
2 Submitted works
3 Internet
www.coursehero.com <1%
4 Submitted works
5 Submitted works
6 Submitted works
7 Submitted works
8 Submitted works
9 Internet
www.dspace.dtu.ac.in:8080 <1%
10 Submitted works
11 Submitted works
12 Submitted works
13 Submitted works
14 Submitted works
15 Submitted works
16 Submitted works
17 Submitted works
18 Submitted works
19 Internet
pergamos.lib.uoa.gr <1%
20 Submitted works
21 Internet
eoscfuture.eu <1%
22 Submitted works
23 Submitted works
24 Submitted works
25 Submitted works
26 Submitted works
27 Internet
ece.anits.edu.in <1%
28 Submitted works
29 Submitted works
30 Submitted works
31 Submitted works
32 Submitted works
33 Internet
edoc.pub <1%
34 Internet
icandecide.org <1%
35 Submitted works
36 Submitted works
i
Encorp AI
( AI-powered slide generator)
1 A PROJECT REPORT
SUBMITTED IN PARTIAL FULFILLMENT OFTHE
REQUIREMENTS FOR THE AWARD OF DEGREE
OF
BACHELOR OF TECHNOLOGY
IN
SOFTWARE ENGINEERING
Submitted By
Md Rizabul
4 (2K22/SE/114)
Shahrukh Khan
(2K22/SE/160)
ii
CANDIDATE’S DECLARATION
We, Md Rizabul (2K22/SE/114) and Shahrukh Khan (2K22/SE/160), students of B.Tech (Software
3 Engineering) declare that the project report titled “Encorp-AI(AI-powered slide generator)” which
Delhi in partial fulfillment of the requirement for the award of the degree of Bachelor of
Technology, is original and not copied from any source without any proper citation. This work has
not previously formed the basis for the award of any Degree, Diploma Associateship, Fellowship or
1 other similar title or recognition. The work has been accepted in peer reviewed Scopus indexed
9 iii
CERTIFICATE
35 We hereby certify that the project titled “Encorp-A1(AI-powered slide generator)”, which is
2 submitted by Shahrukh Khan, Roll No: 2K22/SE/160 and Md Rizabul, Roll No: 2K22/SE/114,
the requirement for the award of the degree of Bachelor of Technology, is a record of project work
carried out by students under my supervision. To the best of my knowledge, this work has not been
submitted in part or full for any Degree or Diploma to this University or elsewhere.
iv
6
ACKNOWLEDGEMENT
We would like to express our gratitude and appreciation to all those who gave us the opportunity to
complete this dissertation. Special thanks to our supervisor in charge, Ms. Priya Singh, Department
6 of Software Engineering whose help, stimulating suggestions and encouragement helped and guided
us for the completion of the project undertaken by me. It is with their supervision that this work
1 came into existence. We would like to thank the department of Software Engineering for providing
the infrastructure, facilities and opportunity to work in this knowledgeable project that helped me to
learn new things about this burning technology. We also want to give our special thanks to all our
fellow mates who supported us in every course and provided their valuable ideas and thoughts to us.
2K22/SE/160 2K22/SE/114
V
ABSTRACT
In the age of rapid digitization and content generation, the demand for high-quality, visually
appealing, and contextually accurate presentations has surged across industries, academia, and
enterprises. However, creating professional slide decks manually can be time-consuming, repetitive,
and creatively taxing for users, especially when working under tight deadlines. To address this gap,
Encorp presents an AI-powered solution that automates the generation of complete presentation
This project leverages the power of Next.js for front-end development, Supabase for authentication
and data storage, and Gemini API to generate human-like slide content. Users can simply enter a
topic, select the desired number of slides, and choose a presentation style to receive a ready-to-
download .pptx file. Features such as user authentication, history tracking, preview before export,
and theming have been seamlessly integrated using React, TailwindCSS, NextAuth, and
PPTXGenJS.
Encorp not only saves time and effort but also ensures consistency, clarity, and customization,
making it an ideal tool for students, professionals, and educators. The application demonstrates the
potential of large language models in practical real-world applications, and paves the way for future
enhancements such as voice input, multilingual support, and deeper integration with cloud
collaboration tools.
vi
CONTENTS
TITLE PAGE I i
1 CANDIDATE’S DECLARATION ii
CERTIFICATE iii
ACKNOWLEDGEMENT iv
ABSTRACT v
CONTENTS vii
1 CHAPTER 1 INTRODUCTION 1
1.1 Background and Motivation 1
1.2 Problem Statement 2
1.3 Signi cance of the project 3
CHAPTER 2 OBJECTIVES 4
2.1 Primary Objectives 4
34 2.2 Technical Objectives 4
2.3 Educational Objectives 4
2.4 User-Centric Objectives 5
2.5 Validation Objectives 5
2.6 Future-Oriented Objectives 5
CHAPTER 3. SYSTEM ARCHITECTURE 6
3.1 User Interface 6
3.2 Backend Logic 7
3.3 Redis Queue and Worker Architecture 8
18 3.4 Export and File Generation Module 9
3.5 Deployment Architecture 10
3.6 Architectural Advantages 11
3.7 Database Layer 11
3.8 Scalability and Reliability 11
CHAPTER 4 METHEDOLOGY 12
4.1 Frontend 12
4.2 Backened 13
4.3 Database 14
4.4 API integration 15
CHAPTER 5 FEATURES 16
5.1 Authentication System 16
5.2 Dashboard 16
APPENDICES 33
1
19 CHAPTER 1
INTRODUCTION
In today’s fast-paced world, creating professional slide decks quickly and effectively is more
important than ever — whether it's for pitches, classrooms, or internal briefings. However, most
people either struggle with structuring their thoughts into clear slides or end up spending too much
time formatting presentations rather than focusing on content. That’s where this project — an AI-
powered slide generation platform — comes in.
The core idea is simple: what if you could type a prompt like “Create a presentation about the
impact of AI in education”, and instantly receive a structured slide deck — complete with bullet
points, descriptions, and ready-to-export formats like PDF or PPT? That’s the experience we aimed
to deliver by combining the power of Google’s Gemini AI with a fast, scalable, and modular
backend architecture.
But beyond the user experience, this project was also an opportunity to explore how real-time,
event-driven systems can be built in a resource-efficient way. Instead of overloading the server with
constant polling or making the AI process run synchronously, we built a Redis-backed job queue
that triggers Golang worker services the moment a task arrives. This makes the system fast, cost-
effective, and highly scalable — especially useful when more users and tasks are introduced.
The motivation for building this project was both practical and academic. On one hand, we wanted
to simplify a task that many people do daily — making slides. On the other, we were curious to
explore how modern backend patterns (job queues, workers, AI integrations) can be built and
deployed efficiently using tools like Redis, EC2, and cloud APIs.
Looking ahead, there are many directions for growth: adding cloud uploads to S3 or Cloudinary,
enabling image generation for richer visuals, and expanding the use of AI to include things like
voice-to-slide generation or multilingual presentation support.
In short, this project represents a blend of real-world utility and deep backend engineering, all
centered around making everyday workflows smarter with AI.
Despite the rise of generative AI, there is still a gap in tools that allow users to go from a raw idea
or prompt to a fully usable presentation with minimal manual effort. Existing AI-based tools either
lack customizability, suffer from slow processing, or do not provide export options in standard
formats like PDF or PPT.
Additionally, many AI-integrated applications suffer from inef cient backend designs, leading to
high latency, resource wastage due to constant polling, and poor scalability when multiple users
interact with the system simultaneously.
• How to provide users with exportable and editable formats of the generated output.
This project proposes a solution that combines Gemini AI, Redis-based job queueing, and a
microservice-based architecture to provide a fast, reliable, and user-friendly slide generation tool.
The goal is to bridge the gap between idea generation and professional presentation — all within a
few clicks.
This project holds signi cance both in practical application and in the technical approach it adopts.
In an age where speed, clarity, and automation are crucial, the ability to instantly convert ideas into
structured slide presentations can save valuable time and effort for students, educators,
professionals, and businesses alike.
From a user perspective, this platform transforms a tedious and repetitive process into a seamless
experience. By simply entering a prompt, users receive AI-generated, ready-to-export slides —
reducing the time required for content research, slide structuring, and formatting.
From a technical standpoint, the project demonstrates a robust and scalable architecture that
embodies real-world software engineering practices. It combines multiple cutting-edge technologies
— including:
• And export options (PDF and PPT) to meet practical user needs.
This makes the project a valuable reference for building AI-integrated systems with real-time
capabilities and resource-ef cient designs.
Moreover, the platform contributes to a growing interest in AI-as-a-service, showing how large
language models can be practically applied beyond chat interfaces — into structured document
generation, automation tools, and knowledge delivery systems.
By bridging user-friendliness with technical sophistication, this project not only solves a common
problem but also serves as a blueprint for future AI-driven productivity tools. Its modular and
scalable architecture opens doors for further innovations such as image integration, voice-based
input, team collaboration features, and enterprise-grade deployment.
4
CHAPTER 2
OBJECTIVES
This chapter outlines the various goals this project aims to achieve, categorized into primary,
technical, educational, user-centric, validation, and future-oriented objectives.
• To develop a web-based platform that generates structured slide presentations from natural
language prompts using AI.
• To automate the process of slide creation, minimizing the manual effort needed for research,
structuring, and formatting.
• To integrate Gemini AI for processing and generating slide content from user prompts.
• To design and implement a Redis-backed job queue system for asynchronous task
management.
• To develop a Golang-based worker that consumes tasks and interacts with the Gemini API.
• To build a secure and scalable Node.js backend for authentication, API handling, and
database interactions.
• To implement PDF and PPT export functionalities using jsPDF and pptgenx.
• To deploy the application efficiently using Vercel (frontend) and AWS EC2 (backend and
worker services).
• To explore and apply advanced concepts in Redis, Pub/Sub systems, and queue-based
workflows.
• To enhance proficiency in using cloud platforms (AWS, Vercel) and DevOps practices
(environment setup, deployment, scalability).
5
2.4 User-Centric Objectives
• To provide users with a simple, intuitive interface to generate and preview slide content.
• To enable export options (PDF and PPT) that match user expectations for convenience and
usability.
• To offer a consistent and bug-free experience across different devices and browsers.
• To validate the correctness and coherence of slide content generated by the AI.
• To evaluate system performance in terms of latency, error handling, and queue reliability.
• To test the scalability of the system under varying loads by simulating multiple user
prompts.
• To evolve the platform into a broader AI productivity tool, expanding beyond slide
generation.
6
CHAPTER 3
SYSTEM ARCHITECTURE
The system follows a modular, event-driven architecture, combining a modern web frontend with a
7 robust backend and asynchronous worker services. It is designed for responsiveness, scalability, and
efficient integration with AI services. This chapter elaborates on the roles and technologies of each
component involved in the system.
The user interface is the primary point of interaction for end-users, allowing them to input prompts,
preview slide content, and export the results. It emphasizes simplicity and responsiveness to ensure
a smooth user experience.
Technologies Used:
Framework: Next.js (v14.1.3) – React-based framework for server-side rendering and routing
Component Libraries:
• Radix UI: Multiple packages for accessible and customizable components (modals,
dropdowns, sliders, dialogs)
Export Tools:
Analytics: @vercel/analytics
The backend acts as the central control system, handling client requests, authentication, and
communication with both the database and Redis-based queueing system.
Key Responsibilities:
Technologies Used:
• Framework: Express.js
Key Responsibilities:
Technologies Used:
• Redis: Manages task queue and Pub/Sub for event-driven job triggering
• AWS EC2
The core innovation of this system lies in its asynchronous and event-driven background
processing. Tasks are decoupled from the main user request, enabling faster responses and high
throughput.
Key Responsibilities:
Technologies Used:
Workflow Summary:
5. Once processed, the result is pushed back to Redis and job status is updated.
6. Frontend polls backend until job status is marked "completed", then displays the slides
Figure A1
3.4 Export and File Generation Module
This module handles the conversion of structured slide content into downloadable formats such as
PDF and PPT.
Responsibilities:
• Supports:
10
Future Enhancements:
• Cloud uploads
A cloud-based deployment approach ensures high availability and performance for the system
components.
• Backend & Golang Worker: Deployed on AWS EC2, managed via environment variables
• Redis & PostgreSQL: Can be self-hosted or obtained from Upstash, Aiven, or Supabase
11
Responsibilities:
• Store authentication sessions (when using Supabase Auth or NextAuth.js with a database
adapter).
• Serve as a reliable storage point in case Redis data is lost after TTL expiry.
12
CHAPTER 4
METHEDOLOGY
The development of Encorp-AI followed a modular and scalable approach, combining robust
backend processing, efficient job queuing, and a modern frontend interface. Each component of the
system was developed to fulfill specific roles while maintaining interoperability with others.
4.1 Frontend
The frontend of Syncify is responsible for the user-facing part of the application, where users
12 interact with the system through a visually appealing and functional interface. It was developed
using Next.js, a React-based framework, and styled with Tailwind CSS.
12 ◦ Built with Tailwind CSS to ensure a responsive layout across various devices.
◦ Components adapt seamlessly to mobile, tablet, and desktop resolutions.
16 2. Server-Side Rendering (SSR) and Static Site Generation (SSG):
◦ Next.js's SSR ensures fast page loads and better SEO by pre-rendering pages on the
server.
◦ Pages requiring real-time updates leverage Client-Side Rendering (CSR).
3. User-Friendly Workflow Management:
13
Technology Stack:
• State Management: React Query for API data caching and mutation
Approach:
• Developed reusable components for slide creation, prompt input, and job status updates.
• Implemented dynamic routes and API integration using Next.js app and pages directory
structure.
4.2 Backend
The backend of Syncify was developed using Node.js and Express.js, providing the logic and
services necessary to process requests and execute workflows. This layer acts as the system's brain,
28 ensuring smooth communication between the frontend, database, and external APIs.
Key Responsibilities:
1. User Authentication and Authorization: Handles secure user login and access control
using JWT (JSON Web Tokens).
2. Workflow Processing: Manages the creation, modification, and execution of user-defined
automation workflows.
3. API Communication: Facilitates interactions with third-party services (e.g., Slack, Twitter)
via RESTful APIs.
4. Error Handling: Logs errors and provides appropriate responses to the frontend.
14
Technology Stack:
Approach:
• Designed RESTful APIs for login, prompt submission, and job tracking.
• Validated API requests using Zod schemas to ensure strict input/output structure.
4.3 Databse
Technology Stack:
• Database: PostgreSQL
Approach:
• Structured relational schema with normalized tables: users, jobs, responses, sessions.
• Utilized Supabase’s real-time and Auth features for simplified user/session management.
15
24 1. Users Table: Stores user information such as id, name, email, password_hash.
2. Work ows Table: Tracks work ows with details like id, user_id, trigger,
actions, and status.
3. Logs Table: Records logs with elds such as id, workflow_id, timestamp, and
execution_result.
Integration Details:
• Used HTTP status codes to indicate job lifecycle (202 Accepted, 200 OK, 500 Error).
Third-Party APIs:
• Gemini API (Google AI Studio): Used in Golang Worker to process prompt and receive
structured content.
• Redis Pub/Sub API: Used for worker notification and real-time task dispatch.
16
CHAPTER 5
Features
Encorp-AI is a next-generation AI-powered slide generation platform that allows users to transform
textual descriptions into professional presentations with ease. The platform combines seamless UI,
intelligent backend processing, and integration with AI models to deliver accurate and well-
structured presentation slides. Below are the key features of the system:
25 • New users can create an account securely using an email and password combination.
• Form validation ensures proper input format using react-hook-form and zod.
• Users remain logged in across sessions until they explicitly sign out.
5.1.4 Logout
• Secure logout mechanism to terminate session and redirect to homepage or login page
• .
5.2 Dashboard
17
•
5.3 Create Presentation
• Prompt Input: Users can describe the topic in natural language (e.g., "Explain quantum
computing to beginners").
• Number of Slides: Specify how many slides the generated presentation should contain.
• Presentation Style Selector: Choose the tone or aesthetic (e.g., academic, minimalist,
business, creative).
◦ Users are redirected to a status page while the job is being processed.
Features:
• Polling Mechanism: Frontend periodically checks job status via GET /api/status/:jobId.
• Status Indicators: Show current job progress (e.g., "In Progress", "Generating",
"Completed")
18
◦ Slide Title
Output Features:
• Utilizes Radix UI components for accessibility compliance (keyboard nav, ARIA tags).
• Toast Notifications: Inform users of actions like job submission, errors, or download
completion using sonner.
19
CHAPTER 6
TECHNOLOGY STACK
The Encorp-AI project leverages a robust, scalable, and modern technology stack that ensures high
performance, maintainability, and a seamless user experience. The system is composed of multiple
layers including the frontend, backend, database, APIs, third-party integrations, and deployment
7 tools. Below is a comprehensive breakdown of all the technologies used in the project:
26 The frontend of Encorp-AI is built using Next.js, a React-based framework optimized for server-
side rendering, routing, and performance. It delivers a fast, interactive, and accessible user interface.
Technology Purpose
7 Next.js (v14+) React framework for SSR, routing, and optimized builds
React (v18.2) Core UI library
The backend handles business logic, job management, user authentication, and API requests. It uses
Next.js API Routes combined with background workers.
20
Technologies Used:
Technology Purpose
6.3 Database
15 Data such as user credentials, job submissions, and history are stored in a reliable and scalable
relational database. Supabase (PostgreSQL-based) was chosen for its seamless integration with
Next.js and real-time capabilities.
Technologies Used:
Technology Purpose
Supabase DB (PostgreSQL) Used as the primary database for storing users, jobs, and metadata
At the core of Encorp-AI lies the integration with large language models to generate slide content.
APIs are used for prompt submission and polling the result.
21
Technologies Used:
Technology / Service Purpose
REST APIs (internal) For job status, creation, and fetching of results
Axios API client used for HTTP requests between frontend and backend
Efficient state and cache management is essential for smooth user experience and real-time
feedback on jobs.
Technology Purpose
TanStack React Query Caching, refetching, and managing async server state
Next.js ISR / SSR Optimizing data rendering and performance
To ensure scalability and responsiveness, heavy slide-generation tasks are of oaded to a job queue
system.
Technology Purpose
Redis In-memory job queue storage
BullMQ / Custom Queue Worker Background job processing engine
Polling with React Query To periodically check the status of the user job
22
Technology Purpose
Vercel Frontend and backend deployment (Next.js optimized platform)
@vercel/analytics Real-time performance and usage insights
Supabase Hosting Manages authentication and database
GitHub Version control and collaboration
CI/CD via Vercel Automatic deployment on push to main branches
Tool/Library Purpose
23
CHAPTER 7
IMPLEMENTATION
The development of Encorp-AI was done with a user-first approach, aiming to make the slide
creation process as seamless and intelligent as possible. This chapter provides an overview of how
different components of the application were implemented, starting from authentication to slide
generation, all the way to downloading final presentations.
The project uses Supabase Auth to manage user authentication. It supports traditional email and
password login. Passwords are securely hashed and stored, and sessions are managed using secure
JWT tokens. Users must log in to access features like creating slides, viewing history, or managing
their dashboard.
• Signup includes validation using React-Hook-Form and Zod to ensure data integrity.
• On successful signup or login, a session is created and stored in cookies using Next-Auth or
Supabase's built-in session manager.
• Protected routes ensure users must be authenticated to access dashboard and create pages
Once logged in, users land on the dashboard. This page acts as a central hub for tracking previous
slide generation requests.
• The frontend fetches the user's job history using React Query to ensure smooth data
fetching and caching.
• Each job entry displays its status (e.g., pending, generating, completed) and has options to
preview, download, or regenerate slides.
• If no jobs are present, the user sees a friendly message encouraging them to create their first
slide
29 The /create page is the heart of the application. It allows users to input the required details for their
AI-generated presentation.
Features include:
24
• All inputs are validated in real-time using Zod and React Hook Form.
• This creates a background job and stores its metadata in the Supabase database.
• The backend formats a prompt and sends it to the OpenAI GPT API (either GPT-3.5 or
GPT-4).
• The API responds with structured slide content broken down into a title, bullet points, and
optionally speaker notes.
• The frontend polls the backend every few seconds using React Query’s polling feature to
check if the job is complete.
• Here, slides are shown one by one, styled with TailwindCSS and responsive to different
screen sizes.
This adds flexibility depending on how the user wants to present or edit the slides.
25
The entire interface is fully responsive and supports both light and dark themes.
• Theme switching is handled by Next-Themes, with user preferences saved in local storage.
• UI components use Shadcn/UI and Radix UI to offer a polished and interactive experience.
• Sonner is used for showing toast notifications — success on job creation, errors, and other
messages.
• Edge cases like empty inputs, API failure, or job timeout are gracefully handled with
appropriate alerts.
• If a job fails or the AI returns an incomplete response, the system retries once or shows an
error notification.
• The application is hosted on Vercel, which ensures fast and reliable global delivery.
• Backend APIs and server-side rendering are handled by Next.js’s built-in features.
• The database and authentication services are powered by Supabase, hosted and managed
with real-time updates.
• Forms, dropdowns, and modals are enhanced using Radix UI primitives.The loading and
transition animations are added using Framer Motion to keep the user engaged during
interactions.
26
CHAPTER 8
RESULT
Figure B1
27
8.2 Dashboard:
Dashboard includes all the previous PPT completed by the user and provides button for creating new one
Figure B2
Figure B3
8.4 progress animation
28
Figure B4
Here user can preview before any export, using next and previous buttons
Figure B5
29
8.6 Exporting slides/presentation
Can be done by using export button in top right corner either in PPT or PDF form
Figure B6
Figure B7
30
27 CHAPTER 9
9.1 Conclusion
The development of Encorp-AI has successfully demonstrated how arti cial intelligence can
streamline the process of creating high-quality, visually appealing presentations. By integrating
30 OpenAI's language models with modern web technologies such as Next.js, Supabase,
TailwindCSS, and Radix UI, we built an application that is not only technically robust but also
intuitive and user-friendly.
• A powerful AI-backed slide generation engine that transforms user inputs into structured,
styled slides.
• Support for PDF and PPTX downloads, giving users exibility in how they utilize the
generated content.
The system has been tested across multiple use-cases like business pitches, educational content, and
short topic summaries, and has shown strong results in all scenarios
While the current version of Encorp-AI provides a solid foundation, there are several areas for
potential enhancement and expansion:
• Support for inserting images, graphs, or charts automatically using AI and APIs (e.g.,
Unsplash or DALL·E).
2. Voice Support
3. Team Collaboration
31
• Integration with Google Drive or Notion for shared editing and version control.
4. Presentation Editor
• Introduce a WYSIWYG editor that allows users to tweak fonts, colors, and layout directly
before download.
5. Template Marketplace
• Add a feature for selecting or purchasing premium templates, or even allowing users to
upload and sell their own.
6. Multi-language Support
• This would make the tool globally accessible, especially for educational purposes.
7. Mobile App
• A lightweight mobile version (built with React Native or Flutter) could allow users to
generate and review slides on the go.
• Track how users are using their slides: number of downloads, shares, or presentation
feedback.
32
REFERENCES
32 The following resources and materials were consulted during the development of the project to
ensure the use of best practices and modern technologies:
5 [6] React Hook Form Team, “React Hook Form Documentation,” [Online]. Available: https://react-
hook-form.com. [Accessed: May 25, 2025].
11 [10] jsPDF Contributors, “jsPDF: PDF generation for the browser,” GitHub. [Online]. Available:
https://github.com/parallax/jsPDF. [Accessed: May 25, 2025].
11 [14] GitHub, “Various open-source libraries used in development,” [Online]. Available: https://
github.com. [Accessed: May 25, 2025].
33
APPENDIX
Appendix A – Diagrams
Package Purpose
next React framework for SSR
tailwindcss CSS utility- rst framework
supabase-js Backend as a Service (BaaS) and Auth
next-auth User authentication
axios HTTP requests
pptxgenjs Generate downloadable PowerPoint les
17 react-hook-form Form management
zod Schema validation
framer-motion Animations