Inspiration

Most people believe they "can't draw," but almost anyone can trace. I wanted to remove the barrier between wanting to draw and actually drawing. Existing AR tracing apps proved the idea works, but their reviews kept complaining about the same thing: aggressive paywalls and surprise trial charges. I wanted to build an app that feels fair and gets people drawing within seconds.

What it does

Draw Dreams turns your phone into a drawing projector. Pick a template from the library or import any photo, and the app overlays it on your live camera feed. Place a sheet of paper under your phone and trace the lines by hand.

Adjustable opacity, pan, pinchtoresize, rotate, and flip controls Lock mode, so the overlay stays put while you draw Flashlight toggle for lowlight drawing Phototooutline conversion using edge detection A categorized template library (animals, anime, cars, nature, and more) Save your finished work to your gallery A free tier with a set of free templates, and premium templates via subscription

How we built it

Draw Dreams is built with Flutter and Dart for crossplatform support.

Camera and overlay: the camera package for the live feed, with a Stack and Matrix4 transforms for the pan, scale, and rotate gestures Photo to outline: opencv_dart runs Canny edge detection ondevice State management: flutter_riverpod, with all overlay transform state (position, scale, rotation, opacity, lock) in a single controller Backend: Supabase for the template catalog, storage, auth, and saved drawings Monetization: subscriptions powered by the RevenueCat SDK, with a clear paywall and a restorepurchases flow

Challenges we ran into

Gesture state: keeping pan, zoom, and rotate smooth while also supporting lock, flip, and opacity without the state getting tangled. Isolating it in one controller fixed most of this. Camera performance across devices: camera quality and speed vary a lot between phones, so testing on real hardware mattered. Edge detection quality: getting outlines that were clean enough to trace, not noisy. A fair paywall: deciding what to keep free and how to state trial terms clearly, so users never feel tricked.

Accomplishments that we're proud of

A smooth, responsive tracing screen where all the controls work together Turning any photo into a traceable outline ondevice A monetization model that respects users instead of trapping them Shipping a complete flow from browsing templates to saving finished art

What we learned

How to manage complex gesture and camera state cleanly with Riverpod How to run ondevice image processing with OpenCV in Flutter How to design inapp purchases and subscriptions so users see the terms up front That a simple 2D overlay solves the real problem better than heavier trueAR tech

What's next for Draw Dreams

Guided stepbystep drawing lessons Timelapse recording of the drawing process AIgenerated custom templates from a text prompt Optional planeanchored AR mode Community features like sharing and challenges

Built With

Share this project:

Updates

Submission history