Optimising Large Projects
Guide to optimise large projects in Shaper.
As your project grows in scope – dozens of pages, hundreds of components – you might start to feel performance lags or organizational challenges. Here’s how to keep a large Shaper project running smoothly:
- Structured Project Organization: Organize your project into logical sections. Make use of Shaper’s ability to have multiple pages and group components. For example, don’t throw everything on one page; break your app into multiple pages/routes (Home, Dashboard, Settings, etc.). Within pages, structure content in sections/groups so you can collapse or focus on parts at a time.
- Component Modularization: Leverage components heavily. If you find the same set of elements repeating, turn it into a component. This not only promotes consistency but reduces complexity on each page. Large projects become manageable when split into smaller pieces. It also improves performance – updating one instance of a component uses cached rendering for others.
- Lazy Loading for Performance: Since Shaper uses Next.js, you can implement lazy loading for heavy components or large images. In code, use dynamic imports for components that aren’t needed immediately. The designer can still design those components separately. This is more of a development task, but it affects design: if a component is dynamically loaded, ensure you provide a fallback or loading state in the design.
- Avoid Overloading the Canvas: Shaper’s editor has to render what you put on it. If you have an extremely long page with hundreds of elements, consider breaking it into multiple pages or using pagination in the design. For example, instead of one page with 1000 items listed, design a component for one item and use code to loop it (if dynamic) or just show a representative sample in design. The full list can be generated in preview via code but doesn’t need to physically have 1000 layers in the editor.
- Use of Assets: Large background videos or high-resolution images can slow down the editor. Use optimized assets during design – perhaps a lower-res version while working, then swap in the high-res for production. Shaper might not compress images automatically, so manage your asset sizes for better performance.
- Regular Cleanup: Over time, you might accumulate unused styles, tokens, or even components (maybe from experiments or old iterations). Periodically review and clean these up:
-
Remove tokens that are no longer used (check where tokens are applied; Shaper might show usage stats).
-
Delete or archive components that have no instances.
-
Clear out any stray layers that are hidden and not needed.
This prevents bloat in both the design and the code.
-
- Performance Testing: If you’ve deployed your project, test it out as if it were live. Large projects can sometimes hit browser performance issues. Use Chrome DevTools performance profile on your deployed site to spot slow rendering. The culprit might be heavy DOM structure – which in Shaper translates to deeply nested frames or a very large number of elements. Optimize by simplifying some structures (e.g., maybe a complex set of div wrappers could be simplified by adjusting flex properties).
- Collaboration in Large Projects: If you have multiple team members editing a large project simultaneously, coordinate to avoid stepping on each other’s toes, especially in the same page. Use Shaper’s Lock/Hide feature on layers to prevent accidental edits in dense designs. For instance, lock the header and footer while someone works on the body content.
With these strategies, even a big app with many screens remains manageable. Remember, Shaper is built to handle real apps – we’ve seen it support projects with extensive design systems. The key is to stay organized and mindful of performance as you scale up.