Skip to content

hackfest-dev/HF26-34

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

40 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Android Flutter Dart SQLite
MIT License MVP Ready ITR-4 Presumptive

Flutter Dart Android SQLite Provider Tax Engine

๐Ÿ“ƒ GigTax

SMS-Powered Income Tracker & Tax Estimator for Gig Workers

Extract โ†’ Classify โ†’ Aggregate โ†’ File Turn your inbox into a tax-ready income ledger โ€” no accountant needed.


๐Ÿ“ฑ View Demo ยท ๐Ÿš€ Quick Start ยท ๐Ÿงพ Tax Logic ยท ๐Ÿ“„ LICENSE ยท ๐Ÿค Contributing


๐Ÿ“Œ Table of Contents


๐Ÿ”ฅ The Problem

India has ~15 million gig workers across platforms like Swiggy, Uber, Zomato, Urban Company, and Upwork. They face a financial trilemma that no existing product solves:

Pain Point Reality
๐Ÿ’” Fragmented Income Earnings split across 3โ€“7 platforms with no unified view
๐Ÿ“ญ No Paper Trail Income is buried in SMS inboxes, not structured ledgers
๐Ÿ˜ฐ Tax Confusion Most don't know they qualify for ITR-4 presumptive taxation
๐Ÿ”€ Signal vs. Noise Income SMSes mixed with OTPs, offers, and personal credits

GigTax fixes this โ€” from your SMS inbox, automatically.


๐Ÿ’ก The Solution

GigTax reads your SMS messages locally on-device, filters income-related transactions, and converts raw text into a structured financial dashboard โ€” with live ITR-4 tax estimation.

๐Ÿ“ฉ SMS Inbox  โ†’  ๐Ÿ” Smart Filter  โ†’  ๐Ÿ’ฐ Income Ledger  โ†’  ๐Ÿงพ Tax Estimate

No manual entry. No bank integration required. No data leaves your device.


๐Ÿ—๏ธ Architecture

flowchart TD
    A([๐Ÿ“ฑ User Opens GigTax]) --> B{SMS Permission\nGranted?}
    B -- No --> C[Show Permission\nRationale Screen]
    C --> B
    B -- Yes --> D[๐Ÿ“ฉ Read SMS Inbox]
    D --> E[๐Ÿ” Filter Financial\nMessages]
    E --> F{Contains Income\nKeywords?}
    F -- No --> G[๐Ÿ—‘๏ธ Discard Message]
    F -- Yes --> H[๐Ÿงฎ Regex Extraction\nAmount ยท Sender ยท Date]
    H --> I[(๐Ÿ“ฆ Local Cache\nSQLite)]
    I --> J[๐Ÿ“Š Income Dashboard\nTransaction List]
    J --> K[๐Ÿ’น Aggregate\nTotal Earnings]
    K --> L[๐Ÿงพ ITR-4 Tax Engine]
    L --> M{Income\nCategory}
    M -- Business --> N[6% / 8% of\nGross Turnover]
    M -- Professional --> O[50% of\nGross Receipts]
    N --> P([โœ… Estimated\nTax Liability])
    O --> P
Loading

โœจ Features

๐Ÿ“ฉ Intelligent SMS Parsing

  • Reads the device SMS inbox via Android's native SMS API
  • Filters messages using income-specific keyword detection (credited, payout, received, earnings, transferred)
  • Handles multi-format sender IDs (e.g., SWIGGY, UBERIND, AD-ICICIB)

๐Ÿ’ฐ Income Extraction Engine

  • Extracts โ‚น amounts using robust multi-pattern regex
  • Captures sender ID, timestamp, and raw message body
  • Deduplication-ready architecture (no double-counting same transaction)

๐Ÿ“Š Live Income Dashboard

  • Real-time transaction feed with amount, source, and date
  • Monthly and cumulative earnings aggregation
  • Color-coded source identification (platform vs. bank credit)

๐Ÿงพ Tax Estimation (ITR-4 Presumptive)

  • Supports all three presumptive taxation modes
  • Instant taxable income calculation with slab breakdowns
  • Visual summary of estimated tax liability

๐Ÿ”’ 100% On-Device Processing

  • No data transmitted to any server
  • No login or account required
  • GDPR/DPDP-aligned privacy-first design

๐Ÿงพ Tax Estimation (ITR-4)

