Debanshu777/Compose-Snapchat-Clone
57.2
Weak · 22 September 2026
3.7k
lines of production code
Kotlin
with JavaScript
7
measurements over time
What this system is
This system is a mobile application clone of Snapchat, built with Jetpack Compose and Kotlin. It implements core social media features including a chat interface with message previews, a map-based location view, a video-centric spotlight feed, and a stories section for friends and subscriptions. The application also includes camera functionality and a structured navigation system to switch between these distinct content areas.
Features
Add Snap Map screen with Google Maps integration
A new SnapMapScreen composable has been added to the app, introducing a map-based view that displays a Google Map centered on specific coordinates (22.5726, 88.3639) with custom styling and a bottom navigation bar. This change brings the map feature into the Compose UI layer, replacing or supplementing previous implementations.
_app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature\_snap\map · high confidence
Add Stories screen with friend and subscription story views
A new StoriesScreen composable has been introduced to display a list of friend stories and subscription-based content. The screen renders a LazyColumn containing FriendStories, a SubscriptionView, and a grid of RectangularStoryView components that dynamically adjust their layout based on the number of subscriptions, providing a structured view for consuming story content.
_app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature\stories · high confidence
Added ChatScreen UI component
A new ChatScreen composable has been introduced to display a scrollable list of chat items. The screen renders a LazyColumn containing ChatItem components, each styled with white background and rounded corners.
_app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature\chat · high confidence
Added Spotlight footer and video player components
The Spotlight feature now includes a complete footer UI, comprising a user data section displaying the author's avatar, username, and sound information, alongside action buttons for like, share, and more. These are rendered by new Compose components: FooterUserData, FooterUserAction, and SpotlightFooter. Additionally, a VideoPlayer component was added to handle video playback using ExoPlayer, integrating with the UI via AndroidView.
_app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature\spotlight/presentation · high confidence
Added Spotlight screen with video feed
A new Spotlight screen has been added to the application, featuring a vertical scrollable feed of videos. Each video item displays a footer with associated data, and the layout is styled with rounded corners and a black background.
_app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature\spotlight · high confidence
Added Stories and StoryImage Compose components for displaying image-based stories
Introduced two new Compose components, Stories and StoryImage, to render a horizontal, swipeable gallery of images. The Stories component manages the pager state and touch-to-pause logic, while StoryImage handles the HorizontalPager with pointer interaction filters to detect tap-down and tap-up events, enabling user interaction with the story content.
_app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature\stories/presentation/components/storyComponent · high confidence
Added domain models for chat content types and time intervals
Introduced new domain models to support the chat feature: a sealed class hierarchy defining content types (video, image, and chat) and another defining time intervals (month, week, and hour). These classes provide the foundational data structures for representing and categorizing chat content and its temporal context within the application.
_app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature\chat/domain · high confidence
Added dummy chat data for the chat feature
A new data source file, DummyDataChatViewList.kt, was added to the chat feature's data layer. This file provides a list of sample ChatView objects containing sender details, image resources, content types, and message status flags, which are used to populate the chat list with mock data.
_app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature\chat/data · high confidence
Added new story and subscription UI components
Introduced three new Compose components for the Stories feature: FriendStories, which displays a horizontal scroll of circular friend story avatars; SubscriptionView, which presents a horizontal list of rectangular subscription cards; and RectangularStoryView, which renders individual subscription cards with image backgrounds and text overlays. These components implement the visual layout for friend stories and subscription content within the feature\_stories presentation layer.
_app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature\stories/presentation/components · high confidence
Introduces core UI components and navigation structure for the app
The app now features a structured navigation system with a bottom navigation bar and a dynamic top bar that adapts to each screen. This includes new reusable components such as AutoSizeIcon and AutoSizeText, which scale based on screen size, and custom UI elements like the bottom navigation, top bar, and action bar. The main activity sets up the navigation graph, linking screens such as Chat, Camera, Stories, and Spotlight. Additionally, permission handling for camera and location services is integrated into the navigation flow.
app/src · high confidence
Introduces domain models and camera view model for core app features
Adds new data classes to structure the app's domain layer, including models for bottom and top navigation items, user profiles, chat messages, snaps, spotlights, and stories. Additionally, introduces a CameraViewModel to manage camera initialization, image capture, and state, enabling the camera feature to function within the application.
. · medium confidence
New chat list item component for the chat feature
The chat feature's presentation layer now includes new UI components to display individual chat entries. A new \ChatItem\ composable renders each chat's sender avatar, name, last message preview, timestamp, and status indicators (such as 'New Snap', 'Opened', or 'Delivered'). A supporting \ChatTypeItem\ composable handles the display of these status indicators and message type icons, providing users with clear visual feedback on the state and content type of each conversation in the chat list.
_app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature\chat/presentation · medium confidence
Project initialization and repository governance
The repository has been initialized with essential governance and documentation files, including a Code of Conduct, an MIT License, and a comprehensive README detailing the project's architecture and dependencies. Additionally, the Java version is explicitly set to 21, and the Gradle wrapper is made executable.
(repo-wide) · high confidence
Behavioural changes
Added mock data for stories and subscriptions
The app now includes mock data for the stories feature, providing sample content for friends' stories and subscription-based content. This allows the UI to display placeholder data during development or testing, ensuring the stories and subscription sections have content to render.
_app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature\stories/data · high confidence
Gradle wrapper updated to version 8.13
The Gradle wrapper has been upgraded from version 7.0.2 to 8.13, which may require a Gradle download on the next build and can affect build performance and compatibility with existing plugins.
gradle · high confidence
Dependencies
Migrated build system to Kotlin DSL and modernized dependencies
The project's build configuration has been migrated from Groovy (build.gradle) to Kotlin DSL (build.gradle.kts), with all dependency versions and plugin aliases centralized in gradle/libs.versions.toml. This update upgrades the Android Gradle Plugin to 8.12.0, Kotlin to 2.2.0, and Compose to 1.8.3, while adding build tooling for Dokka, Detekt, and KtLint. Additionally, the project name was changed from 'Compose CameraX' to 'DumbOne', and Gradle memory settings were increased to improve build performance.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 58 → 57 (-0.9)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 98 → 97 (-0.7)
- Architecture 100 → 79 (-20.5)
- Maturity 53 → 53 (+0.0)
- Readiness 44 → 44 (+0.0)
- Security 80 → 88 (+8.1)
Resolved (13)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (10 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature_stories/StoriesScreen.kt)
- Duplicated block (11 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature_stories/StoriesScreen.kt)
- Duplicated block (13 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/common/utils/FeatureThatRequiresCameraPermission.kt)
- Duplicated block (13 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature_chat/presentation/components/ChatTypeItem.kt)
- Duplicated block (14 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature_chat/presentation/components/ChatTypeItem.kt)
- Duplicated block (15 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature_chat/data/dataSource/DummyDataChatViewList.kt)
- Duplicated block (16 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/common/components/AutosizeIcon.kt)
- High: security finding (details withheld)
- High: security finding (details withheld)
- LLM evaluation failed
- No exposed public API
- dormant codebase — no living knowledge left to concentrate
New (23)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no installation or build instructions
- Documentation: no installation or build instructions (README.md)
- Documentation: no project overview
- Documentation: no usage examples (README.md)
- Documentation: written for insiders
- Duplicated block (11 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature_stories/StoriesScreen.kt)
- Duplicated block (12–13 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature_stories/StoriesScreen.kt)
- Duplicated block (13 lines × 3) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature_chat/presentation/components/ChatTypeItem.kt)
- Duplicated block (14 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/common/utils/FeatureThatRequiresCameraPermission.kt)
- Duplicated block (14 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature_chat/data/dataSource/DummyDataChatViewList.kt)
- Duplicated block (15–16 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/common/components/AutosizeIcon.kt)
- Duplicated block (16 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature_chat/data/dataSource/DummyDataChatViewList.kt)
- Duplicated block (16 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature_chat/presentation/components/ChatTypeItem.kt)
- Duplicated block (25 lines × 2) (app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature_chat/presentation/components/ChatTypeItem.kt)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- MethodTooLong: DummyDataChatViewListKt.dummyDataChatViewList (app/src/main/java/com/debanshu777/snapchatUIComposeClone/features/feature_chat/data/dataSource/DummyDataChatViewList.kt)
- …and 3 more
Architecture
- Containers 0 added · 0 removed · contexts 1 added · 1 removed · edges 0 added · 0 removed
Added bounded contexts (1)
- app
Removed bounded contexts (1)
- .
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
Debanshu777/Compose-Snapchat-Clone was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 22 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 521a3826d6449b93f4a9ef1f927a6b453dcd81d6 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-90d5d2fe38ee.