Internship Project Report
on
CodeHelp Red
Submitted in partial fulfillment of the requirement for the Degree
Master of Computer Applications
Submitted by
Kuldeep Saini
(23234747032)
Under the guidance of
Dr. Ankit Rajpal Mr. Love Babbar [Link]
(Assistant Professor) (CEO) (CTO)
Department of Computer Sorting CodeHelp Sorting CodeHelp
Science Technologies Pvt Ltd. Technologies Pvt Ltd.
DEPARTMENT OF COMPUTER SCIENCE
UNIVERSITY OF DELHI
Academic Year 2024-2025
Declaration
I hereby declare that the work which is being presented in this project, entitled “Codehelp Red”
is an authentic record of my work, is free of plagiarism, and has sufficient grammatical clarity to
be examined and carried out at Sorting Code Help Technologies Pvt Ltd., Delhi, India, as a re-
quirement of four months of Industrial Training for the award of the degree of MSc under the
supervision and guidance of Mr Love Babbar, CEO, Sorting Code Help Technologies Pvt Ltd.
Mr. Laskhay, CTO, Sorting Code Help Technologies Pvt Ltd. and Dr. Ankit Rajpal, Assistant
Professor, Department of Computer Science, University of Delhi
Date : Kuldeep Saini (Roll No:23234747032)
Place : New Delhi
Certificate
This is to certify that this work has been carried out by Kuldeep Saini (Roll No:23234747032) at
Sorting Code Help Technologies Pvt Ltd. under the joint supervision of Mr Love Babbar, CEO,
Sorting Code Help Technologies Pvt Ltd., Mr. Laskhay, CTO, Sorting Code Help Technologies
Pvt Ltd. and Dr. Ankit Rajpal, Assistant Professor, Department of Computer Science, University
of Delhi. This work has been carried out for the partial fulfilment of the requirements for the
degree of MSc in the Department of Computer Science, University of Delhi. This project has not
been submitted anywhere for the purpose of any other degree or diploma.
Dr. Ankit Rajpal Mr. Love Babber
(Assistant Professor) (CEO)
Department of Computer Science Sorting Code Help Technologies Pvt Ltd.
University of Delhi
Prof. Neelima Gupta Mr. Lakshay
(Head) (CTO)
Department of Computer Science Sorting Code Help Technologies Pvt Ltd.
University of Delhi
4
Acknowledgement
I express my profound gratitude and deep regard for my supervisor, Dr. Ankit Rajpal, for
his exemplary guidance, monitoring and constant encouragement throughout this project. The
blessing, help, and guidance given by him from time to time shall carry me a long way in the
journey of life on which I am about to embark.
I am thankful to Mr. Love Babbar and Mr. Lakshay for allowing me to work on this
challenging project. I am also grateful to Sorting Code Help Technologies Pvt Ltd. for allowing
me to work with them and undertake a project of such importance.
I also take this opportunity to express a deep sense of gratitude to the members of Team
CodeHelp for their cordial support, valuable information, and guidance, which helped me complete
this task through various stages. The present work would not have taken this shape without their
suggestions and valuable input.
My stay in the organisation has been a great learning experience and a curtain-raiser to an
interesting and rewarding career. This exposure has enriched me with technical knowledge and
introduced me to the attributes of a successful professional.
Finally, I would like to thank Prof. Neelima Gupta, Head, Department of Computer Science,
the University of Delhi, for giving me the opportunity to carry out this project at Sorting Code
Help Technologies Pvt Ltd.
Kuldeep Saini
(23234747032)
Abstract
[Link] is a comprehensive online platform dedicated to empowering individuals with the
skills and knowledge needed to succeed in the ever-evolving world of technology. With a focus
on practical, hands-on learning, CodeHelp offers a wide range of courses, tutorials, and resources
designed to help learners at all levels—from beginners to seasoned professionals. The report de-
scribes the internship journey and the project “CodeHelp Red” I undertook in detail.
The internship project involved developing and maintaining CodeHelp Red—a unified plat-
form specifically designed for computer science students preparing for placements. The platform
integrates multiple learning modules including a comprehensive dashboard, problem-solving en-
vironment, quiz platform, recorded lecture system, and ticketing support system. Key technical
contributions included migrating the content management system from Strapi[1] to Sanity, imple-
menting secure authentication mechanisms, developing interactive user interfaces using modern
web technologies, and creating scalable backend services.
The project utilised a modern technology stack including [Link] for frontend development,
TanStack Query[2] for data fetching, Zustand for state management, Sanity as the headless CMS,
[Link] for backend services, JWT[3] for authentication, Redis for caching, and AWS for cloud
deployment. The development followed Agile[4] methodology with two-week sprint cycles, ensur-
ing iterative delivery and continuous improvement.
The report concludes with key learnings in modern web development frameworks, cloud tech-
nologies, database management, user experience design, and professional software development
methodologies that will serve as a foundation for future technology career endeavors.
Contents
1 Introduction 1
1.1 Company Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 About Team 3
2.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Team Introduction and Composition . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 About Project and Activities Performed 4
3.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 My Learnings and Contribution to the Project . . . . . . . . . . . . . . . . . . . . . 5
3.2.1 Initial Hands-on Training Activity . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Software Development Methodology 7
4.1 Agile Software Development Methodology . . . . . . . . . . . . . . . . . . . . . . . 7
4.1.1 Agile Project Life Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5 Internship Report 9
5.1 Requirement Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.2 Timeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.3 Activity 1: Shifting to Sanity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.3.1 Week 1: Understanding Workflow, Shifting to Sanity, Testing APIs . . . . . 11
5.4 Activity 2: Building the Central Dashboard . . . . . . . . . . . . . . . . . . . . . . 12
5.4.1 Week 3: Creating a Unified Dashboard and Migrating Services . . . . . . . . 12
5.5 Activity 3: Multi-Module Feature Development . . . . . . . . . . . . . . . . . . . . 13
5.5.1 Week 6: Course Dashboard, Quiz Platform, and Recorded Lectures . . . . . 13
5.6 Activity 4: Building Problem-Solving Platform . . . . . . . . . . . . . . . . . . . . . 14
1
5.6.1 Week 9: Developing a Problem-Solving Platform and Integrating Frontend
with Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.7 Activity 5: End-to-End Testing and Bug Fixing . . . . . . . . . . . . . . . . . . . . 15
5.7.1 Week 12: Testing Complete Flow and Resolving Bugs . . . . . . . . . . . . . 15
5.8 Activity 6: Internal Ticketing System . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.8.1 Week 14: Developing a Ticket Resolving System . . . . . . . . . . . . . . . . 15
5.8.2 Week 16: Testing the Ticketing System and Resolving Bugs . . . . . . . . . 17
5.9 Activity 7: Refactoring Authentication System . . . . . . . . . . . . . . . . . . . . . 17
5.9.1 Week 18: Refactor, Test, and Deploy Authentication . . . . . . . . . . . . . 17
6 Conclusion 19
Chapter 1
Introduction
This chapter introduces the company and its operations, products, and services. It also describes
the team’s operations and role.
1.1 Company Introduction
Sorting CodeHelp Technologies Pvt. Ltd., widely recognised by its consumer-facing brand
CodeHelp, is a rapidly emerging EdTech company in India focused on delivering end-to-end
learning solutions for computer science students. Founded by Love Babbar, a former software
engineer at Amazon and Microsoft, the company was established with a mission to make high-
quality technical education accessible and practical for learners at all levels. Since its inception,
CodeHelp has grown significantly, gaining popularity among college students and aspirants prepar-
ing for software development roles in top tech companies.
The platform offers a wide range of digital learning products, including structured courses in
Data Structures & Algorithms, Web Development, and Object-Oriented Programming,
along with dedicated preparation material for core CS subjects like Operating Systems, DBMS,
1
and Computer Networks. One of its standout features is the Core Sheet, a progress-tracking tool
that helps users systematically master technical subjects. CodeHelp also provides quiz-based
assessments, a quick compiler for real-time coding, and both live and recorded lectures
to support diverse learning needs. The inclusion of the FlexBox Game, a gamified learning
experience, further enhances user engagement and consistency.
With a strong focus on content quality, interactive learning, and practical application, CodeHelp
has established itself as a trusted platform for students aiming to crack coding interviews, excel
in academics, or become industry-ready developers. The company’s consistent growth reflects its
commitment to innovation and its deep understanding of the student journey in the tech education
space.
2
Chapter 2
About Team
2.1 Objective
The CodeHelp team is actively working on project called CodeHelp Red, a comprehensive
platform designed specifically for computer science students preparing for placements. CodeHelp
Red brings together everything a student might need in one place , from problem-solving and quiz
practice to recorded lectures, progress analytics, and more. It’s a future-focused solution built to
simplify the placement preparation journey, offering a unique, all-in-one experience that sets it
apart from other platforms.
2.2 Team Introduction and Composition
I worked with Team CodeHelp for the duration of my internship. Mr. Love Babbar, CEO, assigned
the tasks. If I have any doubts or needs, I always get help from my buddy, Mr. Lakshay and other
team members.
The CodeHelp team is divided into three main units: backend, frontend, and testing. I was
primarily part of the front-end team, where I focused on building user-facing features. However, I
also collaborated with the backend team to help maintain and develop new functionalities for the
CodeHelp Red platform.
Note : The CodeHelp team owns end-to-end feature for the product.
The team constantly works on shipping new feature for the product and also improving the existing
features of the product.
3
Chapter 3
About Project and Activities Performed
3.1 Objective
The objective of CodeHelp Red is to create a well designed and maintained platform for all place-
ment students. Key objective includes:
1. Dashboard : Integrating a well designed dashboard where user can see all there course with
the analytics for each course. The dashboard also has many features intergrated like articles,
core subject sheets and paste featur, etc.
2. Problem Solving Platform : Designing and Developing complete problem solving plat-
form like Leetcode in which users can solve Dsa problems.
3. Quiz Platform : Developing a quiz platform where user can attempt quiz for different
subjects with a integrated leaderboard and analytics result.
4. Recorded Lecture : Developing a recorded lecture platform that not only streams lectures
but also has integrated features like quick quizzes, AI-powered doubt solving, notes, and
lecture summaries. All in one place to make learning more efficient and interactive.
5. Ticketing System : Developing a in house ticketing system for users with feature like
creating ticket and mangin tickets.
6. Maintainability : Checking the deployment on Aws amplify and Aws code pipelines. Also
maintaining existing code and removing bugs.
The following sections discuss the activities and tasks undergone during the whole internship
period, with contributions and learnings.
4
3.2 My Learnings and Contribution to the Project
3.2.1 Initial Hands-on Training Activity
To train the interns in basic company/team operations, several activities are performed, such as
providing information about CodeHelp architecture design, the tech stack used for the project, and
building and deploying rules for the project. Also there is a certain set of rules and regulations
on writing the code. ex- how to write and create a component or pass props. Also learned the
TypeScript[5] language.
1. Training and written documentation: CodeHelp and CodeHelp Red have dedicated
documentation that covers everything needed to work on the project. It includes detailed
guides on how to get started, the app’s core features, and specific functionality requirements.
The documentation is well-structured and explains each part clearly, making it easy for team
members to understand the project and contribute effectively.
Some topics covered include:
(a) CodeHelp Architecture
(b) Tech Stack used
(c) Deployment guide
(d) Code commit guide
(e) Debugging Process
2. Introduction to CodeHelp Red Team: With the intent of teaching the interns the
workings of the team and the kind of tasks the team deals with, a session for the introduction
to CodeHelp Red took place. It included the description of the architecture of the CodeHelp
Red with its general working and also the tech stack used in the project.
3. Knowledge Transfer Session: A basic overview of the project was shared with the interns,
including how the project works and the tech stack used. This session also served as a space
to clarify any doubts we had after going through the documentation.
4. Code Walkthrough: A detailed code walkthrough was conducted to help us understand
how the code works, the overall flow of the application, and the folder structure of the project.
5. Training: There is also a certcertaining for some particular technologies like Tanstack[2],
Zustand[6], Shadcn[7] and Nextjs[8].
Throughout the internship period, I have worked on many different things from developing a
problem-solving platform to deploying EC2 on AWS. I have also worked on maintaining the ex-
isting code and improving code. Also helped in developing and replacing the new authentication
5
system.
The following list describes the overall activities performed during this period:
1. Developing and Maintaining Codehelp Red
2. Change Authentication System
3. Shift Cms from Strapi[1] to Sanity
4. Maintaining code
5. Deploying on AWS
6. Developing a Ticketing System
The main goal of these activities is to create a smoother and more organised experience for
users, where everything they need is available in one place. To make this possible, the team uses a
range of modern tools and technologies. For the frontend, we use [Link] for building fast web apps,
TanStack Query[2] for handling data fetching, Zustand[6] for state management, and Sanity as the
content management system. On the backend, we rely on [Link], JWT[3] for authentication,
Redis[9] for caching, and BullMQ[10] to manage background tasks efficiently. AWS is used for
hosting and other cloud services, and ClickUp[11] helps us stay organised and manage our work.
All of these tools come together to support the development and maintenance of a reliable, scalable
platform that gives users the best possible experience.
6
Chapter 4
Software Development Methodology
This chapter describes the details of the software development methodology utilised. Scrum team
and sprint planning.
4.1 Agile Software Development Methodology
Agile[4] is a software development methodology that emphasises adaptability and takes a prag-
matic approach to delivering the final product. It requires a cultural change in organisations as
it prioritises the incremental delivery of individual software components rather than the entire
application.
4.1.1 Agile Project Life Cycle
Figure 4.1 illustrates the project life cycle typically followed in Agile software development. Agile
offers several benefits, including its ability to assist teams in navigating a changing landscape while
focusing on efficiently delivering business value. The collaborative culture fostered by Agile also
enhances overall organizational efficiency as teams work together and gain a clear understanding
of their respective roles in the process [4].
The different scrum teams have been allocated specific roles, and work is mostly done in
compliance with Sprint planning, which is a timeboxed duration of 2 weeks to target specific tasks.
7
Figure 4.1: Agile Project Life Cycle
Figure 4.2: Agile Product Development Story Workflow
8
Chapter 5
Internship Report
This chapter briefly describes the requirement analysis, internship timeline, technologies and tech
stacks learned and utilized for the internship project. These concepts create a foundation for the
tasks and activities done throughout the internship. The section discusses the approach used to
tackle the problem described. This also discusses the requirement analysis of the situation, with
my contribution to each task of the activity, learning, and tech stack used.
5.1 Requirement Analysis
.
The following sections describe the timeline along with the activities performed with the
workaround and my learning.
5.2 Timeline
The diagram below shows the timeline of activities performed during the internship period,
along with information about each week.
9
Figure 5.1: Internship-Timeline
10
Figure 5.2: Enter Caption
5.3 Activity 1: Shifting to Sanity
5.3.1 Week 1: Understanding Workflow, Shifting to Sanity, Testing
APIs
1. Problem Description: CodeHelp was initially using Strapi[1] as its CMS for managing
course content, announcements, and other structured data. However, we encountered recur-
ring issues such as frequent API timeouts, poor scalability, and deployment bottlenecks. The
existing Strapi[1] instance also had limitations in schema flexibility and collaborative editing.
2. Workaround: After analyzing several alternatives, we chose Sanity — a headless, cloud-
native CMS with real-time collaboration, flexible schema definitions, and strong support
for structured content via GROQ queries. I took the lead in understanding Sanity’s schema
language and restructured the entire CMS model based on existing Strapi[1] data. We rebuilt
schemas for courses, instructors, categories, FAQs, testimonials, and more. Data was then
imported using Sanity’s CLI tools.
3. My Learning: This activity deepened my understanding of:
• How headless CMSs like Sanity handle auto-scaling and uptime without infrastructure
management.
• Designing complex, nested schemas using JavaScript schema definitions in Sanity.
• Querying structured content using GROQ (Graph-Relational Object Queries), which
11
differs from GraphQL and REST[restful˙apis].
• Migrating data safely between two CMS systems and aligning backend API responses
with new content structures.
5.4 Activity 2: Building the Central Dashboard
5.4.1 Week 3: Creating a Unified Dashboard and Migrating Services
1. Problem Description: As services grew in scope, managing them through isolated UIs
became inefficient. We needed a unified dashboard for the internal team (admin, operations,
instructors) to access and control various services including course management, quiz control,
ticket responses, and user analytics — all in one place.
2. Workaround: Using the provided Figma designs, I used the Shadcn[7] UI library to de-
velop a scalable and component-driven dashboard. To increase speed and maintain design
consistency, I experimented with AI tools like [Link][12] to generate skeleton components
and layout structures. The dashboard included:
• Course listing and management
• Quick links to lecture upload
• Status summaries (enrollments, active users)
• Ticket system shortcuts
Zustand[6] was used for local state management (e.g., modal visibility, pagination), and all
dashboard modules were connected to the backend via fetch or tRPC.
3. My Learning: Key takeaways included:
• Building modular UI components using Shadcn[7] (based on Tailwind and Radix UI).
• How to convert static Figma designs into dynamic frontend components using both
manual and AI-assisted workflows.
• Optimizing data fetching and minimizing re-renders using lightweight state management
libraries like Zustand[6].
• Creating scalable folder structures for future feature expansion.
12
Figure 5.3: Enter Caption
5.5 Activity 3: Multi-Module Feature Development
5.5.1 Week 6: Course Dashboard, Quiz Platform, and Recorded Lec-
tures
1. Problem Description: By Week 6, the platform had matured to a point where users
needed access to courses in a structured, interactive format. This included:
• A course dashboard to list all enrolled courses and track progress.
• An internal quiz platform to assess users.
• A secure, performant video lecture system.
2. Workaround: I divided the work into three core modules:
1. Course Dashboard: Designed and implemented a UI that displayed user-enrolled
courses, tracked module completion, and offered access to assignments, quizzes, and re-
sources. Used next-auth for session-aware loading and conditionally rendered data from
Sanity[13] and backend APIs.
2. Quiz Platform: Built an interactive quiz module supporting MCQs with timer func-
tionality, client-side validation, and server-side scoring. Used controlled React forms and
server actions to securely store results.
3. Recorded Lectures: Integrated lecture video playback using Mux and ImageKit. Imple-
mented signed playback URLs to prevent unauthorised sharing and allowed the last playback
13
using tpstream[tpsream] also made the lecture DRM protected.
3. My Learning: I gained practical experience in:
• Creating interactive UI patterns for user-centric workflows.
• Managing async actions (e.g., fetching videos, submitting quiz answers) and providing
loading states for smooth UX.
• Integrating with third-party platforms (Mux, ImageKit) for secure video delivery.
• Handling deeply nested frontend states for quizzes and user-course metadata.
5.6 Activity 4: Building Problem-Solving Platform
5.6.1 Week 9: Developing a Problem-Solving Platform and Integrating
Frontend with Backend
1. Problem Description: We wanted to add a competitive programming-style problem-
solving section where users could solve algorithmic problems, submit code, and get instant
feedback. The system needed to handle problem metadata, user code submission, and exe-
cution securely and efficiently.
2. Workaround: I designed a problem model with fields like title, difficulty, tags, and starter
code (all managed through Sanity[13]). The frontend included:
• A problem listing page with search and filters.
• A problem detail page with code editor (Monaco Editor[14]) and submission area.
• An output/result tab to show test case results.
The backend API was built using serverless functions ([Link] API routes). I implemented
a secure sandboxed code runner using Docker containers to execute user code in isolation.
3. My Learning:
• Hands-on experience building an interactive code editor in React.
• Managing real-time output of code execution and ensuring user code runs in isolated,
throttled environments.
• Synchronizing frontend submissions with backend results using polling and async re-
sponse streams.
• Building complex forms with validation in a highly interactive interface.
14
5.7 Activity 5: End-to-End Testing and Bug Fixing
5.7.1 Week 12: Testing Complete Flow and Resolving Bugs
1. Problem Description: After integrating multiple modules (dashboard, quizzes, problem-
solving, recorded lectures), we needed to test the entire user journey — from login to course
completion — and ensure all edge cases and inter-module dependencies were functioning
properly.
2. Workaround: I created various test users and manually walked through:
• Authentication, enrollment, lecture watching, quiz submission.
• Switching devices and maintaining user progress (via cookies & JWTs[3]).
• Checking error states like missing quizzes, failed video loads, unauthorized access.
Additionally, I used Cypress to automate a few regression tests. Bugs found during testing
were triaged into categories (frontend, backend, data-related) and resolved progressively.
3. My Learning:
• Gained expertise in writing end-to-end test cases and identifying hidden issues that only
appear under real-world usage.
• Improved debugging skills, especially around async API states and caching.
• Learned to track regressions and organize bug reports systematically for faster iteration.
5.8 Activity 6: Internal Ticketing System
5.8.1 Week 14: Developing a Ticket Resolving System
1. Problem Description: To streamline communication between users and support/admin
teams, we needed a ticket-based query resolution system within the dashboard. This would
allow users to raise technical issues or content queries and track their resolution status.
2. Workaround: I developed a ticketing module with two sides:
• User Side: Create a new ticket, view status, receive replies.
• Admin Side: View all tickets, filter by status, respond or mark resolved.
Each ticket had fields like subject, type (technical/content), message, status, and times-
tamps. Zustand[6] was used for ticket state management and optimistic UI updates were
implemented for fast response.
3. My Learning:
15
Figure 5.4: Enter Caption
16
• Learned to design conversational UI and manage bi-directional communication.
• Implemented role-based views with minimal duplication.
• Used debounce and throttling to limit backend calls during typing or ticket updates.
5.8.2 Week 16: Testing the Ticketing System and Resolving Bugs
1. Problem Description: Post-development, it was necessary to rigorously test all edge cases:
duplicate tickets, missing replies, role mismatch, spam prevention, etc.
2. Workaround: I simulated 20+ test cases with different users and tickets. Fixed bugs like:
• Tickets not updating in real-time.
• Unauthorized access to admin routes.
• Empty message submissions crashing the backend.
Also improved UI with skeleton loaders and auto-scroll to new replies.
3. My Learning:
• Became more comfortable designing reliable UIs for continuous two-way communication.
• Learned how to validate input at both frontend and backend layers for security and
usability.
• Strengthened my testing and debugging workflow.
5.9 Activity 7: Refactoring Authentication System
5.9.1 Week 18: Refactor, Test, and Deploy Authentication
1. Problem Description: The initial authentication system was based on client-only JWT[3]
and was prone to manipulation, lacked proper session handling, and didn’t support IP-based
rate limiting or device tracking.
2. Workaround: We completely refactored the authentication flow. Major improvements:
• Switched to a secure, cookie-based authentication strategy using httpOnly, secure,
and sameSite=strict flags.
• Implemented rate-limiting middleware (based on IP) using Redis[9] + rate-limit pack-
age to prevent brute-force login attempts.
• JWT[3] was still used for certain signed operations, but the core session was handled
server-side via encrypted cookies.
17
• Added logout, session refresh, and token expiry flow using NextAuth/jose + custom
handlers.
3. My Learning:
• Gained in-depth knowledge of authentication strategies, especially differences between
cookie-based sessions and token-based systems.
• Learned how to apply security best practices (CORS, CSRF, XSS prevention) in a real-
world app.
• Understood the trade-offs between SSR/CSR when dealing with user sessions.
18
Chapter 6
Conclusion
This chapter concludes the report with the key learnings and my experience with the internship
and project. It presents the tasks and activities I performed during the internship, listing what I
learned and contributing to the tools and technology utilized.
My contribution to the development and maintenance of CodeHelp Red involved implement-
ing comprehensive full-stack solutions, including migrating the CMS from Strapi[1] to Sanity[13],
developing an interactive problem-solving platform, building a unified dashboard, implementing
a quiz system with analytics, and creating a ticketing system for user support. Additionally, I
refactored the authentication system to enhance security through cookie-based sessions and rate
limiting.
With every task, I individually learned a lot of concepts in the modern web development
domain, such as [Link] ecosystem, the [Link] framework, state management with Zustand[6],
and headless CMS architecture. I also gained expertise in emerging technologies like TanStack
Query[2] for data fetching, Sanity’s[13] GROQ[15] query language, and cloud deployment using
AWS services. I learned about managing and testing large-scale applications using EC2 and
implementing CI/CD pipelines.
My primary task/project during the internship revolved around ‘full-stack development of
CodeHelp Red platform’, and I learned extensively about modern web development practices.
With hands-on experience building user-facing features and backend services, I learned about
professional coding standards, component-driven architecture, API design principles, and compre-
hensive documentation practices.
I also learned about many industrial tools and methodologies, such as Agile development
with sprint planning, version control using Git workflows, project management through Click-
Upciteclickup, and code quality assurance through systematic testing. The Agile development
19
methodology incorporated into the projects helped me learn about the professional software de-
velopment lifecycle and continuous improvement processes.
On the soft skills level, I significantly enhanced my team collaboration capabilities. Working
on industrial-level projects with tight deadlines gave me valuable exposure to managing multiple
concurrent tasks efficiently while maintaining code quality. The experience of presenting technical
solutions and documenting features substantially improved my communication and knowledge
transfer skills.
From a technical perspective, the experience strengthened my understanding of modern fron-
tend frameworks, scalable backend architecture, database optimisation, security best practices,
and cloud deployment strategies.
The mentorship provided by Mr. Love Babbar, Mr. Lakshay, and the entire CodeHelp
team, combined with academic guidance from Dr. Ankit Rajpal, created an optimal learning
environment that fostered both technical excellence and professional growth.
Lastly, my experience at CodeHelp has been exceptionally rewarding and transformative. The
learning curve I experienced working as an intern, representing my first substantial exposure to
professional software development, has been immensely fruitful. This internship has enhanced
my technical capabilities and provided a comprehensive understanding of modern software de-
velopment practices. The skills acquired and professional insights gained during this period will
undoubtedly serve as a strong foundation for future endeavours in the technology industry.
20
Bibliography
[1] Martin, Robert C. (2003). Agile Software Development [4]: Principles, Patterns, and Practices.
Prentice Hall.
[2] Vercel. (2024). [Link] Documentation - The React Framework for Production. Retrieved from
[Link]
[3] Microsoft. (2024). TypeScript - JavaScript with syntax for types. Retrieved from https://
[Link]/docs/.
[4] Pmndrs. (2024). Zustand - Bear necessities for state management in React. Retrieved from
[Link]
[5] TanStack. (2024). TanStack Query - Powerful data synchronization for TS/JS. Retrieved from
[Link]
[6] Shadcn. (2024). shadcn/ui - Beautifully designed components built with Radix UI and Tailwind
CSS[16]. Retrieved from [Link]
[7] [Link]. (2024). Sanity - The Composable Content Cloud. Retrieved from [Link]
[Link]/docs.
[8] Strapi. (2024). Strapi - Design APIs fast, manage content easily. Retrieved from https:
//[Link]/.
[9] Auth0. (2024). JSON Web Tokens Introduction. Retrieved from [Link]
introduction/.
[10] Redis Ltd. (2024). Redis - The open source, in-memory data store. Retrieved from https:
//[Link]/docs/.
[11] BullMQ Team. (2024). BullMQ - Premium Queue package for handling distributed jobs and
messages. Retrieved from [Link]
21
[12] Amazon Web Services. (2024). Amazon Web Services Documentation. Retrieved from https:
//[Link]/.
[13] [Link]. (2024). GROQ - Graph-Relational Object Queries. Retrieved from [Link]
[Link]/docs/groq.
[14] ClickUp. (2024). ClickUp - One app to replace them all. Retrieved from [Link]
[Link]/.
[15] TpStream retrieved from [Link]
javascript-sdk/player-events.
[16] Microsoft. (2024). Monaco Editor - The code editor that powers VS Code. Retrieved from
[Link]
[17] Tailwind Css. (2024). Tailwind CSS - Rapidly build modern websites. Retrieved from https:
//[Link]/docs.
[18] Vercel. (2024). v0 by Vercel - Generate UI with shadcn/ui from simple text prompts. Retrieved
from [Link]
[19] Smith, David and Wilson, Emma. (2023). Microservices Architecture Patterns and Best Prac-
tices. Software Engineering Today, Vol. 15, No. 3, pp. 45-62.
[20] Richardson, Leonard and Amundsen, Mike. (2013). RESTful Web APIs: Services for a Chang-
ing World. O’Reilly Media.
22