Fast · Secure · Customizable
A modern QR application built with Jetpack Compose.
Kodex is a modern QR scanning and generation app focused on customizable and secure QR creation.
Built with Jetpack Compose, providing a smooth UX and beautiful Material 3 design.
- Generate QR codes for:
- Text, URLs, Contacts, Email, Wi-Fi, and more
- Scan using camera or images from gallery
- Support for AES-encrypted QR codes
- Save and share generated codes
- Smart Actions — Context-aware one-tap actions available directly from History.
- Dynamic Theming (Material You)
- Change QR color & background color
- Add a logo, emoji or image into QR codes
- Customize QR patterns and eye styles
- Optional tags to organize generated QR codes
- 3 customizable widgets (Home Screen)
- Quick Tile (Quick Settings) scanner action
- Startup behavior settings
- Continue from last screen
- Always open home screen
- Open a specific screen on launch
- Automatic scan history (Room Database)
- Local storage only — works offline
- No personal data tracking
| Layer | Technology |
|---|---|
| UI | Jetpack Compose, Material 3 |
| QR Engine | ZXing |
| Database | Room + ViewModel |
| Encryption | AES (CBC/PKCS5Padding) |
| Widgets | App Widgets + Compose Glance |
| Analytics | Firebase Analytics & Crashlytics |
| Language | Kotlin (Compose-first) |
| Light Mode | Dark Mode |
|---|---|
![]() |
![]() |
| Scanner View | Scan Result |
|---|---|
![]() |
![]() |
| Type Selection | Color & Logo Picker |
|---|---|
![]() |
![]() |
| Create & Share | Create & Share |
|---|---|
![]() |
![]() |
| History | History |
|---|---|
![]() |
![]() |
| History |
|---|
![]() |
The codebase is organized into distinct, domain-focused layers, clearly separating concerns (Presentation, Domain, and Data):
| Directory Name | Layer Responsibility | Description |
|---|---|---|
presentation/ |
Presentation Layer | Houses all UI components, ViewModels, and Compose UI screens. |
data/ |
Data Layer | Manages interactions with all data sources (local/remote). Contains Room Entities and DAO (Data Access Objects). |
domain/ |
Domain Layer | Contains the core business logic of the application. Defines Models and Use Cases for business rules. |
widgets/ |
Specialized Components | Holds components outside the main application flow, specifically application Widgets built using Glance. |
features/ |
Feature Modules | Contains feature-specific modules, such as QR Code Generation and Scanning functionality. |
Kodex collects no personal data.
All operations run locally on your device, including encrypted QR creation.
✔ Offline
✔ Secure AES Encryption
✔ Local Database Only
- 🟦 Gradient QR colors & backgrounds
Created by Mahmut Alperen Ünal
- 🔗 GitHub: github.com/mahmutaunal
- 📨 Email: mahmutalperenunal@gmail.com
This repository is a technical showcase only.
Source code of Kodex is private.










