Internship at RecursiveZero as a SDE intern
A deep dive into my two-month internship experience, working with Astro.js and Hono.js, and growing as a full-stack developer.
Internship Experience at RecursiveZero Pvt. Ltd
My name is Suresh Chelani, a third-year B.Tech student at ICFAI University, Jaipur, with a passion for full-stack development and competitive programming. For the past two months, I’ve had the incredible opportunity to work as a Software Development Engineer (SDE) intern at RecursiveZero Pvt. Ltd. I joined this program to tackle real-world problems, learn to work effectively in a team, and master everything from debugging to time management. This experience gave me all of that and more.
Frontend Adventures with Astro.js
A significant portion of my internship was dedicated to the frontend, where I primarily worked on an interactive India Map page. My goal was to create a highly engaging and performant user experience.
Frontend: Key Accomplishments
- Interactive Maps: I built interactive maps of India and its states using SVGs, bringing a visual and dynamic element to the application.
- Performance Optimization: I focused heavily on optimizing load times. By leveraging efficient DOM manipulation, asynchronous programming, and making the interface fully responsive, I significantly improved the user experience.
- CSS over JavaScript: I implemented features like popups and popovers using modern CSS APIs, reducing our reliance on JavaScript and keeping the codebase lean.
- Enhanced User Interaction: I added keyboard shortcuts using plain JavaScript and Astro.js, making the site more accessible and user-friendly.
- Keyboard Features: I developed advanced keyboard navigation and shortcut features to improve accessibility and user experience across the site.
- Debugging: I actively debugged and resolved issues on several pages, ensuring smoother performance and reliability.
- Mobile Message Popups: I implemented a feature to display message popups specifically for mobile devices, enhancing user feedback and interaction on smaller screens.
- Open Source Contributions: You can see my contributions and code changes directly in our project repository.
Why Astro.js?
We chose Astro.js for its strength in building content-rich, static websites. It allowed us to build our core logic with standard HTML, CSS, and JavaScript, without being locked into a heavy framework. Astro’s architecture, which supports integrating multiple frameworks and using simple JSON files for data, was a perfect fit for our needs and future plans.
Technologies Used: Astro.js, HTML, CSS, JavaScript, TypeScript.
Backend Development with Hono.js
I also had the opportunity to work on the backend for another project called “threadzip.” This is where I dove into building robust and secure server-side applications.
Backend: Key Accomplishments
- API and Model Development: I designed and implemented the
UserModel
andSubscriptionModel
, complete with full CRUD (Create, Read, Update, Delete) operations. This included endpoints for user management, follow/unfollow functionality and more. - Advanced Filtering: I built sophisticated filtering capabilities for our APIs, including pagination, sorting, time-based searching, and date parsing. I also developed bulk APIs to handle large data operations efficiently.
- Error Handling and Validation: I implemented proper error handling and server-side validation (using Zod) to ensure data integrity and gracefully handle edge cases and invalid inputs.
- API Documentation: I created clear and detailed API documentation using the OpenAPI standard, making it easy for the team to understand and use the services I built. To further enhance the developer experience, I integrated Swagger UI as a visual interface, allowing the team to browse, test, and interact with the APIs directly from the browser.
- Security: I implemented protected routes using authorization middleware and custom headers to add an extra layer of security, ensuring that only authorized users could access sensitive endpoints.
- Open Source Contributions: You can see my contributions and code changes directly in our project repository.
- Data Storage: I used MongoDB as the primary database for storing and managing user and subscription data.
Why Hono.js?
Hono.js was an excellent choice for this project. Its lightweight nature and first-class support for data streaming were particularly useful for our application, which involves generated data by using data models. Hono’s simplicity allowed us to write less boilerplate code compared to traditional Node.js frameworks, and its ability to render JSX was an added bonus that fit our project’s requirements perfectly.
Technologies Used: Hono.js, TypeScript, Zod, OpenAPI.
Project Spotlight: ABCD Learning Platform
ABCD is an interactive learning pad for kids, designed to make learning fun and engaging. The main goal of the project is to help children learn through play, making them comfortable with using the keyboard and digital interfaces. The platform offers a variety of games, activities, and educational content, accessible via keyboard shortcuts and interactive UI elements. It also leverages Progressive Web App (PWA) technology to provide a seamless experience as a website, webapp, and mobile app. The project is open source, and you can explore the codebase and contribute on GitHub.
- Official Website: abcdkbd.com
- Project Repository: github.com/recursivezero/abcd
- Interactive Map Page: abcdkbd.com/map/
Challenges Faced & Solutions
Technical Challenges
Problem: Overlapping popover APIs causing conflicts Solution: Separated code logic and created modular components for different use cases
Problem: Backend edge cases in API endpoints Solution: Identified and resolved edge case issues through manual testing and systematic debugging
Problem: Initial difficulty understanding project requirements Solution: Improved communication with team members and clarified requirements regularly
Learning from Challenges
- Developed better debugging strategies through hands-on problem solving
- Learned to separate concerns when dealing with complex UI interactions
- Improved requirement gathering and clarification skills
Beyond the Code: Growth and Learning
This internship was about more than just technology. It was a masterclass in the soft skills that are crucial for a successful career in tech.
- Communication: I learned how to effectively participate in meetings, frame questions clearly, and articulate my ideas.
- Teamwork: I experienced firsthand how to collaborate within a team, use Git and GitHub for version control on shared branches, and contribute to a collective goal. This was a fantastic introduction to open-source workflows.
- Working Smart: I learned how to use VS Code shortcuts to speed up my workflow and navigate projects more efficiently.
Conclusion
My internship at RecursiveZero was an incredibly impactful experience. It provided me with a clear window into the corporate world and taught me how development teams collaborate to build amazing products. I am immensely grateful to Keshav sir, and the entire team for their guidance and support over these two months. I’ve learned a great deal, and I’m excited to apply these skills in my future endeavors. I’ve learned a great deal and look forward to applying these skills in future endeavors.
Suresh Chelani