<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sumit Tiwari</title>
    <description>The latest articles on DEV Community by Sumit Tiwari (@sumit_tiwari_85f93699c3a7).</description>
    <link>https://dev.to/sumit_tiwari_85f93699c3a7</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4198234%2F29013c6b-6b56-4824-9897-af90757f8c7e.png</url>
      <title>DEV Community: Sumit Tiwari</title>
      <link>https://dev.to/sumit_tiwari_85f93699c3a7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sumit_tiwari_85f93699c3a7"/>
    <language>en</language>
    <item>
      <title>From Zero to Production: How I Shipped Responsive UIs During My Frontend Internship</title>
      <dc:creator>Sumit Tiwari</dc:creator>
      <pubDate>Wed, 21 Oct 2026 12:16:20 +0000</pubDate>
      <link>https://dev.to/sumit_tiwari_85f93699c3a7/from-zero-to-production-how-i-shipped-responsive-uis-during-my-frontend-internship-4o3a</link>
      <guid>https://dev.to/sumit_tiwari_85f93699c3a7/from-zero-to-production-how-i-shipped-responsive-uis-during-my-frontend-internship-4o3a</guid>
      <description>&lt;p&gt;Through my entire first semester of BTech, I didn't really know what I was doing.&lt;/p&gt;

&lt;p&gt;I'm Sumit, a student at PW IOI, a new-generation college. Nobody around me had a clear picture of how the industry worked, and neither did I. It took me time to understand what companies expect from a developer and what I needed to learn to get there.&lt;/p&gt;

&lt;p&gt;A few months later, I was working in an 11-person team, reading product requirement documents, reporting in daily scrum calls, and building responsive UIs in HTML, CSS and JavaScript on two-week deadlines.&lt;/p&gt;

&lt;p&gt;This post is about how that happened, what the internship was like day to day, and what I learned that no tutorial taught me. If you're a student who feels behind or lost, I wrote it mainly for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the first semester felt so confusing
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.pwioi.com/" rel="noopener noreferrer"&gt;PW IOI&lt;/a&gt; Pune is a new-generation college, so there isn’t a long line of seniors to guide you on what to learn, what to focus on, or what to avoid. During my first semester, I often felt unsure about how the tech industry worked, which skills I needed to develop, and where to start.&lt;/p&gt;

&lt;p&gt;I could follow lectures and finish assignments, but I couldn't answer basic questions: What does a developer actually do all day? How do teams build software together? What would a company expect me to know on day one? Without answers to those, it was hard to know what to practise.&lt;/p&gt;

&lt;p&gt;If you're a first-year student feeling the same way, that's normal. For me, the confusion didn't go away because I studied harder. It went away when I met someone who could show me the path.&lt;/p&gt;

&lt;h2&gt;
  
  
  The turning point: finding &lt;a href="https://pwleapx.com/" rel="noopener noreferrer"&gt;PW LeapX&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In February, I heard about &lt;a href="https://pwleapx.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;PW LeapX&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;PW LeapX is a program associated with PW IOI where students work on real-world projects in teams. For me, that meant building real projects with mentor guidance, working alongside other interns, and learning how a development team actually operates.&lt;/p&gt;

&lt;p&gt;The hiring process hadn't started yet, so I used that gap to prepare properly instead of waiting. My interview was in mid-March, and I was selected as a &lt;strong&gt;frontend developer&lt;/strong&gt;. I'm grateful to the two people who guided me through this stage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson:&lt;/strong&gt; preparation before an opportunity opens counts. I wasn't ready in February, but I had a few weeks to get ready before the interviews started, and those weeks made the difference.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the internship worked
&lt;/h2&gt;

&lt;p&gt;The internship began in &lt;strong&gt;May 2026&lt;/strong&gt; and ran for about three months. We worked under mentors, who guided us through the projects and the daily scrum calls.&lt;/p&gt;

&lt;p&gt;The structure looked like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Real-world projects.&lt;/strong&gt; We weren't given toy exercises. Each project came as a real brief.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The PRD comes first.&lt;/strong&gt; A product requirement document (PRD) was prepared for every project, and each intern (developer) had to read it before building.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Two weeks per project.&lt;/strong&gt; Each project had a two-week window, and we had to deliver properly within it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A team of 11.&lt;/strong&gt; Eleven interns worked on one project together, so coordination mattered as much as code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Daily scrum at 4 PM.&lt;/strong&gt; Monday to Friday, we had a scrum call with our mentors.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Starting with the PRD
&lt;/h3&gt;

