mellow-fatakseride

byNikhil Perjapti

BUILD A PRODUCTION-QUALITY ANDROID APPLICATION CALLED: FATAKSERIDE TAGLINE: "Ride Faster. Work Smarter." Act as a senior Flutter + Android Kotlin developer, UI/UX designer, accessibility engineer, performance engineer, and QA engineer. I will provide screenshots/reference UI separately. Use them as behavioral and visual references. Do not build a generic taxi app or a simple mockup. 1. CORE PURPOSE FatakSeRide is a driver-focused ride-request filtering and assistance application. The driver selects a supported ride platform, configures filters, uses the target ride app, and FatakSeRide detects relevant ride requests, evaluates them locally, and assists with the appropriate platform-specific action. 2. TECHNOLOGY Use Flutter/Dart for FatakSeRide's UI and native Android Kotlin for performance-critical functionality. Use AccessibilityService, AccessibilityEvent, AccessibilityNodeInfo, GestureDescription, dispatchGesture(), Room, and Flutter Platform Channels or Pigeon. 3. ARCHITECTURE Use: Flutter UI ↓ Platform Channel ↓ Native Kotlin ↓ AccessibilityService ↓ Event Processor ↓ Platform Adapter ↓ Ride Parser ↓ Filter Engine ↓ Decision Engine ↓ Action Engine ↓ Verification 4. LOW LATENCY Optimize the complete detection-to-action pipeline. Keep critical processing in Kotlin. Do not send ride information to a server before making a filter decision. Measure actual latency instead of claiming guaranteed one-second performance. 5. EVENT-DRIVEN PROCESSING Use AccessibilityEvent-driven processing. Do not continuously screenshot, OCR, or poll the screen every few milliseconds. Process only relevant events and use debouncing/deduplication. 6. PLATFORM ADAPTERS Create separate adapters: UberAdapter OlaAdapter RapidoAdapter PorterAdapter Never use one universal implementation for every platform. 7. PACKAGE DETECTION Identify the active Android package and route it to the correct adapter. Unknown packages must be ignored. If the active package changes while an action is pending, cancel the action. 8. REQUEST DETECTION Detect only genuine active ride/order requests. Do not trigger on home screens, profiles, settings, maps, navigation, completed trips, login, OTP, messages, or unrelated popups. 9. ACCESSIBILITY TREE Use getRootInActiveWindow() and AccessibilityNodeInfo to inspect relevant UI information including text, contentDescription, resourceName, className, clickable state, enabled state, visibility, bounds, and available actions. 10. FRAMEWORK INDEPENDENCE Do not assume the target app is Flutter. It may use native Android, Flutter, React Native, custom rendering, or another framework. FatakSeRide must interact through legitimate Android accessibility/UI mechanisms. 11. ACTION DETECTION Support: NONE TAP_ACCEPT SWIPE_ACCEPT MATCH TAP_MATCH DISMISS CUSTOM_GESTURE Never blindly assume that Accept and Match are the same action. 12. MULTILINGUAL SUPPORT Support English and Hindi action text. Examples: Accept Accept Ride Accept Order Match Confirm स्वीकार स्वीकार करें मैच मिलान Also inspect contentDescription, accessibility labels, resource IDs, and accessibility actions. 13. DYNAMIC SWIPE For swipe-to-accept controls, dynamically locate the current control and obtain its bounds. Calculate start/end points from those bounds and use GestureDescription + dispatchGesture(). Never rely on permanent coordinates such as x=500,y=1800. 14. GESTURE ENGINE Create a GestureActionEngine supporting: TAP SWIPE_LEFT SWIPE_RIGHT SWIPE_UP SWIPE_DOWN CUSTOM Each action should contain target bounds, coordinates, duration, action type, and confidence. 15. UBER ADAPTER Implement Uber-specific request detection. Distinguish request types such as Exclusive requests and Trip Radar where the current UI provides sufficient evidence. If the current UI requires Accept, find Accept. If it requires Match, find Match. Never blindly press the wrong action. 16. RAPIDO ADAPTER Create an independent Rapido adapter. Detect, where available: fare pickup distance trip distance pickup destination ride type request state accept control dismiss control Determine dynamically whether the correct action is tap or swipe. 17. OLA ADAPTER Create an independent Ola adapter. Detect the current request UI and identify fare, pickup, destination, distance, ride type, request type, request state, and action control. Do not reuse hardcoded coordinates from another platform. 18. PORTER ADAPTER Create an independent Porter adapter supporting platform-specific order information such as amount, pickup, drop, distance, vehicle/order type, request state, and accept action. 19. RIDE DATA MODEL Create RideRequest with: id platform requestType fare pickupDistance tripDistance pickupAddress destinationAddress rideType rating actionType timestamp actionBounds confidence Use nullable fields where information is unavailable. Never fabricate missing data. 20. FILTER ENGINE Create a fast local FilterEngine. Example: Minimum Fare = ₹200 ₹199 → IGNORE ₹200 → MATCH ₹201 → MATCH ₹500 → MATCH The comparison MUST be: fare >= minimumFare ₹200 means ₹200 and above, not exact ₹200. 21. ADVANCED FILTERS Support: Minimum Fare Maximum Fare Minimum Trip Distance Maximum Trip Distance Maximum Pickup Distance Minimum Fare/KM Maximum Fare/KM Ride Type Platform Request Type All enabled filters must be evaluated using AND logic. 22. FARE/KM Calculate: farePerKm = fare / tripDistance Example: ₹900 / 30 km = ₹30/km If trip distance is zero or unavailable, fare/km is unavailable. If the fare/km filter is enabled and the required value is unavailable, do not accept. 23. FILTER PRIORITY Optimize filtering by evaluating cheap conditions first: Platform Request validity Fare Pickup distance Trip distance Fare/KM Ride type Request type If an early condition fails, stop processing immediately. 24. NO GUESSING If a required filter value is unavailable, do not guess it. Example: Minimum Fare = ₹200 Maximum Pickup = 5 km Fare = ₹300 Pickup = unavailable Result: NO ACTION Reason: Pickup distance unavailable. 25. ACTION CONFIDENCE Before executing an action, calculate confidence based on platform, request, data, and action detection. If the correct action cannot be confidently identified, do nothing. 26. FINAL VALIDATION Immediately before executing: FatakSeRide must be ON correct package must be active request must still exist request must still be active filter must still match action control must still exist action control must be enabled bounds must still be valid confidence must be sufficient emergency stop must not be active. 27. POST-ACTION VERIFICATION After tap/swipe/match, verify that the action actually succeeded. Possible signals: request disappears accepted screen appears matched screen appears request card changes confirmation appears new trip screen appears If verification fails, record ACTION_UNCONFIRMED and do not blindly repeat the action. 28. DUPLICATE PROTECTION Create a request fingerprint using relevant information such as: platform fare pickupDistance tripDistance destination rideType requestType Use a short deduplication window so multiple accessibility events do not process the same request repeatedly. 29. FLUTTER UI Create a premium driver-focused UI containing: Home Live Rides Filters History Analytics Settings Permissions Subscription Account Test Mode Developer Mode Home should show: FATAKSERIDE "Ride Faster. Work Smarter." Assist ON/OFF Selected platform Current filters Matched today Accepted today Ignored today Average processing time STOP ASSIST 30. TESTING + DEVELOPER MODE Create a Filter Tester and Developer Diagnostics screen. Test examples: ₹199 + minimum ₹200 → IGNORE ₹200 + minimum ₹200 → MATCH ₹300 + pickup 7 km + maximum pickup 5 km → IGNORE ₹900 / 30 km → ₹30/km missing required data → NO ACTION unknown package → IGNORE package changes → CANCEL duplicate event → PROCESS ONCE emergency stop → CANCEL Developer screen should show current package, service status, last event, parsed RideRequest, filter result, action type, confidence, bounds, errors, and real latency. 31. PERMISSIONS, STORAGE, SAFETY Create a Permission Center showing only permissions actually required, such as Accessibility Service, Notification Access, Overlay, Foreground Service, and Notifications. Use Room for local history/settings. Do not collect passwords, OTPs, unrelated messages, or unnecessary personal information. When uncertain: DO NOTHING. Never randomly tap, swipe, or guess missing ride information. 32. PRODUCTION REQUIREMENTS This must be a REAL Android application, not a screenshot mockup or fake demo. Implement: Flutter UI Native Kotlin AccessibilityService Platform adapters Ride parser Local filter engine Dynamic action detection Gesture engine Action validation Post-action verification Room database History Analytics Test Mode Developer Mode Permission Center Flutter/Kotlin bridge Unit tests Integration tests Android tests Latency monitoring Error handling Responsive UI Release-ready Gradle configuration. Do not leave core functionality as fake APIs, simulated acceptance, fake latency, hardcoded success, or placeholder methods. Do not hardcode screen coordinates as the primary interaction method. Build the project, run tests, fix compilation/runtime errors, and verify the Flutter/Kotlin integration before declaring the application complete. PRIORITIES: 1. Correctness 2. Safety 3. Reliability 4. Low latency 5. Maintainability 6. Professional UI/UX When the UI or target application behavior is uncertain, use the provided screenshots/reference material and official Android capabilities. Do not invent behavior. FINAL PRODUCT: FATAKSERIDE "Ride Faster. Work Smarter."

Landing
Landing

Comments (0)

No comments yet. Be the first!

Project Tasks

119 planning tasks
#1

Generate system requirement document

1m 8s0.1 cr used
Done
#2

Generate personas & user flows

0m 11s0.1 cr used
Done
#7

Create flow for Ride-Hailing Driver

0m 10sCredits in parent
Done
#8

Create flow for Developer / QA Engineer

0m 9sCredits in parent
Done
#9

Landing

9m 48sCredits in subtasks
Done
#36

Repair Landing JSX

0m 59s0.2 cr used
Done
#35

Repair Landing JSX

1m 19s0.2 cr used
Done
#27

Landing / Identity Band

0m 50s0.8 cr used
Done
#28

Landing / Assist Bezel

0m 49s0.8 cr used
Done
#29

Landing / Workflow Ledger

0m 49s0.8 cr used
Done
#30

Landing / Platform Bezels

0m 47s0.8 cr used
Done
#31

Landing / Safety Panel

0m 46s0.8 cr used
Done
#32

Landing / Entry Plate

0m 45s0.8 cr used
Done
#33

Landing / Footer

0m 38s0.8 cr used
Done
#34

Footer

0m 38sCredits in parent
Done
#10

Login

Credits in subtasks
Backlog
#50

Login / Identity Band

0.8 cr needed
Backlog
#51

Login / Verification Console

0.8 cr needed
Backlog
#52

Login / Access Status Ledger

0.8 cr needed
Backlog
#53

Login / Enrollment Handoff

0.8 cr needed
Backlog
#54

Login / Footer

0.8 cr needed
Backlog
#11

Sign Up

Credits in subtasks
Backlog
#42

Sign Up / Identity Band

0.8 cr needed
Backlog
#43

Sign Up / Enrollment Panel

0.8 cr needed
Backlog
#44

Sign Up / Enrollment Ledger

0.8 cr needed
Backlog
#45

Sign Up / Footer

0.8 cr needed
Backlog
#12

Home

Credits in subtasks
Backlog
#55

Home / Identity Bar

0.8 cr needed
Backlog
#56

Home / Assist Bezel

0.8 cr needed
Backlog
#57

Home / Counter Strip

0.8 cr needed
Backlog
#58

Home / Platform Rail

0.8 cr needed
Backlog
#59

Home / Filter Summary

0.8 cr needed
Backlog
#60

Home / Destination Bar

0.8 cr needed
Backlog
#61

Home / Footer

0.8 cr needed
Backlog
#13

Live Rides

Credits in subtasks
Backlog
#46

Live Rides / Instrument Header

0.8 cr needed
Backlog
#47

Live Rides / Ledger

0.8 cr needed
Backlog
#48

Live Rides / Session Strip

0.8 cr needed
Backlog
#49

Live Rides / Footer

0.8 cr needed
Backlog
#14

Filters

Credits in subtasks
Backlog
#37

Filters / Instrument Header

0.8 cr needed
Backlog
#38

Filters / Configuration Ledger

0.8 cr needed
Backlog
#39

Filters / Evaluation Order

0.8 cr needed
Backlog
#40

Filters / Active Summary

0.8 cr needed
Backlog
#41

Filters / Footer

0.8 cr needed
Backlog
#15

History

Credits in subtasks
Backlog
#71

History / Instrument Header

0.8 cr needed
Backlog
#72

History / Ledger

0.8 cr needed
Backlog
#73

History / Entry Detail

0.8 cr needed
Backlog
#74

History / Outcome Reference

0.8 cr needed
Backlog
#75

History / Footer

0.8 cr needed
Backlog
#16

Analytics

Credits in subtasks
Backlog
#82

Analytics / Period Selector

0.8 cr needed
Backlog
#83

Analytics / Earnings Instrument

0.8 cr needed
Backlog
#84

Analytics / Quick Stats

0.8 cr needed
Backlog
#85

Analytics / Earnings Overview

0.8 cr needed
Backlog
#86

Analytics / Ride Performance

0.8 cr needed
Backlog
#87

Analytics / Acceptance Rate

0.8 cr needed
Backlog
#88

Analytics / Supporting Navigation

0.8 cr needed
Backlog
#89

Analytics / Footer

0.8 cr needed
Backlog
#17

Settings

Credits in subtasks
Backlog
#62

Settings / Instrument Header

0.8 cr needed
Backlog
#63

Settings / Preference Ledger

0.8 cr needed
Backlog
#64

Settings / Destination Index

0.8 cr needed
Backlog
#65

Settings / Footer

0.8 cr needed
Backlog
#18

Permissions

Credits in subtasks
Backlog
#76

Permissions / Header

0.8 cr needed
Backlog
#77

Permissions / Readiness Gauge

0.8 cr needed
Backlog
#78

Permissions / Required Set

0.8 cr needed
Backlog
#79

Permissions / Dependency Matrix

0.8 cr needed
Backlog
#80

Permissions / Handoff

0.8 cr needed
Backlog
#81

Permissions / Footer

0.8 cr needed
Backlog
#19

Permission Center

Credits in subtasks
Backlog
#66

Permission Center / Header

0.8 cr needed
Backlog
#67

Permission Center / Ledger

0.8 cr needed
Backlog
#68

Permission Center / Dependency Map

0.8 cr needed
Backlog
#69

Permission Center / Safety Note

0.8 cr needed
Backlog
#70

Permission Center / Footer

0.8 cr needed
Backlog
#20

Subscription

Credits in subtasks
Backlog
#90

Subscription / Instrument Header

0.8 cr needed
Backlog
#91

Subscription / Option Ledger

0.8 cr needed
Backlog
#92

Subscription / Context Strip

0.8 cr needed
Backlog
#93

Subscription / Footer

0.8 cr needed
Backlog
#21

Account

Credits in subtasks
Backlog
#94

Account / Identity Plate

0.8 cr needed
Backlog
#95

Account / Update Plate

0.8 cr needed
Backlog
#96

Account / Destination Ledger

0.8 cr needed
Backlog
#97

Account / Footer

0.8 cr needed
Backlog
#22

Wallet

Credits in subtasks
Backlog
#102

Wallet / Balance Instrument

0.8 cr needed
Backlog
#103

Wallet / Transaction Ledger

0.8 cr needed
Backlog
#104

Wallet / Security Notice

0.8 cr needed
Backlog
#105

Wallet / Footer

0.8 cr needed
Backlog
#23

Test Mode

Credits in subtasks
Backlog
#98

Test Mode / State Console

0.8 cr needed
Backlog
#99

Test Mode / Case Ledger

0.8 cr needed
Backlog
#100

Test Mode / Safety Boundary

0.8 cr needed
Backlog
#101

Test Mode / Footer

0.8 cr needed
Backlog
#24

Developer Mode

Credits in subtasks
Backlog
#106

Developer Mode / Console

0.8 cr needed
Backlog
#107

Developer Mode / Pipeline Reference

0.8 cr needed
Backlog
#108

Developer Mode / Safety Boundary

0.8 cr needed
Backlog
#109

Developer Mode / Footer

0.8 cr needed
Backlog
#25

Filter Tester

Credits in subtasks
Backlog
#110

Filter Tester / Header

0.8 cr needed
Backlog
#111

Filter Tester / Case Bench

0.8 cr needed
Backlog
#112

Filter Tester / Pipeline Reference

0.8 cr needed
Backlog
#113

Filter Tester / Outcome Legend

0.8 cr needed
Backlog
#114

Filter Tester / Footer

0.8 cr needed
Backlog
#26

Developer Diagnostics

Credits in subtasks
Backlog
#115

Developer Diagnostics / Dev Diag Header

0.8 cr needed
Backlog
#116

Developer Diagnostics / Dev Diag Pipeline Status

0.8 cr needed
Backlog
#117

Developer Diagnostics / Dev Diag Request Inspector

0.8 cr needed
Backlog
#118

Developer Diagnostics / Dev Diag Decision Readout

0.8 cr needed
Backlog
#119

Developer Diagnostics / Dev Diag Bounds And Latency

0.8 cr needed
Backlog
#120

Developer Diagnostics / Dev Diag Error Log

0.8 cr needed
Backlog
#121

Developer Diagnostics / Footer

0.8 cr needed
Backlog
#5

Architecture

0.1 cr needed
Backlog
#6

Workspace task plan

0.1 cr needed
Backlog
Landing design preview
Landing: Review product and workflow
Login: 1. Submit verification credentials
Login: 2. Retry after failed verification
Developer Mode: Enter developer mode
Filter Tester: 1. Enter test inputs and run case
Filter Tester: 2. Review outcome and reason
Filter Tester: 3. Correct input and rerun
Developer Diagnostics: 1. Review package and service status
Developer Diagnostics: 2. Review parsed request and filter result
Developer Diagnostics: 3. Review action type or confidence
Developer Diagnostics: 4. Review bounds and recorded errors
Developer Diagnostics: 5. Review measured latency
Developer Diagnostics: 6. Re-establish service connection and re-read
Developer Mode: Leave developer mode
Landing design preview
Landing: Review product and workflow
Login: 1. Submit verification credentials
Login: 2. Retry after failed verification
Developer Mode: Enter developer mode
Filter Tester: 1. Enter test inputs and run case
Filter Tester: 2. Review outcome and reason
Filter Tester: 3. Correct input and rerun
Developer Diagnostics: 1. Review package and service status
Developer Diagnostics: 2. Review parsed request and filter result
Developer Diagnostics: 3. Review action type or confidence
Developer Diagnostics: 4. Review bounds and recorded errors
Developer Diagnostics: 5. Review measured latency
Developer Diagnostics: 6. Re-establish service connection and re-read
Developer Mode: Leave developer mode