Today's Doodle

Project

Today's Doodle

Role
Full-Stack Developer | UIUX Designer
Tools / Tech
Node.js, Express, EJS, NeDB, P5js
Category / Type

personal project

Duration

30 Days

Timeline / Year

Dec 2024

Today's Doodle

Website currently under maintenance

Overview

Today’s Doodle is a creative web application designed to inspire daily artistic practice. The platform provides users with random doodle prompts and a lightweight drawing interface, encouraging quick, playful creativity rather than polished, time-intensive work. As Full-Stack Developer, I built the application’s end-to-end architecture—from interactive front-end drawing tools to backend user management and data storage.

Key feature

Home Page
Prepare page
Doodle Page
Result Page
Gallery Page
Personal Page
Login Page
Signup Page

Problem / Challenge

  • Existing drawing tools often emphasize professional workflows instead of playful, time-boxed creativity.
  • Users needed a platform that was accessible, lightweight, and habit-forming, with minimal friction to start drawing.

Goals & Approach

Goals

  • Provide daily creative prompts to inspire users.
  • Enable quick sketching with a simple interface.
  • Allow users to archive their doodles and view community creations.

Approach

  • Built a p5.js canvas for drawing, with time limits to encourage spontaneity.
  • Developed a Node.js + Express backend for authentication, storage, and gallery features.
  • Used NeDB, a lightweight JavaScript database, to handle persistent storage with minimal overhead.
  • Focused on a playful, minimal UX to make drawing feel approachable.

Development Process

Tech Stack: Node.js, Express, p5.js, NeDB, HTML, CSS, JavaScript

My Role: Full-Stack Developer — responsible for frontend drawing features, backend architecture, and deployment.

Key Development Challenges & Solutions:

  • Time-limited drawing: Implemented a countdown timer restricting each doodle to 30 seconds.
  • Data persistence: Built CRUD flows in NeDB to store doodles, metadata, and user accounts.
  • User management: Developed authentication system so users could log in, track progress, and save personal archives.
  • Dynamic galleries: Created both personal archives and daily galleries so users could revisit their own sketches and explore others’.

Key Features

  • Daily Prompts: Randomized doodle ideas to spark creativity.
  • Integrated Drawing Canvas: p5.js-powered canvas with a 30-second timer.
  • Smart Cropping Algorithm: Automatically detects and crops the drawn area on the canvas to remove empty space, ensuring doodles are displayed cleanly in galleries and archives.
  • Personal Archives: Users can save and revisit their own sketches.
  • Dynamic Daily Gallery: Displays community contributions by date.
  • Authentication: User login and account system to personalize experience.

Outcome / Results

  • Delivered a fully functional creative web app that supports both individual practice and community engagement.
  • Encouraged consistent creativity with a habit-forming workflow (daily prompt + short timebox).
  • Built a system that balances simplicity for casual users with enough backend robustness to scale features.