My Google Summer of Code 2025 journey with Catrobat

Amit MatthAmit Matth
3 min read

My Google Summer of Code 2025 journey with Catrobat - Amit Matth

When I got selected for Google Summer of Code 2025 with Catrobat, I knew I was about to work on something special bringing the beloved Paintroid experience into a cross-platform Flutter app.

It wasnโ€™t just about porting features; it was about reimagining them for a wider audience and making them more powerful, creative, and fun.


๐Ÿš€ The Mission

Paintroid has been a popular Android drawing app for years, but the world is moving cross-platform โ€” and so is creativity.

My project aimed to:

  • Complete and polish unfinished tools.

  • Add new creative features.

  • Expand file format support.

  • Make the experience smoother and more intuitive for users.

In short: keep the charm of Paintroid, but give it a fresh, modern, cross-platform life in Flutter.


๐Ÿ› ๏ธ What I Worked On

1. Completed & Polished Text Tool

One of my first tasks was to finish the pending Text Tool implementation, ensuring it worked seamlessly in Flutter and felt natural for users.

  • Added a smart bounding box with 1:1 precision matching the native app.

  • Introduced new handles for rotation and edge stretching.

  • Improved rendering clarity.

๐Ÿ”— Issue: PAINTROID-759 | PR: #120


2. Enhanced Shape Tool with More Styles

The Shape Tool now supports:

  • Heart and Star shapes

  • Dashed, filled, and filled-with-dash styles

This gives artists more variety and control over their designs.

๐Ÿ”— Issue: PAINTROID-765 | PR: #121


3. Clipboard Tool โ€“ Copy, Cut, Paste Magic

I implemented a brand-new Clipboard Tool, allowing users to:

  • Copy, Cut, and Paste selected areas.

This was a major workflow efficiency boost for artists.

๐Ÿ”— Issue: PAINTROID-795 | PR: #128


4. Upgraded Color Picker to Multi-Mode Hub

The original color picker was functional but limited. I transformed it into a multi-mode color hub:

  • ๐ŸŽจ Color Wheel

  • ๐ŸŒˆ Saturation Picker

  • ๐ŸŽš๏ธ HSV Sliders

  • ๐Ÿ”ด RGB Slider Group

  • ๐ŸŸฆ Improved Square Grid Picker

๐Ÿ”— Issue: PAINTROID-794 | PR: #123


5. ORA File Support

Added OpenRaster (.ora) file save support, enabling users to export artwork in a widely supported format.

๐Ÿ”— Issue: PAINTROID-457 | PR: #119


6. New Creative Tools

  • Watercolor Tool โ€“ for soft, realistic paint effects.

๐Ÿ”— Issue: PAINTROID-793 | PR: #124

  • Clip Area Tool โ€“ to isolate and work on specific parts of the canvas.

๐Ÿ”— Issue: PAINTROID-796 | PR: #132


7. Other Contributions


8. Testing Contributions

Alongside implementation, I also worked on strengthening the testing framework:

  • Wrote unit tests and integration tests for new and existing tools.

  • Ensured stability, maintainability, and smoother future contributions.


๐Ÿ“š Lessons Learned

  • How to translate Android-native features into Flutter while keeping the same feel.

  • The importance of tool scope discipline (sticking to one Jira ticket was harder than it sounds!).

  • Writing tests for creative tools taught me how to simulate real user actions.


Acknowledgments โค๏ธ

Thanks to Abdulbaki Celebi for his continuous guidance and mentorship.

And a big thanks to Catrobat for letting me work on such a creative project under Google Summer of Code 2025.


๐Ÿ’ป Curious to dive in? Check out the project repositories here:

0
Subscribe to my newsletter

Read articles from Amit Matth directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Amit Matth
Amit Matth

Hi, Iโ€™m Amit ๐Ÿ‘‹ A self-taught Android & Flutter developer from Haryana, India. I love turning ideas into apps, contributing to open source, and writing about my coding journey to help others learn along with me.