Skip to Content

Migration to OpenDSA

A high-level overview of migrating from the legacy ds-algo-deck  project to the new OpenDSA platform.

Overview

The OpenDSA project is a complete rewrite and modernization of the previous ds-algo-deck visualization tool. This migration was driven by the need for better scalability, performance, and a more robust contributor experience.

Why Migrate?

The legacy project was built with React + Vite and Redux Toolkit. While functional, as the project grew, we encountered limitations in:

  • Scalability: Managing a growing number of visualizers in a single repository without clear boundaries was becoming difficult.
  • Performance: Heavy visualizations started to impact UI responsiveness.
  • Maintainability: Mixed styling approaches (Tailwind + Styled Components) and lack of strict typing made contributions harder.

The New Stack

OpenDSA introduces a modern, monorepo-based architecture:

  • Next.js & Turborepo: For efficient build pipelines and server-side capabilities.
  • TypeScript: Strict type safety across the entire codebase.
  • Zustand: Lightweight, performant state management.
  • shadcn/ui: a cohesive, accessible design system.
AspectLegacy (ds-algo-deck)OpenDSA
CoreReact SPANext.js App Router
RepoSingle RepoMonorepo (Turborepo)
StateReduxZustand
StylesMixedTailwindCSS + shadcn/ui

Legacy Repository

This documentation serves as the new home for the project. The old repository is kept for reference but development has moved here.

For detailed internal migration steps used during the transition, please refer to the internal documentation or the project’s commit history.

Last updated on