Software Engineer & Educator · Creator of See Algorithms
I'm a Software Engineer with a deep passion for Computer Science education and visual learning. I believe the most intuitive way to master an algorithm isn't just memorizing pseudocode or tracing static textbook diagrams — it's getting to see it execute step by step, at your own pace.
What you see today as See Algorithms originally started as a college project during my engineering days. Like many students, I found traditional resources — walls of dry code and rigid illustrations — insufficient for building strong mental models of dynamic processes like recursion trees, graph traversals, or self-balancing rotations. To solve this for myself and my peers, I began building interactive, canvas-driven visualizations where every pointer move, swap, and state change could be observed in real time.
Building this platform from scratch went far beyond typical coursework. It came with real engineering hurdles — capturing continuous algorithm loops into pausable, step-by-step executions, handling asynchronous playback timers, and calculating coordinates to align node positions during dynamic rotations. When it came time to graduate and interview for software engineering roles, being able to walk through these concrete architectural decisions and trade-offs turned this project into the cornerstone of my technical portfolio, directly helping me land my first job.
Since then, what started as a classroom idea has grown into a comprehensive open platform covering 30+ algorithms across sorting, graph traversal, tree data structures, and computational geometry. Whether you're a student preparing for technical interviews, an educator looking for dynamic classroom demos, or a curious developer revisiting fundamentals, See Algorithms is built to make that learning journey clear, engaging, and accessible.
© 2025 See Algorithms. Code licensed under MIT, content under CC BY-NC 4.0