30 open-source projects similar to chanind/hanzi-writer, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Walkway is a web animation framework and library designed for creating and managing drawing animations on SVG paths, lines, and polylines. It functions as a utility for executing geometric line animations within a browser, providing a system to control the playback state and timing of vector graphics. The library allows for the configuration of custom durations and easing functions to control the visual flow of drawings. It manages animation states through a system that can trigger sequences via callbacks and pause progress when the browser window loses focus. The framework covers high-level
Butterfly is an interactive graph visualization library and SVG-based diagramming engine used to build node-based workflow designers and visual flow editors. It provides a framework for rendering interconnected nodes, edges, and groups to model technical architectures, business processes, and data-driven workflows. The project is distinguished by its ability to integrate custom UI components as graph nodes and its specialized support for data lineage visualization. It enables the mapping of relationships between data fields, tables, and business entities to track provenance and monitor workfl
Velocity is a JavaScript animation library used to create high-performance CSS and SVG animations. It functions as a CSS property interpolator and a spring physics engine, enabling the creation of smooth visual transitions and organic movement for web elements. The project provides a programmatic interface for modifying vector attributes and 3D transformations through its SVG animation framework. It further distinguishes itself as an animation sequence orchestrator, allowing for the chaining of movements and the staggering of start times across multiple elements using promises. The library c
rust-by-practice is an interactive coding platform and language learning curriculum designed to teach the Rust programming language. It functions as a code practice sandbox and tutorial, providing a structured path of examples and challenges to bridge the gap between basic knowledge and professional development. The platform features a web-based environment for editing, compiling, and executing code directly in the browser. It employs a graded curriculum of increasing difficulty, allowing users to solve exercises and verify their logic against reference solutions to ensure accuracy and adhere
Exercism is a programming exercise platform that provides a multi-language learning curriculum designed to teach language syntax and idiomatic patterns. It combines a web-based environment for managing coding challenges with a peer-to-peer code review system. The platform distinguishes itself by integrating local development workflows, allowing users to solve exercises in their own editors and submit them via a command line tool. It facilitates a mentorship model where learners receive qualitative feedback and critiques from experienced developers to improve code readability and performance.
Earthworm is an AI-powered language learning platform centered on sentence construction, translation exercises, and grammar tutoring. It integrates a spaced repetition system to schedule reviews based on individual performance and a multimedia practice tool that converts audio, video, and text into interactive sentence-level exercises. The platform features a real-time competitive quiz system where users can challenge each other in live matches based on speed and accuracy. It also includes an AI tutor that provides contextual grammar and usage explanations for specific sentences, and a set of
Rustlings is an interactive language tutorial and exercise suite designed to teach the syntax and idioms of the Rust programming language. It functions as a guided learning path where users build proficiency by solving a collection of small, interactive coding challenges. The project utilizes compiler-driven learning, employing the Rust compiler to provide immediate feedback and validation as users fix broken code snippets. This approach focuses on language onboarding and education through practical, hands-on coding practice. The learning experience is structured around a file-based exercise
This is a React animation library providing a collection of components for creating choreographed motion, complex transitions, and SVG morphing. It functions as a motion design specification and a UI component animation wrapper system used to apply 3D transforms, Bezier curves, and entry-exit transitions to interface elements. The project includes a scroll-driven animation suite for synchronizing UI movements and parallax effects with the viewport position, as well as an SVG motion framework for animating paths, drawing lines incrementally, and interpolating coordinates for shape morphing. I
React Native Animated Charts is a user interface component library for building interactive line graphs and data visualizations within mobile applications. It functions as a cross-platform component for rendering scalable vector graphics chart paths, touch-following indicators, and dynamic axis labels on iOS and Android devices. The library incorporates data processing capabilities to prepare raw datasets for display. It handles cubic spline data smoothing to transform coordinate sets into continuous curves, alongside downsampling algorithms to reduce point density while retaining critical e
Learngo is an interactive coding course and programming tutorial designed to teach the Go language. It functions as an educational guide that combines instructional materials with a learning-by-doing approach to help users master language syntax and practical application. The project focuses on idiomatic Go programming, providing a practical reference for writing code that follows industry standards and conventions. It emphasizes the development of testable code and the implementation of maintainable programming patterns. The curriculum is delivered through a series of hand-crafted examples,
react-native-skia is a cross-platform graphics framework that provides a high-performance 2D graphics engine for rendering shapes, paths, and images. It functions as a vector graphics engine and UI animation toolkit, allowing for hardware-accelerated visuals across mobile and web platforms. The project is distinguished by its integration of the Skia 2D graphics library, enabling a shader and filter pipeline for complex pixel-level effects. It supports the rendering of Lottie animations exported from After Effects and the execution of animations directly on the UI thread to maintain fluid moti
This project is an interactive programming curriculum and educational system designed to teach computer science and software engineering. It provides a structured set of courses and professional roadmaps focused on backend engineering, DevOps, and systems fundamentals. The platform is distinguished by an AI-powered coding tutor that provides Socratic guidance and contextual hints to help students find solutions independently. It features a browser-based code sandbox using WebAssembly to eliminate local environment setup, alongside automated test-based grading and spaced-repetition logic to re
This project is a structured Rust programming course and learning path consisting of a sequence of interactive coding exercises. It provides a curriculum designed to guide learners from basic language fundamentals, such as syntax and type systems, to the development of complex applications. The learning experience is supported by a command-line solution validator that verifies the correctness of code solutions. The curriculum follows a progressive problem sequencing model, allowing users to master memory management and application logic through a series of practical coding challenges. The sc
ShapeShifter is a visual editor and utility for creating morphing animations between SVG vector paths. It serves as an interpolation editor that allows for the alignment and modification of vector points to produce fluid transitions between different shapes. The project functions as a cross-platform vector asset generator, exporting animation data as spritesheets and drawable files for use on Android, iOS, and web platforms. It specializes in converting disparate SVG path commands into a unified format to ensure a one-to-one point mapping between shapes. The tool includes capabilities for pa
Leafer UI is a high-performance HTML5 canvas rendering engine and 2D vector graphics library. It utilizes a hierarchical scene tree to manage shapes, paths, and text, providing a toolkit for building interactive canvas applications and expansive infinite canvases. The engine is designed as a cross-platform canvas toolkit that decouples core logic from the drawing API, allowing it to run across web, mobile, server, and mini-program environments. It distinguishes itself by providing specialized tools for interactive graphic editor development, including hit detection, event bubbling, and transf
react-burger-menu is a sidebar navigation component for React applications. It implements an off-canvas menu pattern using CSS transitions and SVG animations to create sliding effects. The component provides configurable transition animations, including slide, stack, and scale effects. It utilizes SVG path morphing to animate the hamburger icon during menu interactions. The library supports menu style customization through configuration objects and external stylesheets. It is designed for responsive web navigation by hiding links behind a toggle button to save screen space.
Arwes is a sci-fi React UI framework and futuristic component library designed for building web interfaces with cyberpunk aesthetics. It provides a thematic web UI toolkit that combines stylized components with an SVG animation engine to create immersive visual identities. The project distinguishes itself through coordinated animation sequences that control the assembly and disassembly of interface elements. It integrates a sensory feedback system that maps user interaction events to synchronized audio clips and manages dynamic backgrounds to enhance the environmental atmosphere. The framewo
IBAnimatable is a set of visual design tools for prototyping bespoke interface elements, motion effects, and navigation transitions within a graphical environment. It provides a designer for creating and prototyping animations directly within the Apple Interface Builder environment and a system for building custom interface components through a visual attributes panel. The project distinguishes itself by offering a visual interface transition editor for configuring screen navigation and gesture-driven transitions without manual coding. It includes a prototyping sandbox for testing interaction
NineOldAndroids is an Android animation backport library and UI compatibility layer. It brings the Honeycomb animation API to all Android platform versions, extending support back to version 1.0. The library serves as a platform backport that enables the execution of modern system APIs on older versions of the Android operating system. This ensures consistent visual transitions and animation sequences across legacy and modern device versions. It provides capabilities for Android API backporting and legacy animation support to maintain cross-version UI consistency across supported hardware.
Skrollr is a dependency-free scroll-driven animation engine and cross-platform frontend library. It functions as a toolkit for linking CSS properties and HTML attributes to scroll positions to create synchronized animations, specifically providing utilities for the interpolation of SVG attributes. The library enables the creation of parallax scrolling and interactive web storytelling by mapping scroll offsets to specific style values. It allows for the development of non-linear movement and dynamic SVG effects through the use of custom HTML attributes that define keyframes. The system covers
MarqueeView is an Android custom view library used to create scrolling or flipping text announcements and dynamic text tickers. It functions as a specialized interface component for displaying rotating sequences of messages and interactive notification widgets. The library distinguishes itself through the use of dynamic layout inflation to inject custom resource files at runtime. It manages programmatic animation sequencing for entry and exit transitions and utilizes a callback system to map user touch events on visual elements to specific data indices. The project covers broad capabilities
animateplus is a lightweight JavaScript animation library designed for creating high-performance 60 FPS visual transitions and numeric interpolations for website elements. It functions as a promise-based animation engine, using async await patterns to sequence complex motion timelines and timing delays. The library includes a motion blur simulator that applies directional speed blur along the X and Y axes to mimic high velocity. It also provides a numeric interpolation tool to transition colors and graphic properties between states. The system manages high-performance element control, allowi
snabbt.js is a JavaScript motion framework and CSS transform animation library used to create high-performance animations for DOM elements. It functions as a 3D CSS animation engine and a matrix-based geometry toolkit for calculating precise translations, rotations, scales, and skews. The framework provides a user-driven animation controller that allows animation progress to be tied to manual user input rather than standard time-based playback. It enables the simulation of depth and perspective by animating HTML elements into three-dimensional shapes. The system covers motion orchestration t
AndroidViewAnimations is an animation library and visual effects toolkit for Android applications. It provides a framework for implementing motion effects, such as bouncing, sliding, and rotating transitions, for views within Android layouts. The library features a collection of predefined motion presets and stylized transition effects. These include curated sequences for shaking and pulsing to guide user attention, as well as complex movements like hinging or rolling for interface entry and exit. The toolkit covers a wide range of visual effects, including linear slides, elastic bounces, tr
This library is a declarative React component toolkit for constructing interactive, node-based diagramming interfaces and flow charts. It provides the foundational UI elements required to render draggable nodes and scalable vector graphics paths within a web browser, enabling the creation of complex visual editors and data flow representations. The library distinguishes itself through a strictly stateless architecture that relies on external state management. By utilizing a controlled input pattern and component injection, it decouples diagram logic from data storage, allowing developers to m
Moti is a cross-platform animation framework and state-driven animation engine designed to create consistent visual transitions and motion effects across mobile and web platforms. It functions as a native-thread animation wrapper and library that leverages a shared-value system to synchronize state changes between the logic layer and the native rendering engine. The framework distinguishes itself through its layout transition tools and the ability to execute complex sequences and loops on the native thread to maintain high frame rates. It provides a system for orchestrating smooth entry and e
ViewAnimator is a Swift animation library and view transition framework designed to coordinate visual motion effects across interface elements. It provides a motion engine that executes animation sequences and geometric transforms on individual views and layout cells. The framework is built around a standardized animation protocol, allowing developers to create and integrate custom movement and transition behaviors. This extensibility enables the creation of reusable animation libraries beyond the pre-defined effects. The system supports combining multiple visual transforms into single compo
EasyAnimation is a Swift library for defining and executing interface animations. It provides a system for modifying layer properties and creating visual transitions for UI components. The library specializes in physics-based motion, utilizing spring constants and damping ratios to produce bouncy movement effects. It also enables complex animation sequencing, allowing multiple visual changes to be chained together with specific timing and delays. Additional capabilities include the ability to cancel running animation sequences after the active step completes and the use of block-based proper
This library is a declarative framework for creating complex motion sequences and visual transitions within Flutter applications. It provides a unified interface for orchestrating interface element transformations, property updates, and animation lifecycles without requiring manual controller management or boilerplate code. The framework distinguishes itself through a fluent builder pattern that allows developers to chain multiple independent motion effects into a single execution pipeline. It supports advanced visual customization by integrating custom fragment shaders for GPU-accelerated re
This project is a comprehensive technical interview preparation guide and computer science knowledge base. It serves as a structured study resource designed to help software engineers review core engineering concepts and prepare for professional coding assessments. The repository focuses on a wide array of theoretical and practical domains, including detailed references for mobile application architecture and operating system fundamentals. It provides curated materials on software architecture patterns and network protocol analysis to support professional development. The content covers foun