Flutter Packages

A collection of my open source work

Flutter Packages

Over the course of my multiple Flutter projects, I authored a variety of open source packages for the Flutter ecosystem. The following presents a quick overview over most of them:

Scribble

scribble | Flutter Package
Scribble is a lightweight library for freehand drawing in Flutter supporting pressure, variable line width and more!

The most popular among my packages is scribble, a lightweight library for freehand drawing in Flutter supporting pressure, variable line width and more. It arose out of the need for custom freehand notes for the fyzo Assistant application and has amassed over a hundred thumbs up on pub.dev.

A video of Scribble freehand drawing in action

Figmage

figmage | Dart package
A CLI tool for generating Figma styles for Flutter

As part of my whynotmake.it project, I co-authored Figmage, a CLI that automatically imports the tokens for an entire Design system from Figma into a standalone Flutter package. Figmage is the first tool of its kind to support Figma styles and variables alike, which makes it extremely flexible and powerful for fast-paced, iterative development.

Dart Coverage Assistant

GitHub - whynotmake-it/dart-coverage-assistant: Magically generates code coverage reports from your dart projects
Magically generates code coverage reports from your dart projects - whynotmake-it/dart-coverage-assistant

Dart Coverage Assistant is a GitHub Action that automatically generates coverage reports and badges for Dart and Flutter monorepos. It works without any configuration, and dynamically finds all packages in the repository. I published this action as part of the whynotmake.it project.

Broody Video

broody_video | Flutter Package
The video manipulation library for broody. iOS only for now.

Although broody_video is still in development, it has the potential to become one of the most feature-rich video transcoding plugin in the Flutter ecosystem. It leverages native Android/iOS APIs to achieve a better performance than FFMPEG, while enabling projects that can't be published under GNU GPL.

At this point, the plugin supports, trimming, cropping and compressing video clips, as well as extracting thumbnails. The package was co-authored with Jesper Bellenbaum, just like the Broody app.

Value Notifier Tools

value_notifier_tools | Flutter package
Helpful lightweight tools for working with ValueNotifiers

This package adds versatile functionality to Flutter's ValueNotifier, such as undo/redo support, rebuild filtering or the transformation of values.

It was built by me as part of the Scribble package.

Smooth Video Progress

smooth_video_progress | Flutter Package
An interpolated progress builder for video_player controllers

Most Flutter apps that want to display video do so by depending on the video_player package. While creating Broody, I was frustrated with the janky UX that this creates, since the native video player library sends progress updates too infrequently. Therefore, smooth_video_progress was created to interpolate the inbetween values for a smoother user experience.

Rotation Stage

rotation_stage | Flutter Package
A four-sided stage for representing 3D objects with four widgets

rotation_stage, another co-op with Jesper Bellenbaum, offers a clever way of presenting a four-sided object in a Flutter widget by using matrix transformations. It is probably easiest to convey it's functionality in a short GIF: