A creative, local-first studio for kids to create, curate, and animate.
Tiny Museum is not just a drawing app; it's a complete Creation β Curation β Exhibition β Publication loop. Designed for children (ages 4-10), it turns digital sketching into a meaningful journey of pride and ownership.
Unlike apps that focus on passive consumption or AI-generated shortcuts, Tiny Museum empowers kids to build their own creative legacy:
- Real Animation: No AI illusions. Kids learn the magic of motion through manual flipbook sequencing and onion skinning.
- Gallery as a Core Mechanic: The gallery isn't just a file browserβit's an immersive "Museum Walk" where art is named, framed, and curated into themed rooms.
- Creation-First: Every masterpiece reflects the effort and joy of the maker.
- Local-First & Private: Your child's art belongs to their device (IndexedDB). No accounts, no trackers, no ads.
- Safe Publishing: A parent-gated "Publish to Web" feature allows kids to explicitly choose which works to share in a public online gallery.
Tiny Museum fills a gap in the market by providing a cohesive Creation β Curation β Exhibition loop. Unlike fragmented tools, it offers:
- Gallery as a Core Mechanic: Not just a file browser, but an immersive space for identity and storytelling.
- Real Animation for Kids: Manual sequencing (flipbook) over AI automation, building real creative ownership.
- Creation-First Philosophy: Focuses on the effort and pride of the maker, not digital shortcuts.
- Safe, Intentional Publishing: Purpose-built safety for young creators.
- Local-First Creative Ownership: Your data belongs to you, working offline by default.
- Physical β Digital Bridge: Import hand-drawn art and bring it to life with digital tools.
- Coherent Product Metaphor: Everything reinforces the idea: "You are the artist, this is your museum."
- Core Studio: Freehand drawing with high-touch, kid-friendly brushes (Crayon, Pencil, Marker, Spray).
- Mobile-Optimized Toolbar: Compact 2-row layout on mobile for maximum canvas space.
- Collage & Import: Bring in real-world art via camera or files, and enhance it with shapes and stickers.
- 24-Color Palette: A curated, vibrant palette designed for maximum delight.
- Flipbook Studio: A simple, tactile frame-by-frame animator with compact 4-row mobile layout.
- Onion Skinning: See your previous frame faintly to guide your next move.
- GIF Export: Turn your story into a shareable animation.
- Museum Walk: An immersive horizontal gallery where your art hangs on the wall.
- Room Management: Organize your work into "The Giggle Gallery," "Space Adventures," or custom-named rooms.
- Exhibit Detail: Name your art and move it between rooms.
- π Web Gallery: Explicitly publish chosen works to a public online collection (Supabase).
- Live Badges: See which of your masterpieces are "Live" globally.
- Framework: Next.js (App Router, Turbopack)
- Canvas Engine: Fabric.js
- Storage: Dexie.js (IndexedDB wrapper)
- Animations: Framer Motion & CSS keyframes
- Database & Storage: Supabase (Postgres + Cloud Storage)
- Export: gif.js (integrated logic)
- Styling: Tailwind CSS
- Node.js 20+
- npm
- Clone the repository:
git clone https://github.com/socialawy/tiny-museum.git cd tiny-museum - Install dependencies:
npm install
- Set up environment variables:
Create a
.env.localfile with your Supabase credentials (see.env.local.example). - Run the development server:
npm run dev
- Open http://localhost:3000 (or your network IP) in your browser.
src/app: Next.js pages and layouts.src/components: React components (Studio, Gallery, UI).src/lib: Core logic (Storage, Fabric.js wrappers, Cloud publishing, GIF export).src/hooks: Custom React hooks for canvas and data lifecycle.src/stores: Zustand stores for global application state.docs/: Design blueprint and project devlog.
This project is licensed under the MIT License - see the LICENSE file for details.