
This comprehensive tutorial will walk you through building a Snapchat-style messaging app using Adalo's no-code platform. While some features like AR filters aren't possible, you'll create a functional app with disappearing messages, stories, and social features.
Prerequisites and Initial Setup
Step 1: Create Your Adalo Account
- Go to Adalo.com and sign up
- Click "Create New App"
- Choose "Mobile App" (essential for camera features)
- Name your app (e.g., "SnapClone")
- Select "Start from Scratch"
Step 2: Configure App Settings
- Choose a primary color (yellow for Snapchat-style)
- Select dark theme for authentic feel
- Pick a modern, clean font
- Click "Continue" to enter editor
Setting Up the Database
Step 3: Enhance the Users Collection
- Click Database icon in left sidebar
- Select the default "Users" collection
- Add these properties (click "+ Add Property"):
- Profile Picture (Image)
- Display Name (Text)
- Bio (Text - check "Multiline")
- Phone Number (Text)
- Snap Score (Number - default: 0)
- Last Active (Date & Time)
- Ghost Mode (True/False - default: false)
- Location (Location property)
- Notification Settings (Text - for JSON)
Learn more about the Users collection
Step 4: Create Messages Collection
- Click "+ Add Collection"
- Name it "Messages"
- Add properties:
- Content Type (Text) - Values: "photo", "video", "text"
- Media File (Image)
- Text Content (Text)
- Created At (Date & Time - Automatic)
- Expires At (Date & Time)
- Is Read (True/False - default: false)
- Read At (Date & Time)
- Timer Duration (Number - default: 10)
Step 5: Create Friendships Collection
- Click "+ Add Collection"
- Name it "Friendships"
- Add properties:
- Status (Text) - Values: "pending", "accepted", "blocked"
- Created At (Date & Time - Automatic)
- Streak Count (Number - default: 0)
- Last Snap Exchange (Date & Time)
- Emoji Status (Text)
Step 6: Create Stories Collection
- Click "+ Add Collection"
- Name it "Stories"
- Add properties:
- Media (Image)
- Caption (Text)
- Created At (Date & Time - Automatic)
- Expires At (Date & Time)
- Is Public (True/False)
- Location Tag (Text)
Step 7: Create Story Views Collection
- Click "+ Add Collection"
- Name it "Story Views"
- Add properties:
- Viewed At (Date & Time - Automatic)
Step 8: Set Up Relationships
- In Messages:
- Add "Sender" → Users (Many to One)
- Add "Recipient" → Users (Many to One)
- Add "Reply To" → Messages (Many to One)
- In Friendships:
- Add "User 1" → Users (Many to One)
- Add "User 2" → Users (Many to One)
- In Stories:
- Add "Creator" → Users (Many to One)
- In Story Views:
- Add "Story" → Stories (Many to One)
- Add "Viewer" → Users (Many to One)
Building the Camera Interface
Step 9: Create Camera Screen
- Add new screen "Camera"
- Make it the home screen
- Add Image Picker component:
- Set to full screen
- Connect to Messages → Media File
- Style with transparent background
Step 10: Add Camera Controls
- Add overlay buttons:
- Circle Button at bottom center for capture
- Icon Button (flip camera) top right
- Icon Button (flash) top left
- Add navigation tabs at bottom:
- "Chat" icon → Messages screen
- "Stories" icon → Stories screen
Step 11: Configure Media Upload
- On Image Picker, add action:
- Create Message record
- Set Content Type to "photo"
- Set Created At to current time
- Navigate to "Send To" screen
Creating the Messaging System
Step 12: Build Friends List Screen
- Add new screen "Friends"
- Add Custom List:
- Data: Friendships
- Filter: (User 1 = Logged In User OR User 2 = Logged In User) AND Status = "accepted"
- For each list item show:
- Friend's profile picture
- Display name
- Streak count (if > 0)
Step 13: Create Send To Screen
- Add new screen "Send To"
- Add Custom List of friends
- Add Toggle component in each list item
- Add timer selector:
- Dropdown: 1-10 seconds
- Updates Message → Timer Duration
- Add "Send" button:
- Creates Message for each selected friend
- Sets Expires At = Current Time + Timer Duration
Step 14: Build Chat List Screen
- Add new screen "Chats"
- Add Custom List:
- Group messages by sender/recipient pairs
- Show last message preview
- Add unread indicator (red square)
- Click action → Navigate to "Chat Detail"
Step 15: Create Chat Detail Screen
- Add new screen "Chat Detail"
- Add Custom List for messages:
- Filter by conversation participants
- Conditional visibility for sent/received
- Different styling for each message type
- Add input bar at bottom:
- Text Input
- Camera button
- Send button
Step 16: Implement Snap Viewing
- Add new screen "View Snap"
- Add Image component (full screen)
- Add countdown timer overlay
- On screen load:
- Check if Current Time < Expires At
- If expired, show "Snap no longer available"
- If valid, start countdown
- After timer ends:
- Update Message → Is Read = true
- Navigate back
Building Stories Feature
Step 17: Create Story Camera
- Duplicate Camera screen
- Modify upload action:
- Create Story record instead
- Set Expires At = Current Time + 24 hours
- Navigate to "Story Preview"
Step 18: Build Stories Feed
- Add new screen "Stories"
- Add horizontal Custom List:
- Filter: Created At > Current Time - 24 hours
- Group by Creator
- Show profile picture circles
- Add "Your Story" as first item
- Click action → "View Story" screen
Step 19: Create Story Viewer
- Add new screen "View Story"
- Add Image component (full screen)
- Add progress bar at top
- Add viewer info overlay:
- Creator name and time
- Close button
- On view:
- Create Story View record
- Auto-advance after 5 seconds
Implementing Social Features
Step 20: Build Add Friends Screen
- Add new screen "Add Friends"
- Add search bar (Text Input)
- Add Custom List of Users:
- Filter: Username contains search term
- Exclude existing friends
- Add "Add" button:
- Creates Friendship record
- Status = "pending"
Step 21: Create Friend Requests
- Add new screen "Friend Requests"
- Add Custom List:
- Filter: User 2 = Logged In User AND Status = "pending"
- Add Accept/Decline buttons:
- Accept: Update Status to "accepted"
- Decline: Delete Friendship record
Step 22: Implement Snap Streaks
- On message send action:
- Find Friendship record
- Check Last Snap Exchange date
- If within 24 hours, increment Streak Count
- If > 24 hours, reset to 1
- Update Last Snap Exchange
Step 23: Create User Profile
- Add new screen "Profile"
- Display:
- Profile picture (editable)
- Display name and username
- Snap Score
- Added Me section
- My Friends count
- Add settings button → "Settings" screen
Adding Notifications
Step 24: Configure Push Notifications
- Go to Settings → Push Notifications
- Upload certificates for iOS/Android
- Add notification triggers:
- New snap received
- Friend request
- Someone viewed your story
- Streak about to end
Step 25: Create Notification Actions
- On message send:
- Trigger notification to recipient
- Title: "[Sender Name] sent you a Snap!"
- Body: "đź‘» Open now"
- On friend request:
- Title: "New friend request"
- Body: "[User] wants to be friends"
Advanced Features
Step 26: Add Location Features
- Install Maps component from Marketplace
- Create "Snap Map" screen
- Display friends' locations:
- Filter by Ghost Mode = false
- Show profile pictures as markers
- Add location sharing toggle in settings
Step 27: Implement Discover Section
- Add new screen "Discover"
- Create Custom List of public stories
- Filter: Is Public = true
- Group by categories or publishers
- Add view tracking
Step 28: Create Memories/Gallery
- Add new screen "Memories"
- Show saved snaps (add "Is Saved" property)
- Organize by date
- Add export/share functionality
Working with Platform Limitations
Step 29: Handle Missing Features
Cannot Implement:
- Automatic deletion (use expiry checks)
- Real AR filters (basic overlays only)
- Screenshot detection
- Video calls
- Voice/video messages (limited)
Workarounds:
- Manual refresh for real-time updates
- Third-party components for timers
- External image editing before upload
Step 30: Optimize Performance
- Limit list items to 20-30
- Use pagination for long lists
- Compress images before upload
- Clear old messages periodically
- Use conditional visibility wisely
Testing and Launch
Step 31: Test Core Features
- Create test accounts
- Test friend system
- Send various snap types
- Verify expiration logic
- Check streak calculations
- Test on multiple devices
Step 32: Prepare for Publishing
- Upgrade to paid plan ($45+/month)
- Configure app store settings
- Create privacy policy
- Add terms of service
- Set up user support flow
Additional Resources
- Adalo YouTube Tutorials
- Component Documentation
- Database Best Practices
- Custom Actions (for advanced features)
Important Considerations
Cost Breakdown:
- Starter Plan ($45/month): Basic features
- Professional ($65/month): Custom actions needed
- Team ($200/month): For multiple developers
- Additional marketplace components: $10-50 each
Third-Party Components:
- PragmaFlow Timer: For countdown features
- CL Stories: Instagram-style stories UI
- Advanced Chat Template: Enhanced messaging
This Snapchat clone will provide core messaging and stories functionality within Adalo's constraints. While it won't match Snapchat's advanced features, it serves as a solid foundation for a social messaging app.

Start Building With An App Template
Build your app fast with one of our pre-made app templates