GigTax implements India's Presumptive Taxation Scheme under Section 44AD and 44ADA.

Category Applicable Section Deemed Profit Rate Eligible For
Digital Business 44AD 6% of gross turnover Swiggy, Zomato, Uber partners
Cash/Offline Business 44AD 8% of gross turnover Offline gig work
Professional Services 44ADA 50% of gross receipts Freelancers, consultants

Example Calculation

Gross Annual Income (SMS parsed) : โ‚น8,00,000
Category                         : Digital Business (Swiggy delivery)
Deemed Profit Rate               : 6%
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Taxable Income                   : โ‚น48,000
Tax Liability (Old Regime)       : โ‚น0 (below โ‚น2.5L basic exemption)

โš ๏ธ Disclaimer: GigTax provides estimates only. Consult a qualified CA or tax professional before filing your ITR.


๐Ÿ› ๏ธ Tech Stack

Layer Technology Purpose
UI Framework Flutter 3.x Cross-platform mobile UI
Language Dart Business logic & parsing
SMS Access telephony / flutter_sms_inbox Android SMS API bridge
Local Storage SQLite (via sqflite) Persistent transaction store
Parsing Dart RegExp engine Amount & keyword extraction
State Management Provider / Riverpod Reactive UI updates
Platform Android 6.0+ (API 23+) Primary target

๐Ÿš€ Getting Started

Prerequisites

  • Flutter SDK >=3.0.0
  • Android Studio / VS Code with Flutter extension
  • Android device or emulator running API 23+
  • READ_SMS permission enabled on test device

Installation

flowchart LR
    A["1๏ธโƒฃ  Clone Repo\ngit clone https://github.com/\nThrizzio/SomeRandomProject-forUDI.git"] --> B["2๏ธโƒฃ  Enter Directory\ncd SomeRandomProject-forUDI"]
    B --> C["3๏ธโƒฃ  Install Dependencies\nflutter pub get"]
    C --> D["4๏ธโƒฃ  Start Emulator\nor Connect Device"]
    D --> E["5๏ธโƒฃ  Run App\nflutter run"]
Loading
# Step 1: Clone
git clone https://github.com/Thrizzio/SomeRandomProject-forUDI.git

# Step 2: Navigate
cd SomeRandomProject-forUDI

# Step 3: Install dependencies
flutter pub get

# Step 4: Connect device or start emulator
# (Ensure USB debugging is enabled on physical device)

# Step 5: Run
flutter run

Testing SMS Parsing (Emulator)

Since emulators don't have real SMS, use ADB to inject test messages:

# Send a test income SMS via ADB
adb emu sms send SWIGGY "Your earnings of Rs.340.00 have been credited to your bank account."

# Send a Uber payout SMS
adb emu sms send UBERIND "Congrats! Rs.1250 has been transferred to your account ending 4321."

๐Ÿ“ Project Structure

gigtax/
โ”œโ”€โ”€ lib/
โ”‚   โ”œโ”€โ”€ main.dart                  # App entry point
โ”‚   โ”œโ”€โ”€ models/
โ”‚   โ”‚   โ””โ”€โ”€ transaction.dart       # Transaction data model
โ”‚   โ”œโ”€โ”€ services/
โ”‚   โ”‚   โ”œโ”€โ”€ sms_reader.dart        # SMS inbox access
โ”‚   โ”‚   โ”œโ”€โ”€ sms_parser.dart        # Regex extraction engine
โ”‚   โ”‚   โ””โ”€โ”€ tax_calculator.dart    # ITR-4 tax logic
โ”‚   โ”œโ”€โ”€ providers/
โ”‚   โ”‚   โ””โ”€โ”€ income_provider.dart   # State management
โ”‚   โ”œโ”€โ”€ screens/
โ”‚   โ”‚   โ”œโ”€โ”€ dashboard_screen.dart  # Main income view
โ”‚   โ”‚   โ”œโ”€โ”€ tax_screen.dart        # Tax estimation UI
โ”‚   โ”‚   โ””โ”€โ”€ permission_screen.dart # SMS permission flow
โ”‚   โ””โ”€โ”€ widgets/
โ”‚       โ”œโ”€โ”€ transaction_card.dart  # Individual SMS card
โ”‚       โ””โ”€โ”€ summary_banner.dart    # Earnings summary
โ”œโ”€โ”€ android/
โ”‚   โ””โ”€โ”€ app/src/main/
โ”‚       โ””โ”€โ”€ AndroidManifest.xml    # SMS permissions declared
โ”œโ”€โ”€ pubspec.yaml                   # Dependencies
โ””โ”€โ”€ README.md

