
Masayoshi contributed to the sushi-labs/sushiswap repository by engineering cross-chain trading features, refining smart contract integrations, and enhancing the platform’s frontend architecture. Over 17 months, Masayoshi delivered robust solutions for multi-network swaps, staking flows, and advanced analytics, using TypeScript, React, and Next.js. Their work included standardizing contract ABIs, optimizing data fetching, and implementing dynamic UI components that improved user experience and reliability. By upgrading dependencies, managing configuration for new networks, and integrating wallet and privacy features, Masayoshi ensured the codebase remained secure and scalable. The depth of their contributions reflects strong full-stack proficiency and a focus on maintainable, production-grade systems.
February 2026 delivered substantial frontend, reliability, and UX improvements for sushi-labs/sushiswap, driving user value and maintainability. Key features include frontend and graph-client enhancements (monad on xswap; xlayer & megaeth; smart pool pages; steer graph-client) and ongoing Smart Pools UX work (Explore Smart Pools, filters, v3 add-flow integration, positions, tooltips, sitemap, and portfolio visibility). Major fixes stabilized core infrastructure (pnpm-lock, chainId handling, domain corrections to drpc.live, MegaETH icon) and data-api/type updates. Maintenance work included Sushi package bumps and cleanup to reduce technical debt, supporting faster iteration and scalability. This combination enhances user experience, reliability, and long-term scalability, enabling quicker delivery of features and improved business outcomes.
February 2026 delivered substantial frontend, reliability, and UX improvements for sushi-labs/sushiswap, driving user value and maintainability. Key features include frontend and graph-client enhancements (monad on xswap; xlayer & megaeth; smart pool pages; steer graph-client) and ongoing Smart Pools UX work (Explore Smart Pools, filters, v3 add-flow integration, positions, tooltips, sitemap, and portfolio visibility). Major fixes stabilized core infrastructure (pnpm-lock, chainId handling, domain corrections to drpc.live, MegaETH icon) and data-api/type updates. Maintenance work included Sushi package bumps and cleanup to reduce technical debt, supporting faster iteration and scalability. This combination enhances user experience, reliability, and long-term scalability, enabling quicker delivery of features and improved business outcomes.
January 2026 (sushi-labs/sushiswap): Delivered strategic frontend and integration work that broadens fiat onboarding, expands multi-network reach, and improves data performance. Key outcomes include Onramper signed URL integration with dynamic multi-crypto wallet handling, new MegaETH and XLAYER network configurations with UI icons, targeted UI cleanups for Katana subgraphs notices, and a data-fetching and dependency-stability upgrade path.
January 2026 (sushi-labs/sushiswap): Delivered strategic frontend and integration work that broadens fiat onboarding, expands multi-network reach, and improves data performance. Key outcomes include Onramper signed URL integration with dynamic multi-crypto wallet handling, new MegaETH and XLAYER network configurations with UI icons, targeted UI cleanups for Katana subgraphs notices, and a data-fetching and dependency-stability upgrade path.
Monthly Summary for sushi-labs/sushiswap — 2025-12: - Key features delivered: - Sushi Bar Direct Staking/Unstaking UX Enhancement: Refactored the staking/unstaking flow to route through Sushi Bar directly, simplifying the codebase and improving the user experience. Commit: 43cddf34c8893178b1a2fa62a6116738a3d65978 (fix: use sushi bar directly). - Dependency Upgrade: Next.js 15.5.9 Compatibility Update: Upgraded Next.js from 15.5.7 to 15.5.9 across configuration files to ensure compatibility with the latest features and fixes. Commit: 5306e20123c950d90a9a3a9cf5077e9f49c8f887 (chore: bump next pkg). - Major bugs fixed: - Fixed staking/unstaking edge-case by routing directly through Sushi Bar, resolving issues observed in the previous flow. Commit: 43cddf34c8893178b1a2fa62a6116738a3d65978 (fix: use sushi bar directly). - Overall impact and accomplishments: - Improved user experience and reduced friction in staking flows, contributing to higher user engagement and lower support load. - Strengthened platform stability and future readiness by aligning core dependencies with the latest Next.js release, enabling smoother feature work and fixes. - Technologies/skills demonstrated: - Frontend/UX refactoring and architecture simplification (staking/unstaking flow). - Dependency management and release hygiene (Next.js upgrade, config-level changes). - Version control discipline with focused commits and traceable changes. Business value: - The UX enhancement reduces user errors and increases conversion during staking actions, supporting growth in on-chain participation. The Next.js upgrade reduces technical debt and positions the product for upcoming capabilities and performance improvements.
Monthly Summary for sushi-labs/sushiswap — 2025-12: - Key features delivered: - Sushi Bar Direct Staking/Unstaking UX Enhancement: Refactored the staking/unstaking flow to route through Sushi Bar directly, simplifying the codebase and improving the user experience. Commit: 43cddf34c8893178b1a2fa62a6116738a3d65978 (fix: use sushi bar directly). - Dependency Upgrade: Next.js 15.5.9 Compatibility Update: Upgraded Next.js from 15.5.7 to 15.5.9 across configuration files to ensure compatibility with the latest features and fixes. Commit: 5306e20123c950d90a9a3a9cf5077e9f49c8f887 (chore: bump next pkg). - Major bugs fixed: - Fixed staking/unstaking edge-case by routing directly through Sushi Bar, resolving issues observed in the previous flow. Commit: 43cddf34c8893178b1a2fa62a6116738a3d65978 (fix: use sushi bar directly). - Overall impact and accomplishments: - Improved user experience and reduced friction in staking flows, contributing to higher user engagement and lower support load. - Strengthened platform stability and future readiness by aligning core dependencies with the latest Next.js release, enabling smoother feature work and fixes. - Technologies/skills demonstrated: - Frontend/UX refactoring and architecture simplification (staking/unstaking flow). - Dependency management and release hygiene (Next.js upgrade, config-level changes). - Version control discipline with focused commits and traceable changes. Business value: - The UX enhancement reduces user errors and increases conversion during staking actions, supporting growth in on-chain participation. The Next.js upgrade reduces technical debt and positions the product for upcoming capabilities and performance improvements.
Monthly summary for 2025-11: Sushi-labs/sushiswap delivered customer-facing feature improvements, stability fixes, and ongoing maintenance to boost reliability and developer productivity. Business value centers on expanded fee tier visibility, improved swap routing with Hemi, and Monad-enabled multi-chain support, while code hygiene and API typings were updated to reduce tech debt and future risk.
Monthly summary for 2025-11: Sushi-labs/sushiswap delivered customer-facing feature improvements, stability fixes, and ongoing maintenance to boost reliability and developer productivity. Business value centers on expanded fee tier visibility, improved swap routing with Hemi, and Monad-enabled multi-chain support, while code hygiene and API typings were updated to reduce tech debt and future risk.
October 2025 (Month: 2025-10) – SushiSwap repo (sushi-labs/sushiswap) delivered targeted architectural refinements, reliability improvements, and UX enhancements that directly support business value and developer velocity. Key outcomes include standardized ABIs and address lookups, a secure/compatible dependency upgrade path, cross-network feature enablement, and performance-oriented versioning and caching optimizations across the app. Key features delivered: - SushiSwap ABIs and address map standardization: Refactor ABIs for V2 and V3, consolidate imports, and adopt a constant address map to streamline contract lookups and maintenance. (Commit: 5aec8a7c272785b039d4ebc15997b52a87359e83) - Dependency upgrades across Sushi, Wagmi, Viem, Porto, and Abitype: Updated to latest stable versions with lockfile-only changes that improve security and compatibility. (Commits: f4b9a89c82f6b8d2b4a68a0076c535c107ad3eea; 83030afd9d78a900d29e65016a239ddf20e3d2af; f2b24f90ab75daf2c3d6e618884706f430f12856; 5f200a5d6e4961150b0a243c711d644f12e19d3c; 2ad8a7b4fa84bfed006004613b2fd0e27dcfac43) - XSWAP across networks: HyperEVM, Berachain, and Plasma – Activated network support by updating configuration to enable chain IDs across these networks. (Commits: 685d8a253e55c2237c4f8ac4eca5e2c4e2230e10; 20e318a7068eade11e39a4f5a87742b802094915) - UI/UX enhancements: SettingsOverlay rendering refactor and cookie banner improvements (More button to expand policy text). (Commits: 89ba4055399e8d3c358b0486b6affdf745ef9faf; b77333b8c96d9f1fcf5ed8f3e1ab1132708a2619) - App versioning and refresh optimization: Improved versioning logic and refresh behavior, including cache header adjustments and a conditional versioning hook based on Git commit SHA, plus environment-driven refresh optimization. (Commits: ff41594c23202556079912714c87e8e4a4b5398a; c4824494ea76beb48af2995e8873ee7251326e11) Major bugs fixed: - Settings module display logic fixed to stabilize rendering across scenarios. (Commit: 89ba4055399e8d3c358b0486b6affdf745ef9faf) - Refresh mechanism fixes to ensure reliable app state and updated cache handling. (Commit: ff41594c23202556079912714c87e8e4a4b5398a) Overall impact and accomplishments: - Improved maintainability and developer velocity through ABI standardization and centralized address mapping, reducing code churn and error-prone imports. - Strengthened security and stability via lockfile-only dependency upgrades and alignment with latest ecosystem changes. - Expanded market reach and resilience by enabling XSWAP across additional networks, increasing liquidity tooling coverage. - Enhanced user experience and governance by refining SettingsOverlay behavior and policy text accessibility. - Optimized performance and reliability with smarter app versioning, caching, and environment-aware refresh strategies, leading to faster load times and reduced re-fetching. Technologies/skills demonstrated: - Smart contract interaction abstractions (ABIs, address maps) - Dependency management and release hygiene across a multi-package JS/TS ecosystem - Multi-network feature enablement and configuration management - Frontend UI/UX refactors and responsive behavior improvements - Performance optimization, caching strategies, and Git-based versioning strategies
October 2025 (Month: 2025-10) – SushiSwap repo (sushi-labs/sushiswap) delivered targeted architectural refinements, reliability improvements, and UX enhancements that directly support business value and developer velocity. Key outcomes include standardized ABIs and address lookups, a secure/compatible dependency upgrade path, cross-network feature enablement, and performance-oriented versioning and caching optimizations across the app. Key features delivered: - SushiSwap ABIs and address map standardization: Refactor ABIs for V2 and V3, consolidate imports, and adopt a constant address map to streamline contract lookups and maintenance. (Commit: 5aec8a7c272785b039d4ebc15997b52a87359e83) - Dependency upgrades across Sushi, Wagmi, Viem, Porto, and Abitype: Updated to latest stable versions with lockfile-only changes that improve security and compatibility. (Commits: f4b9a89c82f6b8d2b4a68a0076c535c107ad3eea; 83030afd9d78a900d29e65016a239ddf20e3d2af; f2b24f90ab75daf2c3d6e618884706f430f12856; 5f200a5d6e4961150b0a243c711d644f12e19d3c; 2ad8a7b4fa84bfed006004613b2fd0e27dcfac43) - XSWAP across networks: HyperEVM, Berachain, and Plasma – Activated network support by updating configuration to enable chain IDs across these networks. (Commits: 685d8a253e55c2237c4f8ac4eca5e2c4e2230e10; 20e318a7068eade11e39a4f5a87742b802094915) - UI/UX enhancements: SettingsOverlay rendering refactor and cookie banner improvements (More button to expand policy text). (Commits: 89ba4055399e8d3c358b0486b6affdf745ef9faf; b77333b8c96d9f1fcf5ed8f3e1ab1132708a2619) - App versioning and refresh optimization: Improved versioning logic and refresh behavior, including cache header adjustments and a conditional versioning hook based on Git commit SHA, plus environment-driven refresh optimization. (Commits: ff41594c23202556079912714c87e8e4a4b5398a; c4824494ea76beb48af2995e8873ee7251326e11) Major bugs fixed: - Settings module display logic fixed to stabilize rendering across scenarios. (Commit: 89ba4055399e8d3c358b0486b6affdf745ef9faf) - Refresh mechanism fixes to ensure reliable app state and updated cache handling. (Commit: ff41594c23202556079912714c87e8e4a4b5398a) Overall impact and accomplishments: - Improved maintainability and developer velocity through ABI standardization and centralized address mapping, reducing code churn and error-prone imports. - Strengthened security and stability via lockfile-only dependency upgrades and alignment with latest ecosystem changes. - Expanded market reach and resilience by enabling XSWAP across additional networks, increasing liquidity tooling coverage. - Enhanced user experience and governance by refining SettingsOverlay behavior and policy text accessibility. - Optimized performance and reliability with smarter app versioning, caching, and environment-aware refresh strategies, leading to faster load times and reduced re-fetching. Technologies/skills demonstrated: - Smart contract interaction abstractions (ABIs, address maps) - Dependency management and release hygiene across a multi-package JS/TS ecosystem - Multi-network feature enablement and configuration management - Frontend UI/UX refactors and responsive behavior improvements - Performance optimization, caching strategies, and Git-based versioning strategies
September 2025 focused on delivering user-centric UI improvements, expanding multi-network readiness, wallet integration, and reliability enhancements to support growth and business value. The month also modernized tooling and stabilized the build pipeline to ensure scalable, production-grade releases.
September 2025 focused on delivering user-centric UI improvements, expanding multi-network readiness, wallet integration, and reliability enhancements to support growth and business value. The month also modernized tooling and stabilized the build pipeline to ensure scalable, production-grade releases.
August 2025 monthly summary for sushi-labs/sushiswap: Achieved key stability, security, and UX improvements. Delivered dependency upgrades to latest stable versions for security; expanded cross-network Zap/Network support including Linea, Sonic, and Berachain with related UI/config fixes; completed privacy UX overhaul with granular cookie controls and analytics toggles; and enhanced trading clarity by displaying slippage as a percentage in the concentrated liquidity modal. These efforts improved security posture, broadened network reach, strengthened privacy compliance, and improved trader decision-making.
August 2025 monthly summary for sushi-labs/sushiswap: Achieved key stability, security, and UX improvements. Delivered dependency upgrades to latest stable versions for security; expanded cross-network Zap/Network support including Linea, Sonic, and Berachain with related UI/config fixes; completed privacy UX overhaul with granular cookie controls and analytics toggles; and enhanced trading clarity by displaying slippage as a percentage in the concentrated liquidity modal. These efforts improved security posture, broadened network reach, strengthened privacy compliance, and improved trader decision-making.
Concise monthly summary for 2025-07 covering sushi-labs/sushiswap with focus on business value and technical achievements. Delivered features advancing cross-chain capabilities and testing reliability, while stabilizing the codebase through linting, build fixes, and dependency updates. Key outcomes include enabling simulate mode on the swap API, adding cross-chain rewards support in useClaimableRewards, enabling zaps on Katana and introducing V3 zap functionality with priceImpact, and implementing robustness improvements to pool queries and the UI. These efforts reduced operational risk, improved user experience, and expanded multi-chain functionality.
Concise monthly summary for 2025-07 covering sushi-labs/sushiswap with focus on business value and technical achievements. Delivered features advancing cross-chain capabilities and testing reliability, while stabilizing the codebase through linting, build fixes, and dependency updates. Key outcomes include enabling simulate mode on the swap API, adding cross-chain rewards support in useClaimableRewards, enabling zaps on Katana and introducing V3 zap functionality with priceImpact, and implementing robustness improvements to pool queries and the UI. These efforts reduced operational risk, improved user experience, and expanded multi-chain functionality.
June 2025: Delivered cross-network features and UI polish for sushi-labs/sushiswap, with strong dependency hygiene and reliability improvements. Expanded chain coverage with ApeChain on XSwap, improved data integrity with API types updates and v3 helper address alignment, and implemented feature flag-based Katana rollout. Achieved notable UI/UX refinements to improve user experience and performance.
June 2025: Delivered cross-network features and UI polish for sushi-labs/sushiswap, with strong dependency hygiene and reliability improvements. Expanded chain coverage with ApeChain on XSwap, improved data integrity with API types updates and v3 helper address alignment, and implemented feature flag-based Katana rollout. Achieved notable UI/UX refinements to improve user experience and performance.
May 2025 monthly summary for sushi-labs/sushiswap: Delivered a mix of feature work, reliability fixes, and UX improvements across the UI and trading components, with a strong emphasis on data freshness, performance, and developer experience. Highlights include test scaffolding improvements, metadata/cache upgrades, TWAP and DCA trading UI enhancements, native-token integration, and ongoing codebase cleanup. The changes reduced stale data, improved reliability of orders and charts, and positioned the product for upcoming releases.
May 2025 monthly summary for sushi-labs/sushiswap: Delivered a mix of feature work, reliability fixes, and UX improvements across the UI and trading components, with a strong emphasis on data freshness, performance, and developer experience. Highlights include test scaffolding improvements, metadata/cache upgrades, TWAP and DCA trading UI enhancements, native-token integration, and ongoing codebase cleanup. The changes reduced stale data, improved reliability of orders and charts, and positioned the product for upcoming releases.
April 2025 monthly summary for sushi-labs/sushiswap: Delivered core features that enhance trading safety, data accuracy, and user experience, while also strengthening maintenance and performance foundations to support scale and reliability. Key highlights by area: - Slippage system and risk signals: Implemented SlippageWarning and PriceImpactWarning with an integrated slippage checker and warnings in applicable flows; added a destructive variant to slippage settings to support safer user choices. - Token data robustness: Hardened token data paths with tokenSecurity cleanup, safeParse usage, and robust error handling in the token-scanner route to reduce failures and improve data integrity. - UI polish and reliability: Fixed UI edge cases and visuals, including slippage checker width, UnknownTokenIcon rendering, swap widget URL, token price chart accuracy, and a new duration toggle for token charts. - Maintenance, performance, and code quality: Adopted API v7 for data retrieval, optimized V3 position and fee fetching, and performed extensive code cleanups (Pools naming improvements, mocks updates, dependency bumps, and UI/UX refinements) to reduce technical debt and improve performance. - Typing and resilience: Addressed chainId typing and token type typing, fixed infinite loading on error, and improved slippage guard state for more predictable UX. Overall impact: These changes deliver measurable business value by reducing user risk in trading, improving data accuracy and load performance, shortening cycle times for fixes and enhancements, and strengthening the platform’s safety and developer experience.
April 2025 monthly summary for sushi-labs/sushiswap: Delivered core features that enhance trading safety, data accuracy, and user experience, while also strengthening maintenance and performance foundations to support scale and reliability. Key highlights by area: - Slippage system and risk signals: Implemented SlippageWarning and PriceImpactWarning with an integrated slippage checker and warnings in applicable flows; added a destructive variant to slippage settings to support safer user choices. - Token data robustness: Hardened token data paths with tokenSecurity cleanup, safeParse usage, and robust error handling in the token-scanner route to reduce failures and improve data integrity. - UI polish and reliability: Fixed UI edge cases and visuals, including slippage checker width, UnknownTokenIcon rendering, swap widget URL, token price chart accuracy, and a new duration toggle for token charts. - Maintenance, performance, and code quality: Adopted API v7 for data retrieval, optimized V3 position and fee fetching, and performed extensive code cleanups (Pools naming improvements, mocks updates, dependency bumps, and UI/UX refinements) to reduce technical debt and improve performance. - Typing and resilience: Addressed chainId typing and token type typing, fixed infinite loading on error, and improved slippage guard state for more predictable UX. Overall impact: These changes deliver measurable business value by reducing user risk in trading, improving data accuracy and load performance, shortening cycle times for fixes and enhancements, and strengthening the platform’s safety and developer experience.
March 2025 performance highlights: delivered customer-facing features that improve engagement and revenue potential, strengthened platform reliability, and modernized APIs. The team shipped user-focused reward flows, cleaned up banner management, and integrated external data to enhance token analytics, while also stabilizing the UI and infrastructure for faster future iterations.
March 2025 performance highlights: delivered customer-facing features that improve engagement and revenue potential, strengthened platform reliability, and modernized APIs. The team shipped user-focused reward flows, cleaned up banner management, and integrated external data to enhance token analytics, while also stabilizing the UI and infrastructure for faster future iterations.
February 2025 – Sushi-labs/sushiswap: Delivered a set of security, reliability, and UX improvements across the swap flow, with a focus on performance, safer defaults, and developer ergonomics. Key updates include migration to Route Processor 6 (RP6) with a new trade quote hook and updated contract/address usage, enhanced ERC20 approval flows, and critical library/type upgrades that reduce risk and improve maintainability. Also hardened gas estimation, UI/UX robustness, and TypeScript typings for Wagmi hooks to improve safety and developer experience. Impact highlights: - More reliable and accurate swap quotes via RP6 and new trade quote hook. - Clearer user approvals with RevokeApproveERC20 component and improved revoke visibility during loading. - Safer, up-to-date dependency baseline through Sushi library upgrades and lockfile updates. - Lowered transaction risk and cost with refined gas estimation, 20% buffer, and optional gas/gasPrice fields. - Improved developer experience and UI robustness through TS typings refactor and UI fixes (initial render, minOut display, CoinGecko fields). Business value: Reduced friction in swaps, fewer failed transactions, clearer user interactions, and faster onboarding for future changes.
February 2025 – Sushi-labs/sushiswap: Delivered a set of security, reliability, and UX improvements across the swap flow, with a focus on performance, safer defaults, and developer ergonomics. Key updates include migration to Route Processor 6 (RP6) with a new trade quote hook and updated contract/address usage, enhanced ERC20 approval flows, and critical library/type upgrades that reduce risk and improve maintainability. Also hardened gas estimation, UI/UX robustness, and TypeScript typings for Wagmi hooks to improve safety and developer experience. Impact highlights: - More reliable and accurate swap quotes via RP6 and new trade quote hook. - Clearer user approvals with RevokeApproveERC20 component and improved revoke visibility during loading. - Safer, up-to-date dependency baseline through Sushi library upgrades and lockfile updates. - Lowered transaction risk and cost with refined gas estimation, 20% buffer, and optional gas/gasPrice fields. - Improved developer experience and UI robustness through TS typings refactor and UI fixes (initial render, minOut display, CoinGecko fields). Business value: Reduced friction in swaps, fewer failed transactions, clearer user interactions, and faster onboarding for future changes.
January 2025 monthly summary for sushi-labs/sushiswap focused on delivering business value through feature-rich UX improvements, stability fixes, and proactive maintenance. The team shipped user-facing Zap integration with branding, stabilized the XSwap UI across devices, and implemented price impact and UI fee enhancements. Maintenance and dependency upgrades modernized the codebase and prepared the stack for scalable growth. Graph client alignment and Sushi dependency bumps ensure system-wide compatibility.
January 2025 monthly summary for sushi-labs/sushiswap focused on delivering business value through feature-rich UX improvements, stability fixes, and proactive maintenance. The team shipped user-facing Zap integration with branding, stabilized the XSwap UI across devices, and implemented price impact and UI fee enhancements. Maintenance and dependency upgrades modernized the codebase and prepared the stack for scalable growth. Graph client alignment and Sushi dependency bumps ensure system-wide compatibility.
December 2024 monthly performance for sushi-labs/sushiswap focused on delivering user-visible features, stabilizing navigation and routing, and improving developer experience via code quality and observability. Key outcomes include UI enhancements, routing resilience, feature flag controls, and enhanced analytics, underpinned by ongoing dependency hygiene and accessibility improvements.
December 2024 monthly performance for sushi-labs/sushiswap focused on delivering user-visible features, stabilizing navigation and routing, and improving developer experience via code quality and observability. Key outcomes include UI enhancements, routing resilience, feature flag controls, and enhanced analytics, underpinned by ongoing dependency hygiene and accessibility improvements.
November 2024 monthly summary for sushi-labs/sushiswap. Focused on delivering cross-pool zap capabilities (Pool v2 and Smart Pool) with UI toggles and enhanced user flows, alongside targeted reliability and code quality improvements that collectively reduce user friction and improve platform performance.
November 2024 monthly summary for sushi-labs/sushiswap. Focused on delivering cross-pool zap capabilities (Pool v2 and Smart Pool) with UI toggles and enhanced user flows, alongside targeted reliability and code quality improvements that collectively reduce user friction and improve platform performance.
October 2024 performance summary for sushi-labs/sushiswap: Delivered cross-chain network prioritization and mobile UI improvements, expanded chain mappings, added new network indicators, and extended chain support. Implemented critical UI fixes and new chain coverage to improve cross-chain UX, accuracy of chain data, and platform reach. The work reduces user friction in swap flows, improves visual consistency, and broadens market coverage through support for TRON and additional chains.
October 2024 performance summary for sushi-labs/sushiswap: Delivered cross-chain network prioritization and mobile UI improvements, expanded chain mappings, added new network indicators, and extended chain support. Implemented critical UI fixes and new chain coverage to improve cross-chain UX, accuracy of chain data, and platform reach. The work reduces user friction in swap flows, improves visual consistency, and broadens market coverage through support for TRON and additional chains.

Overview of all repositories you've contributed to across your timeline