Pixel Create is a mobile Android application designed to let users create retro-styled pixel art through an intuitive touch-based interface. The app centers on a customizable drawing canvas where each pixel can be edited individually, allowing for precise artwork reminiscent of classic video game graphics. Users can start new projects, reopen saved projects, and even duplicate existing pieces to experiment with different styles without losing their work. The drawing experience includes essential tools such as tapâtoâcolor, dragâtoâdraw, fill, erase, and a color picker, supported by undo/redo and zooming for fineâdetail work. A flexible color system allows users to build and reuse custom palettes, ensuring consistency across their artwork.
Intended users and user stories
The Hobby Artist
People who enjoy drawing casually and want a simple, relaxing creative outlet.
User Stories:
As a hobby artist, I want an easy way to create pixel art on my mobile device, so that I can doodle and experiment during my free time.
As a hobby artist, I want to save my work and access it from any device, so that I can continue my projects seamlessly across my phone, tablet, or computer.
Why they care:
Pixel art feels approachable and lowâpressure, and simple tools like undo/redo and palettes make the experience relaxing.
Retro Game Enthusiasts
Fans of classic games or people who want to create sprites for fun.
User Stories:
As a retro game enthusiast, I want to recreate pixel art from classic games, so that I can connect with the nostalgic art style I grew up with.
As a retro game enthusiast, I want to export my artwork at different resolutions, so that I can share it or use it in small personal projects.
Why they care:
Pixel art evokes nostalgia and allows them to recreate or reinterpret classic game characters.
Indie Game Developers (Beginner Level)
Students or hobbyists building small games who need simple sprite creation.
User Stories:
As an indie game developer, I need features like layering, grids, and export controls, so that I can create gameâready sprites that integrate smoothly into my projects.
As an indie game developer, I want an art gallery to manage multiple assets, so that I can organize characters, tiles, and icons for my game.
Why they care:
Pixel art allows quick prototyping, and an organized workflow helps manage multiple game assets efficiently.
Functionality
Note: Autosave and export history features may be considered stretch goals given the project timeline and the number of entities involved.
đ¨ Canvas and Drawing Capabilities
These functions define how users create and manipulate pixel art on the canvas.
Canvas creation â Users choose width and height to start a new project.
Pixel editing â Tap to color individual pixels with precision.
Continuous drawing â Drag to draw lines or fill areas quickly.
Zoom and pan â Navigate the canvas for detail work or fullâview inspection.
Undo/redo â Reverse or reapply recent actions to support experimentation.
Drawing tools â Fill bucket, eraser, color picker, and potentially symmetry tools.
Layer support (optional) â Add, hide, reorder, or lock layers for complex artwork.
đ¨ Color and Palette Management
These functions support color selection and consistency across projects.
Color palette selection â Choose from a default palette for quick access.
Custom palette creation â Save personalized color sets for reuse.
Color picking from canvas â Match existing colors by sampling pixels.
Palette persistence â Store palettes in SQLite for longâterm use.
đž Project Storage and Data Persistence
These functions ensure users can save, load, and manage their artwork reliably.
Local project saving â Store pixel, layer, and project metadata in SQLite.
Autosave â Automatically update project state to prevent data loss.
Project loading â Reopen saved projects to continue editing.
Project duplication â Create a copy for experimentation or versioning.
Project deletion and renaming â Keep the workspace organized.
Exporting artwork â Save PNG images to device storage.
Export resolution options â Scale pixel art for different uses.
Export history (optional) â Log exports in SQLite for tracking.
đźď¸ Project Gallery and DataâDriven UI
These functions create a dynamic, userâfriendly home screen.
Thumbnail previews â Display a small rendered version of each project.
Project metadata display â Show name, size, and lastâedited timestamp.
Sorting or filtering (optional) â Organize projects by date or name.
Quick actions â Open, duplicate, rename, or delete from the gallery.
Persistent data
All persistent data is managed using Room Database with entity classes that represent the database schema. Each entity has a corresponding Data Access Object (DAO) interface providing database operations. For complete entity class and DAO documentation with source code links, see the Entity Classes page. For visual representations, see the Entity-Relationship Diagram and UML Class Diagram.
đ Core Project Data
This is the essential information needed to reconstruct a userâs artwork on any device.
Pixel data â the color value of each pixel in the canvas.
Layer data â layer order, visibility, opacity, and pixel assignments per layer.
Autosave snapshots â periodic backups to prevent data loss across devices.
These items allow a user to open their project anywhere and continue seamlessly.
đ¨ Color and Palette Data
Color information supports consistent creative workflows.
Custom palettes â userâcreated color sets stored for reuse.
Palette colors â individual color values tied to each palette.
Recently used colors (optional) â convenience data to speed up drawing.
This enables a userâs preferred colors to follow them across devices.
đźď¸ Gallery and Asset Management
The server can maintain a structured view of all user projects.
Thumbnail images â small preview images generated on save or upload.
Project organization data â folder structure, tags, or sorting preferences.
Deleted project logs (optional) â softâdelete records for recovery.
This supports a dynamic, cloudâsynced gallery.
đž Export and Sharing Data
If the app supports exporting or sharing artwork online, the server may store:
Export history â timestamps, resolution, and file type of each export.
Exported images â PNG files stored for download or sharing.
Share links (optional) â URLs for public or private project sharing.
This enables users to access their exported art from anywhere.
đ¤ User Profile and Settings
These settings personalize the experience across devices.
Account information â username, email, authentication tokens.
Default canvas size â user preference for new projects.
Theme preferences â light/dark mode settings.
Tool settings â brush size, grid visibility, zoom sensitivity.
These ensure the app feels consistent no matter where the user logs in.
Impact if unavailable: Camera-based features (photo capture, pixelation filters) would be disabled. Core drawing and project management features would remain functional.
Importing images from the deviceâs photo library
Loading reference images from Downloads or Pictures
Permissions (depending on Android version):
READ_MEDIA_IMAGES (Android 13+)
READ_EXTERNAL_STORAGE (older versions)
WRITE_EXTERNAL_STORAGE (legacy only; modern apps use MediaStore instead)
Impact if unavailable: Users cannot export artwork to their device gallery or import external images. Projects can still be saved within the appâs internal storage.
These functions enhance creativity by connecting with device hardware and media.
⢠Image import â Load images from device storage as reference layers.
⢠Camera capture â Take a photo and convert it into pixel art.
⢠Pixelation filter â Automatically reduce an image to pixelâstyle blocks.
⢠Notifications â Alert users when autosave or export completes