&lt;p&gt;A PRD describes what a product should do and who it's for. Documents like this usually cover the goal of the project, the features required, and what counts as done.&lt;/p&gt;

&lt;p&gt;Reading it properly before writing code sounds obvious, but it matters. When 11 people read the same document, everyone builds toward the same target. When someone skims it, you find out later, usually when two people's work doesn't fit together.&lt;/p&gt;

&lt;h3&gt;
  
  
  What happens in a scrum call
&lt;/h3&gt;

&lt;p&gt;A scrum is a short, regular check-in. In ours, each of us explained what we had done the day before. If we were stuck, the mentors guided us right there.&lt;/p&gt;

&lt;p&gt;This sounds simple, but it changed how I work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can't hide when you're stuck. You have to say it, and then you get unstuck faster.&lt;/li&gt;
&lt;li&gt;You learn to summarize your work clearly and briefly, instead of rambling about everything you touched.&lt;/li&gt;
&lt;li&gt;You learn how to report to seniors professionally, which isn't something you pick up from coding videos.&lt;/li&gt;
&lt;li&gt;You see how other people are approaching their parts, which shows you problems before you hit them.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What we built
&lt;/h2&gt;

&lt;p&gt;Our stack was &lt;strong&gt;HTML, CSS and JavaScript&lt;/strong&gt;. Our team's GitHub organisation, LeapX-Pune, holds a set of public projects that gives a good picture of the kind of work we did:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;gym/club membership dashboard&lt;/strong&gt; designed to work on desktop, tablet and mobile.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;product catalogue&lt;/strong&gt; with search, filters, a cart and a validated checkout form.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Event listing and registration platforms&lt;/strong&gt; with filtering, and an admin dashboard in one of them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kanban-style project management boards&lt;/strong&gt;, including a Trello-style one with drag-and-drop.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;weather and news dashboard&lt;/strong&gt; with separate JavaScript modules for weather, news and UI.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;student progress tracker.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Looking at that list, the pattern is clear. These projects aren't about fancy tools. They're about UI interactions, state handling, form validation, filtering logic and layouts that hold up on different screen sizes. These are the fundamentals that most frontend work is built on.&lt;/p&gt;

&lt;p&gt;Working only in HTML, CSS and JavaScript also has a benefit. With no framework hiding the details, you see how the DOM, events and layout actually work, which makes frameworks easier to learn later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Working in a team of 11
&lt;/h2&gt;

&lt;p&gt;When 11 people build one project in two weeks, a few things become obvious very quickly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Everyone depends on everyone else's work.&lt;/li&gt;
&lt;li&gt;You need to communicate early, not when something is already broken.&lt;/li&gt;
&lt;li&gt;Your code is not just yours. Others have to read it, build on it, and merge with it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is where Git and GitHub stopped being commands I had memorized and became a daily tool. I learned how teams actually use them, including raising pull requests (PRs) for our work.&lt;/p&gt;

&lt;h3&gt;
  
  
  What a pull request is for
&lt;/h3&gt;

&lt;p&gt;A pull request is a request to merge your branch into the shared code. It gives teammates a chance to look at your changes first, and it leaves a record of what changed and why.&lt;/p&gt;

&lt;p&gt;If you haven't used a team Git workflow yet, here is the generic shape of it. This is a common pattern, not a copy of our project's exact setup:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Get the latest code&lt;/span&gt;
git checkout main
git pull origin main

&lt;span class="c"&gt;# Work on your task in its own branch&lt;/span&gt;
git checkout &lt;span class="nt"&gt;-b&lt;/span&gt; feature/responsive-navbar

&lt;span class="c"&gt;# Commit your changes&lt;/span&gt;
git add &lt;span class="nb"&gt;.&lt;/span&gt;
git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Make navbar responsive for mobile and tablet"&lt;/span&gt;

&lt;span class="c"&gt;# Push the branch and open a pull request on GitHub&lt;/span&gt;
git push origin feature/responsive-navbar
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A few habits make this work better in a big team:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pull before you start.&lt;/strong&gt; Working on stale code is how you create problems for everyone else.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep branches small and focused.&lt;/strong&gt; One task per branch is easier to review and easier to undo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write clear commit messages.&lt;/strong&gt; "Fix navbar overflow on mobile" tells your teammates something. "Update" doesn't.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With 11 people contributing to one codebase, merge conflicts are a normal part of the job, not a sign that someone did something wrong. Learning to read and resolve them calmly is a real skill.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting to responsive UIs
&lt;/h2&gt;

&lt;p&gt;I started this internship without professional frontend experience, and by the end I could build properly responsive UIs. That didn't come from one big breakthrough. It came from repeating the same cycle: read the PRD, build, get stuck, explain it in scrum, get guided, fix, and repeat.&lt;/p&gt;

&lt;p&gt;A responsive UI adapts to different screen sizes instead of breaking on them. Here are the building blocks, with generic examples to show each idea. None of this is code from our projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The viewport meta tag
&lt;/h3&gt;

&lt;p&gt;Without this line in your HTML &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;, mobile browsers pretend the page is a desktop-sized screen and shrink it, so your media queries won't behave as you expect:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Media queries, mobile-first
&lt;/h3&gt;

&lt;p&gt;Start with the layout for small screens, then add rules as the screen grows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.card-grid&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;grid-template-columns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;   &lt;span class="c"&gt;/* single column on small screens */&lt;/span&gt;
  &lt;span class="py"&gt;gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;768px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nc"&gt;.card-grid&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="py"&gt;grid-template-columns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;repeat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  &lt;span class="c"&gt;/* two columns on tablets */&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1024px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nc"&gt;.card-grid&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="py"&gt;grid-template-columns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;repeat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  &lt;span class="c"&gt;/* three columns on desktops */&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Flexible layouts and units
&lt;/h3&gt;

&lt;p&gt;Fixed pixel widths are a common reason layouts break. Flexible containers and relative units adapt on their own:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;max-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1100px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="nb"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;1rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;img&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;max-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;auto&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Test on real sizes
&lt;/h3&gt;

&lt;p&gt;Browser DevTools has a responsive mode that lets you resize the page to common phone and tablet widths. It's the quickest way to catch overflowing elements, text that's too small, and buttons that are hard to tap. Testing on a real phone is better still.&lt;/p&gt;

&lt;p&gt;The more important lesson is that responsiveness isn't something you add at the end. When you design for small screens first, you spend far less time fixing broken layouts later.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned beyond code
&lt;/h2&gt;

&lt;p&gt;Looking back, the technical skills were only part of it. This three-month internship was a life-turning point for me because of what else I picked up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Team coordination:&lt;/strong&gt; how to work with a large team on one deliverable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Talking to mentors:&lt;/strong&gt; how to ask for help clearly and at the right time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Professional behaviour:&lt;/strong&gt; how to carry yourself in a work environment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reporting in scrum:&lt;/strong&gt; how to explain your progress to seniors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Git and GitHub:&lt;/strong&gt; how real teams use them, including raising PRs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If I had to pick the most useful one, it would be asking for help early. In a team on a two-week deadline, a problem you raise on day two is a small problem. The same problem raised on day twelve is an emergency.&lt;/p&gt;

&lt;h2&gt;
  
  
  The people who made it possible
&lt;/h2&gt;

&lt;p&gt;I didn't do this alone.&lt;/p&gt;

&lt;p&gt;My fellow interns helped me go from zero to building properly responsive UIs. Working with ten other people on the same project taught me more than working alone ever could.&lt;/p&gt;

&lt;p&gt;Thank you to all my mentors for the daily guidance, to the two people who pointed me in the right direction before the internship began, and to PW LeapX for the opportunity.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you're where I was
&lt;/h2&gt;

&lt;p&gt;If you're a student who feels lost about the industry, here is what worked for me:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Find someone a few steps ahead of you.&lt;/strong&gt; One conversation with the right person saved me months.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prepare before the opportunity opens.&lt;/strong&gt; Use the waiting time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Choose project-based learning.&lt;/strong&gt; Building real things in a team teaches what courses can't.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Say when you're stuck.&lt;/strong&gt; The sooner you ask, the sooner you move.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learn Git properly.&lt;/strong&gt; You will use it every day in a team.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build with small screens in mind from day one.&lt;/strong&gt; It saves you from rewriting layouts later.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I started the year confused. Three months of real projects, daily scrums, and a lot of help from good people changed that.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>internship</category>
      <category>frontend</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
