My internship experience as a frontend developer
As of today, I have spent over 10 months working as a frontend web developer at 100ms. The organization focuses on enabling high-quality, real-time audio-video interactions at scale on a global level. I worked on and maintained the following projects:
- 100ms dashboard: The dashboard is the primary way of creating templates based on customers’ requirements, customizing settings, monitoring usage, specifying recording storage, setting up webhooks, debugging errors encountered, and making payments for the usage. It is a complex application that fetches real-time data, lots of past data, supports advanced beta features like Events Inspector, and handles payments.
- 100ms website: The website is the entry point for potential customers — usually the beginning of the conversion funnel. The page sees heavy traffic and is fully responsive and performant, and showcases the design system that is also used in our sample apps and starter kits. The website is currently undergoing a design revamp one section at a time.
- 100ms documentation: The 100ms documentation also sees heavy traffic from customers and potential customers doing an evaluation of the product. There is a constant focus on making things as discoverable as possible, with continuous improvements to search results by tweaking the ranking algorithm on Algolia, updating the design system for better readability, and restructuring content for easier consumption.
Things I worked on over the past few months are as follows:
- Dashboard design polish: The most used pages from the dashboard were redesigned for better UX. The redesigned pages involved lazy loading, searching with filters, and fetching real-time data.
- Guided onboarding flow for new customers: A new flow was developed for people who sign up to 100ms — they are walked through room creation, at the end of which they will have a room they can join instantly. Based on user preference, it could be a video conferencing template, a live streaming template, or an audio room. These templates and their roles can be optionally further customized.
- Added events triggered by customer interactions: Events are fired based on clicks and actions — for example, events were added to room creation and rename functionality to identify usage levels for these features, and possible friction points were deduced based on user drop-off. Analytics are important for figuring out user journeys and updating flows to minimize friction and help get the job done faster.
- Added platform and type-specific filters in documentation search: Updated the search UI to auto-select platform based on the page the user is reading. Further refining can be done by selecting “type” — Guides, API reference, FAQs etc.
- Restructuring the documentation: The documentation is structured to help users figure out how to implement features they are interested in while educating them about the terminologies and concepts defined by 100ms SDKs. Search and folder structure is crucial in helping users find what they want quickly.
- Ran automated tests to detect broken links and fixed them: Constant restructuring of our documentation would result in lots of broken links, leading to bad UX. Redirects were set up for the same.
I worked with product managers to crystallize flows, testers to identify, replicate, and fix bugs, and designers to convert designs into practical and fully responsive components. I am continuing to learn a lot — best practices, standard design patterns, and decision-making while working on my communication skills. I received a pre-placement offer from 100ms and am looking forward to joining full-time in July!