All 60 tasks, level by level

The real graded Frontend Development tasks the portal assigns, grouped into three levels.

The portal assigns these Frontend Development tasks. Finish Level 1 before Level 2 and Level 2 before Level 3. Your mentor may mark some tasks as required for the certificate.

Level 1: Foundations (24 tasks)

TaskWhat to do
How the web loads a pageOpen DevTools on any site, record the Network tab and explain DNS, the HTML request, CSS/JS/image requests and the final render in a README with screenshots.
Semantic HTML profile pageBuild a personal profile page using header, nav, main, section, article and footer. Validate it with the W3C validator and commit the clean report.
Accessible formBuild a registration form with labels, fieldsets, required fields and helpful error text. Check it with keyboard only and with a screen-reader extension and note what you fixed.
CSS box model and selectorsMake a page that shows margin, border, padding and content visually, plus examples of class, id, attribute, child and pseudo-class selectors.
Flexbox navigation barBuild a responsive navbar with Flexbox that collapses into a menu button under 600px. Commit before/after screenshots.
CSS Grid galleryCreate an image gallery with CSS Grid that shows 1, 2 and 4 columns at different widths without media-query hacks (use auto-fit/minmax).
JavaScript DOM basicsWrite a to-do list in plain JavaScript: add, complete, delete and filter items, with no libraries.
Save state in localStorageExtend the to-do list so items survive a refresh using localStorage, with try/catch around every read and write.
Fetch data from a public APIShow data from a free public API (weather, countries or books) with loading, error and empty states.
Git workflow for frontendCreate a repo frontend-internship, work on a feature branch, open a pull request to yourself and merge it. Paste the PR link in your README.
Responsive typography and unitsExplain px, em, rem, %, vw and clamp() with a demo page whose headings scale smoothly from phone to desktop.
Deploy a static siteDeploy one of your pages to GitHub Pages, Netlify or Firebase Hosting and add the live link to your README.
Browser DevTools deep diveUse the Elements, Console, Network, Sources and Application panels to debug a page. Write one tip per panel with a screenshot.
CSS specificity gameCreate 10 conflicting CSS rules and predict which wins before checking in DevTools. Record your score and explain each.
Responsive imagesUse srcset, sizes and the picture element to serve different images for phone and desktop. Measure bytes saved.
Web fonts done rightAdd a Google Font with font-display: swap and preconnect, and explain how it affects loading.
CSS animationsBuild a loading spinner and a card hover effect with transitions and keyframes, and respect prefers-reduced-motion.
Forms with native validationUse required, pattern, min, max and type attributes plus the Constraint Validation API for custom messages.
JavaScript array methodsSolve 10 small data problems using map, filter, reduce, find, some and every.
Event handlingBuild a keyboard-shortcut menu using keydown events and explain event bubbling and preventDefault.
Modules in the browserSplit a script into ES modules with import/export and load them with type=module.
Clone a landing page layoutRecreate the layout (not the brand) of a well-designed landing page using only HTML and CSS.
SVG iconsCreate and style inline SVG icons that change colour with currentColor.
Cross-browser checkTest your site in Chrome, Firefox and a mobile browser and fix one difference you find.

Level 2: Building real features (20 tasks)

TaskWhat to do
React component basicsRebuild the to-do list in React with components, props and useState. Explain why each piece is its own component.
Routing in a single-page appAdd three routes (home, list, about) with React Router or the framework router, including a 404 page.
Forms and validation in ReactBuild a controlled form with validation messages, disabled submit while invalid and a success screen.
Fetching with loading and cachingLoad paginated API data in React, show a skeleton while loading and avoid refetching pages already loaded.
TypeScript for componentsConvert your React app to TypeScript with typed props, state and API responses. Fix every type error without using any.
Component styling approachStyle the app with CSS Modules or Tailwind. Write half a page comparing it with plain global CSS.
Unit tests for componentsWrite at least 6 tests with Vitest or Jest and Testing Library covering rendering, clicks and form errors.
Lighthouse audit and fixesRun Lighthouse on your deployed app, fix at least three issues (images, contrast, unused JS) and commit the before/after scores.
Dark mode with CSS variablesAdd light and dark themes using CSS custom properties and prefers-color-scheme, with a toggle that is remembered.
Build tool basicsSet up a project with Vite, explain dev server vs production build, and show the size of your production bundle.
Custom React hooksWrite useFetch, useLocalStorage and useDebounce hooks and use them in an app.
Search with debounceBuild a search box that calls an API only after the user stops typing, with cancellation of old requests.
Infinite scrollLoad more items as the user scrolls using IntersectionObserver.
Optimistic UIUpdate the UI immediately when a user likes an item and roll back if the request fails.
Form libraryRebuild a complex form with React Hook Form and schema validation (zod or yup).
Data fetching libraryUse TanStack Query (or SWR) for caching, refetching and loading states, and compare with your manual code.
Charts in the frontendShow a dashboard chart with a charting library, with accessible labels and a data table fallback.
Modal and focus trapBuild an accessible modal dialog that traps focus, closes on Escape and returns focus to the trigger.
Progressive Web AppAdd a manifest and service worker so your app is installable and works offline for cached pages.
Environment configurationUse environment variables for API URLs in development and production builds.

Level 3: Professional work and capstone (16 tasks)

TaskWhat to do
State management for a larger appBuild a small shop (products, cart, checkout summary) using React context or a state library. Explain how data flows.
Performance: code splittingLazy-load at least two routes, measure the first-load JS before and after, and write up the result.
Accessibility auditAudit your shop with axe DevTools and keyboard testing. Fix every serious issue and document each fix with a short note.
End-to-end testWrite a Playwright or Cypress test that adds an item to the cart and completes checkout.
Reusable component libraryExtract Button, Input, Modal and Card into a small library folder with props documented in a README or Storybook.
InternationalisationAdd English and one Indian language to your app with a language switcher and no hard-coded strings left.
Security basics for the browserShow an XSS risk with innerHTML, then fix it. Add a Content-Security-Policy header to your deployed site and explain it.
Capstone: production frontendShip a complete, responsive, tested and deployed frontend project of your choice. Include a README with features, screenshots, tests and Lighthouse scores.
Next.js appBuild a small Next.js app with server-rendered pages, dynamic routes and metadata for SEO.
Rendering strategiesCompare client-side rendering, server-side rendering and static generation with measurements on the same page.
Web Vitals monitoringMeasure LCP, INP and CLS of your deployed app with the web-vitals library and log them.
Micro-interactions and polishAdd skeleton loaders, empty states, error states and toasts across your app.
Real-time UIShow live updates from a WebSocket or Firebase listener in the UI.
Design system tokensDefine colour, spacing and typography tokens and apply them across all components.
Frontend code reviewReview a classmate's frontend pull request for accessibility, performance and readability and write comments.
Capstone 2: real client-style siteBuild a complete, responsive website for a local business (with their permission or a fictional one) with a contact form, SEO tags, analytics and a Lighthouse score above 90.
โ† Tools and first-week setupSubmitting tasks and earning your certificate โ†’