The project is based on representing motion through structured transformations rather than timeline-based keyframes. This required designing a custom internal model for shapes, animations, and state transitions, with a clear separation between data, logic, and rendering. The main challenge was translating visual motion into predictable, programmable behavior while maintaining flexibility and performance. From an engineering perspective, FlashFX involved extensive work on software structure and system design. I built modular components to manage shape definitions, transformation logic, animation composition, and execution order, allowing each part of the system to evolve independently without disrupting the overall pipeline. Particular attention was paid to reducing coupling between components and keeping interfaces explicit and testable. Performance was a core focus throughout development. The system was designed for fast iteration and low overhead, leading to deliberate choices in data structures, update loops, and state management. The codebase was continuously refactored to eliminate unnecessary computations and improve clarity, balancing expressiveness with execution efficiency. FlashFX also served as a practical environment for integrating AI-driven workflows into a real software system. This required designing interfaces and data representations capable of supporting future automation, procedural animation, and intelligent assistance without compromising the core architecture. Key skills developed and applied through this project include: * Software architecture and modular system design * Algorithmic representation of motion and transformations * Performance-oriented coding and refactoring * Clear separation of concerns between logic, data, and rendering * Designing systems that support future AI integration * Managing a growing codebase with long-term maintainability in mind