#!/bin/bash
[rahul@fedora ~/internships]$ cat cie_medinntech.md

CIE Internship

Full Stack Development Intern · CIE, PES University (EC Campus) · 8 June – 3 July 2026

From 8 June to 3 July 2026 I worked as a Full-Stack Development intern at the Centre for Innovation & Entrepreneurship, PES University – Electronic City Campus, under the direct guidance of Prof. Lakshmeesha, Professor and Director of the centre. My assignment was to build the public-facing website for the Medical Innovations and Technologies (MedInnTech) initiative — an interdisciplinary programme sitting at the intersection of engineering, healthcare, artificial intelligence, medical devices, biomedical imaging and digital health. I did not inherit a codebase. I started from an empty project base and carried the site the whole way through: design, implementation, repeated client-led redesigns, production builds, deployment and post-release maintenance. I was the primary contributor to the repository and the person accountable for what went live.

I built the site as a React 19 single-page application on Vite 7, with React Router 6 handling client-side routing, Tailwind CSS 4 for utility-first styling, Radix UI for accessible accordion primitives, Lucide React for consistent iconography, Sonner for notifications and TanStack Query as the application-level query foundation. The root application configures a router that lazy-loads page modules behind Suspense, so a skeleton page loader communicates progress during transitions instead of leaving users staring at a blank screen. Around that I built the shared layer the whole site leans on: a two-tier PES-branded desktop header with a compact mobile menu, full and compact footer variants, a PageShell wrapper, a BrandText component that colours the MedInnTech name consistently, and a centralised announcements section.

Over the delivery cycle I produced more than twenty webpages and page variants, which the final router consolidates into nineteen active public routes. Those routes cover programme discovery, the course pathways (Minor Degree, second cohort, Masters, Executive and Technical Executive), curriculum, schedules, fees and downloadable resources, faculty, media, industry connect, FAQ filtering, contact details and a registration route that redirects to an external form while keeping an accessible manual link. Each major route sets its own title and meta description, and a ScrollToTop reset keeps the viewport predictable after navigation.

The work was iterative rather than linear, and that was the real education. Client inputs arrived continuously: sometimes a text correction, sometimes a change that invalidated an entire page composition. Programme details, cohort dates, course offerings, imagery, fees and layout expectations were all refined while I was building. I responded by keeping a reusable component base for the bulk of the site while deliberately allowing selected pages — the Minor Degree, second-cohort and Technical Executive pages — to use specialised layouts where the client-approved composition demanded stricter control. That balance kept duplication low without forcing a compromise on the pages that mattered most visually.

The hardest engineering problem was cross-screen consistency. Dense, client-approved compositions had to survive laptops, desktops, tablets and phones, plus browser zoom and OS-level scaling. Pure breakpoint layouts produced typography jumps, excessive page height, image misalignment and clipping. I solved it with a system rather than patches: clamp() for fluid typography and spacing, cqw units for component-relative headings, svh calculations for usable height, height-aware media queries for short laptop screens, and flexible grid reflow on mobile. For the second-cohort page I applied reference-canvas scaling — measuring available space after the header and applying the smaller of the width and height scale factors to the finished layout. The Technical Executive page measures the space between header and footer with a ResizeObserver and recalculates once fonts have loaded, which stopped cards reflowing independently and kept the result faithful to the design reference.

My responsibility did not stop at the dev server. I prepared production builds, handled deployment updates and monitored the live site afterwards, because static assets, route paths and external links behave differently once hosted. When something surfaced after a release, I traced it to the specific route or responsive rule, applied the smallest correction that fixed it, rebuilt and verified. Maintenance ran continuously alongside development — swapping images and PDF schedules, adjusting dates and fees, correcting navigation and preserving consistency after every revision.

The Git record reflects how much of that iteration was real: 167 commits, 50,305 additions and 38,944 deletions in four weeks, with the high deletion count showing how much was rebuilt to reach the approved state. The commitment behind those numbers mattered as much as the code. On selected days I stayed in the office with my mentor until around 7 p.m. so changes could be reviewed and resolved while feedback was immediate, and I remained available on calls across two weekends when time-sensitive decisions and corrections had to be closed out.

The lesson I carry forward is that technical correctness and client correctness are different things. A layout can be valid, reusable and responsive and still fail if it does not match the intended hierarchy. Delivery is not finished when the code compiles — it is finished when the output matches the request, works on the target screens and stays stable after deployment.