๐Ÿ” Permissions

GigTax requires the following Android permissions:

Permission Why It's Needed
READ_SMS To scan existing SMS inbox for income messages
RECEIVE_SMS To detect and parse new incoming income SMSes in real-time

๐Ÿ›ก๏ธ Privacy Commitment: All SMS processing happens 100% on-device. No message content, phone number, or financial data is ever transmitted to any external server or third party.


โš ๏ธ Known Limitations

  • SMS Format Variance โ€” Each platform uses different message templates; some edge cases may be missed
  • False Positives โ€” Personal credits (gifts, refunds) may be misclassified as income
  • No Deduplication (MVP) โ€” The same payout may appear in both bank and platform SMS
  • Android-Only โ€” iOS restricts third-party SMS access at the OS level
  • API 23+ Required โ€” Runtime permission model not available on older Android
  • No Expense Tracking โ€” Only income-side visibility in MVP

๐Ÿ—บ๏ธ Roadmap

gantt
    title GigTax Product Roadmap
    dateFormat  YYYY-MM
    section MVP (Current)
    SMS Parsing Engine           :done,    des1, 2024-10, 2024-11
    Income Dashboard             :done,    des2, 2024-10, 2024-11
    ITR-4 Tax Estimator          :done,    des3, 2024-11, 2024-12

    section Phase 2
    AI Transaction Classifier    :active,  des4, 2025-01, 2025-03
    Expense Tracking             :         des5, 2025-02, 2025-04
    Smart Deduplication          :         des6, 2025-03, 2025-05

    section Phase 3
    Cloud Sync & Backup          :         des7, 2025-05, 2025-07
    Direct ITR Filing Link       :         des8, 2025-06, 2025-08
    Multi-language Support       :         des9, 2025-07, 2025-09
Loading
Phase Feature Status
โœ… MVP SMS Parsing + Income Dashboard + Tax Estimation Done
๐Ÿ”„ Phase 2 AI-based transaction classification (income vs. personal) Planned
๐Ÿ”„ Phase 2 Expense tracking (platform fees, fuel, data) Planned
๐Ÿ”„ Phase 2 Smart deduplication (bank + platform SMS) Planned
๐Ÿ”œ Phase 3 Cloud backup & cross-device sync Planned
๐Ÿ”œ Phase 3 Pre-filled ITR-4 export (JSON / PDF) Planned
๐Ÿ”œ Phase 3 Hindi & regional language SMS support Planned

๐ŸŽฎ Demo Flow

Launch GigTax
     โ”‚
     โ–ผ
Grant READ_SMS Permission
     โ”‚
     โ–ผ
App Scans SMS Inbox
     โ”‚
     โ”œโ”€โ”€ Finds "Rs.340 credited" from SWIGGY
     โ”œโ”€โ”€ Finds "Rs.1250 transferred" from UBERIND
     โ””โ”€โ”€ Ignores OTPs, promotional messages
     โ”‚
     โ–ผ
Displays Parsed Transaction List
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ ๐ŸŸข SWIGGY    โ‚น340    Oct 12, 2024  โ”‚
โ”‚ ๐ŸŸข UBERIND   โ‚น1250   Oct 14, 2024  โ”‚
โ”‚ ๐ŸŸข SWIGGY    โ‚น520    Oct 16, 2024  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
     โ”‚
     โ–ผ
Shows Total: โ‚น2,110 this month
     โ”‚
     โ–ผ
Estimated Taxable Income: โ‚น1,266 (6% presumptive)

๐Ÿค Contributing

Contributions are welcome! Here's how to get started:

# Fork the repository, then:
git checkout -b feature/your-feature-name
git commit -m "feat: describe your change"
git push origin feature/your-feature-name
# Open a Pull Request

Please follow Conventional Commits and open an issue before major changes.


๐Ÿ“„ License

This project is licensed under the MIT License โ€” see the LICENSE file for details.


Built with โค๏ธ for India's gig economy

GigTax ยท Report Bug ยท Request Feature

About

Hackfest26 repository for T34

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors