[{"content":"🔗 GitHub Description I developed a cloud-based storage system using Discord that allows users to upload and share large files seamlessly. The project utilizes Python, Node.js, MongoDB, and file chunking to provide robust functionality. I designed a Discord bot with JavaScript and the Discord.JS library that interacts with users and handles file uploads. A key component is the chunking algorithm I created, which splits files into 25MB parts for optimized storage and transmission.\nThe backend was built with Node.js and provides REST APIs for uploading and downloading files. MongoDB offers structured storage for metadata like file names, sizes, and the channel ID and thread ID for each 25MB chunk. The backend reconstructs the original file from the chunks stored in Discord channels and threads when a user downloads a file. This avoids the need for a separate CDN.\nTo complete the project, I developed an intuitive React-based frontend that calls the Node.js APIs. It retrieves the channel ID and thread ID for each chunk and pieces the chunks back together into the original file for a seamless user experience. The frontend also displays file information like name, size, and upload progress. This cloud-based Discord file storage bot makes sharing large files easy for server members.\n","permalink":"https://dhanushmanem.netlify.app/projects/discord/","summary":"🔗 GitHub Description I developed a cloud-based storage system using Discord that allows users to upload and share large files seamlessly. The project utilizes Python, Node.js, MongoDB, and file chunking to provide robust functionality. I designed a Discord bot with JavaScript and the Discord.JS library that interacts with users and handles file uploads. A key component is the chunking algorithm I created, which splits files into 25MB parts for optimized storage and transmission.","title":"Discord as a cloud storage"},{"content":"🔗 Research Paper Description I developed a fault-tolerant and scalable key-value store using C++ that provides reliability through redundancy and distributed consensus. The project implements the Raft consensus algorithm to manage replicated operation logs across a cluster of servers. I programmed core Raft components like leader election, heartbeats, log replication, and recovery from failures. This allows the system to automatically elect a new leader if any server goes down.\nOn top of the replicated Raft log, I built a fast and scalable key-value storage service. Servers act as state machines, applying operations from the log to maintain an identical key-value database across the cluster. All data is replicated to multiple nodes for reliability. Reads and writes are handled through remote procedure calls (RPCs), facilitating horizontal scaling. The service is also persistence-based, saving the state machine data to disk for crash recovery.\nThis project showcases my expertise in distributed systems concepts like consensus algorithms, replication, and persistence. The fault-tolerant key-value store provides strong consistency guarantees, high availability through redundancy, and horizontal scalability to handle large workloads. The service is designed to gracefully handle failures and retries with no downtime or data loss.\n","permalink":"https://dhanushmanem.netlify.app/projects/raft/","summary":"🔗 Research Paper Description I developed a fault-tolerant and scalable key-value store using C++ that provides reliability through redundancy and distributed consensus. The project implements the Raft consensus algorithm to manage replicated operation logs across a cluster of servers. I programmed core Raft components like leader election, heartbeats, log replication, and recovery from failures. This allows the system to automatically elect a new leader if any server goes down.\nOn top of the replicated Raft log, I built a fast and scalable key-value storage service.","title":"Raft Protocol and Key Value Store"},{"content":"Description I designed and built a sharded and distributed key-value storage system in C++ for horizontal scalability. The data is partitioned across multiple shards, each comprised of replica groups managed by a shard master using Raft consensus for fault tolerance. I implemented Join, Leave, Move and Query RPCs to handle dynamic reconfiguration and data migration when scaling capacity. The system provides linearizability and continuity during shard migrations.\nA key innovation was enabling cross-shard distributed transactions using two-phase commit and optimistic concurrency control. The client coordinates the 2PC process across shards, obtaining locks in the prepare phase to ensure atomicity and isolation. Versions are attached to values to detect conflicting concurrent writes. This provides strong consistency guarantees for operations spanning multiple shards.\nThis project demonstrates my expertise in distributed systems and large-scale datastores. The sharded architecture, fault tolerance, and cross-shard transactions allow the key-value store to provide high availability, strong consistency, and seamless scaling to meet demand. I leveraged modern C++ along with systems design patterns to deliver a robust and production-ready datastore.\n","permalink":"https://dhanushmanem.netlify.app/projects/shard/","summary":"Description I designed and built a sharded and distributed key-value storage system in C++ for horizontal scalability. The data is partitioned across multiple shards, each comprised of replica groups managed by a shard master using Raft consensus for fault tolerance. I implemented Join, Leave, Move and Query RPCs to handle dynamic reconfiguration and data migration when scaling capacity. The system provides linearizability and continuity during shard migrations.\nA key innovation was enabling cross-shard distributed transactions using two-phase commit and optimistic concurrency control.","title":"Sharded KV Storage and Distributed Transactions"},{"content":"Description   Entirely replaced legacy admin codebase with new React-based implementation leveraging latest features and frameworks. Significantly improved maintainability and developer experience.\n  Refactored selected files to implement Façade design pattern, improving code organization and enabling easier future extensions.   Built reusable React component for validated text input fields, encapsulating complex logic into simple API.\n  Learned Kafka message broker system and implemented for stream data processing. Configured topics, producers, and consumers to enable scalable and fault-tolerant data pipelines.\n  Generated customized test data using AutoProtocol to accelerate scientists' research\n  ","permalink":"https://dhanushmanem.netlify.app/experience/zemoso/se2/","summary":"Description   Entirely replaced legacy admin codebase with new React-based implementation leveraging latest features and frameworks. Significantly improved maintainability and developer experience.\n  Refactored selected files to implement Façade design pattern, improving code organization and enabling easier future extensions.   Built reusable React component for validated text input fields, encapsulating complex logic into simple API.\n  Learned Kafka message broker system and implemented for stream data processing.","title":"Software Engineer II"},{"content":"Description  Upgraded key React components like tubes, plates and expandableTables by optimizing performance and implementing new styling frameworks, enhancing overall application experience. Transformed XML data into streamlined data processing objects, improving data accuracy by building in advanced error checking algorithms. Processed backend protocol execution data and generated datasets to support systems and empower experimental analysis Reduced up to half of the legacy admin codebase by migrating relevant sections to new React components utilizing latest frameworks and best practices. The upgrades improved maintainability and developer productivity.  ","permalink":"https://dhanushmanem.netlify.app/experience/zemoso/se1/","summary":"Description  Upgraded key React components like tubes, plates and expandableTables by optimizing performance and implementing new styling frameworks, enhancing overall application experience. Transformed XML data into streamlined data processing objects, improving data accuracy by building in advanced error checking algorithms. Processed backend protocol execution data and generated datasets to support systems and empower experimental analysis Reduced up to half of the legacy admin codebase by migrating relevant sections to new React components utilizing latest frameworks and best practices.","title":"Software Engineer I"},{"content":"Description   Learned Ruby on Rails and developed AlphaBlog, a blogging platform where users can create blogs and registered members can add comments. Implemented core Rails concepts like MVC architecture, routing, migrations, validations, etc.\n  Created temporary test database to facilitate developer and QA testing without impacting production data. Enabled rapid validation of new features and bug fixes.   Developed RESTful APIs for batch processing operations, applying best practices around documentation, error handling, versioning, security, etc.\n  Wrote comprehensive test suites for React components using Jest and React Testing Library, enabling robust coverage and confidence in code changes.\n  ","permalink":"https://dhanushmanem.netlify.app/experience/zemoso/ase/","summary":"Description   Learned Ruby on Rails and developed AlphaBlog, a blogging platform where users can create blogs and registered members can add comments. Implemented core Rails concepts like MVC architecture, routing, migrations, validations, etc.\n  Created temporary test database to facilitate developer and QA testing without impacting production data. Enabled rapid validation of new features and bug fixes.   Developed RESTful APIs for batch processing operations, applying best practices around documentation, error handling, versioning, security, etc.","title":"Associate Software Engineer"},{"content":"Description  Built a microservice that analyzed employee data to identify top talent. Provided actionable insights that improved employee training programs and strengthened overall workforce development initiatives Gained in-depth knowledge of Spring MVC framework through hands-on development of web applications utilizing Model-View-Controller architecture. Learned and implemented Spring Security to add robust authentication and authorization capabilities to Spring apps. Successfully integrated features like form login, LDAP integration, method-level security, etc. Learned React front-end library and built responsive UI components leveraging React\u0026rsquo;s component-based architecture and virtual DOM. Implemented concepts like JSX, props, state, hooks, routing etc. Promoted to Associate Software Engineer after just 4 months, 2 months ahead of schedule, in recognition of outstanding performance and rapid mastery of complex systems.  ","permalink":"https://dhanushmanem.netlify.app/experience/zemoso/intern/","summary":"Description  Built a microservice that analyzed employee data to identify top talent. Provided actionable insights that improved employee training programs and strengthened overall workforce development initiatives Gained in-depth knowledge of Spring MVC framework through hands-on development of web applications utilizing Model-View-Controller architecture. Learned and implemented Spring Security to add robust authentication and authorization capabilities to Spring apps. Successfully integrated features like form login, LDAP integration, method-level security, etc. Learned React front-end library and built responsive UI components leveraging React\u0026rsquo;s component-based architecture and virtual DOM.","title":"Software Engineer Intern"},{"content":"Description  Developed and optimized user interfaces using HTML, CSS, JavaScript, and Bootstrap to enhance user experience and improve site performance for an e-commerce platform Created RESTful APIs using Java and Spring Boot to enable communication between the front-end and back-end systems Took initiative to lead a cohort of 50 interns, facilitating group discussions, organizing bonding activities, and motivating peers Demonstrated strong technical skills, leadership capabilities, and passion for learning new technologies as an intern, leading to a full-time job offer  ","permalink":"https://dhanushmanem.netlify.app/experience/cognizant/intern/","summary":"Description  Developed and optimized user interfaces using HTML, CSS, JavaScript, and Bootstrap to enhance user experience and improve site performance for an e-commerce platform Created RESTful APIs using Java and Spring Boot to enable communication between the front-end and back-end systems Took initiative to lead a cohort of 50 interns, facilitating group discussions, organizing bonding activities, and motivating peers Demonstrated strong technical skills, leadership capabilities, and passion for learning new technologies as an intern, leading to a full-time job offer  ","title":"Full Stack Engineer Intern"},{"content":"About Me\nI am a full-stack web developer with a passion for creating robust and scalable web applications and systems. I have a strong interest in continuously enhancing my technical skills, particularly in areas such as front-end and back-end development, databases, cloud computing, and system architecture. My goal is to become a valuable asset to my organization by contributing to projects that can be heavily scaled and serve as significant revenue sources. I thrive on challenges that allow me to push the boundaries of what is possible, and I am driven to deliver high-quality, efficient, and maintainable solutions that meet the evolving needs of businesses and their customers.\nSkills React  HTML / CSS  NodeJS  C / C++  PostgreSQL  Express   Ruby / Ruby On Rails  Java / Spring Boot  Python  Docker  MongoDB  Google Cloud Platform     .outer-div{ display:flex; justify-content:space-between; } .full-width:{ width:\"100%\" } .sub-div{ width:50% } .progress-bar { width: 100%; background-color: #ddd; border-radius: 4px; margin-bottom: 8px; } .progress { height: 12px; background-color: #4caf50; border-radius: 8px; text-align: center; line-height: 12px; color: white; }  ","permalink":"https://dhanushmanem.netlify.app/about/","summary":"About Me","title":"About Me"}]