kinetic-fatakseride

byRavi Das

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

105 planning tasks
#1

Generate system requirement document

0m 53s0.1 cr used
Done
#2

Generate personas & user flows

0m 11s0.1 cr used
Done
#7

Create flow for Ride Driver (Fatak Se Ride operator)

0m 9sCredits in parent
Done
#8

Create flow for Developer / QA tester (Test Mode and Developer Mode)

0m 9sCredits in parent
Done
#9

Landing

6m 28sCredits in subtasks
Done
#33

Repair Landing JSX

0m 59s0.2 cr used
Done
#27

Landing / Instrument Hero

0m 32s0.8 cr used
Done
#28

Landing / Platform Rail

0m 39s0.8 cr used
Done
#29

Landing / Assistance Explanation

0m 31s0.8 cr used
Done
#30

Landing / Entry Actions

0m 30s0.8 cr used
Done
#31

Landing / Footer

0m 22s0.8 cr used
Done
#32

Footer

0m 22sCredits in parent
Done
#10

Login

Credits in subtasks
Backlog
#34

Login / Identity Band

0.8 cr needed
Backlog
#35

Login / Credential Panel

0.8 cr needed
Backlog
#36

Login / Recovery Band

0.8 cr needed
Backlog
#37

Login / Footer

0.8 cr needed
Backlog
#11

Sign Up

Credits in subtasks
Backlog
#42

Sign Up / Enrollment Band

0.8 cr needed
Backlog
#43

Sign Up / Enrollment Form

0.8 cr needed
Backlog
#44

Sign Up / Identity Context

0.8 cr needed
Backlog
#45

Sign Up / Footer

0.8 cr needed
Backlog
#12

Home

Credits in subtasks
Backlog
#50

Home / Status Header

0.8 cr needed
Backlog
#51

Home / Session Readout

0.8 cr needed
Backlog
#52

Home / Filters Armed

0.8 cr needed
Backlog
#53

Home / Platform Rail

0.8 cr needed
Backlog
#54

Home / Stop Assist Bar

0.8 cr needed
Backlog
#55

Home / Footer

0.8 cr needed
Backlog
#13

Live Rides

Credits in subtasks
Backlog
#46

Live Rides / Header

0.8 cr needed
Backlog
#47

Live Rides / Request Stream

0.8 cr needed
Backlog
#48

Live Rides / Service State

0.8 cr needed
Backlog
#49

Live Rides / Footer

0.8 cr needed
Backlog
#14

Filters

Credits in subtasks
Backlog
#38

Filters / Platform Rail

0.8 cr needed
Backlog
#39

Filters / Filter Table

0.8 cr needed
Backlog
#40

Filters / Armed Summary

0.8 cr needed
Backlog
#41

Filters / Footer

0.8 cr needed
Backlog
#15

History

Credits in subtasks
Backlog
#56

History / Header

0.8 cr needed
Backlog
#57

History / Ledger

0.8 cr needed
Backlog
#58

History / Outcome Summary

0.8 cr needed
Backlog
#59

History / Footer

0.8 cr needed
Backlog
#16

Analytics

Credits in subtasks
Backlog
#65

Analytics / Period Header

0.8 cr needed
Backlog
#66

Analytics / Performance Summary

0.8 cr needed
Backlog
#67

Analytics / Earnings Overview

0.8 cr needed
Backlog
#68

Analytics / Ride Performance

0.8 cr needed
Backlog
#69

Analytics / Acceptance Rate

0.8 cr needed
Backlog
#70

Analytics / Performance Prompt

0.8 cr needed
Backlog
#71

Analytics / Footer

0.8 cr needed
Backlog
#17

Settings

Credits in subtasks
Backlog
#60

Settings / Instrument Header

0.8 cr needed
Backlog
#61

Settings / Assistance Preferences

0.8 cr needed
Backlog
#62

Settings / Application Configuration

0.8 cr needed
Backlog
#63

Settings / Destination Rail

0.8 cr needed
Backlog
#64

Settings / Footer

0.8 cr needed
Backlog
#18

Permissions

Credits in subtasks
Backlog
#72

Permissions / Grant State

0.8 cr needed
Backlog
#73

Permissions / Service Boundary

0.8 cr needed
Backlog
#74

Permissions / Safety Note

0.8 cr needed
Backlog
#75

Permissions / Footer

0.8 cr needed
Backlog
#19

Subscription

Credits in subtasks
Backlog
#76

Subscription / Status Header

0.8 cr needed
Backlog
#77

Subscription / Plan Panel

0.8 cr needed
Backlog
#78

Subscription / Charge Ledger

0.8 cr needed
Backlog
#79

Subscription / Footer

0.8 cr needed
Backlog
#20

Account

Credits in subtasks
Backlog
#80

Account / Identity Header

0.8 cr needed
Backlog
#81

Account / Details Manager

0.8 cr needed
Backlog
#82

Account / Linked Destinations

0.8 cr needed
Backlog
#83

Account / Footer

0.8 cr needed
Backlog
#21

Test Mode

Credits in subtasks
Backlog
#84

Test Mode / Header

0.8 cr needed
Backlog
#85

Test Mode / Case Ledger

0.8 cr needed
Backlog
#86

Test Mode / Verdict

0.8 cr needed
Backlog
#87

Test Mode / Footer

0.8 cr needed
Backlog
#22

Developer Mode

Credits in subtasks
Backlog
#88

Developer Mode / Header

0.8 cr needed
Backlog
#89

Developer Mode / Diagnostics Entry

0.8 cr needed
Backlog
#90

Developer Mode / Verification

0.8 cr needed
Backlog
#91

Developer Mode / Test Destinations

0.8 cr needed
Backlog
#92

Developer Mode / Footer

0.8 cr needed
Backlog
#23

Filter Tester

Credits in subtasks
Backlog
#93

Filter Tester / Header

0.8 cr needed
Backlog
#94

Filter Tester / Evaluation

0.8 cr needed
Backlog
#95

Filter Tester / Example Cases

0.8 cr needed
Backlog
#96

Filter Tester / Footer

0.8 cr needed
Backlog
#24

Developer Diagnostics

Credits in subtasks
Backlog
#97

Developer Diagnostics / Header

0.8 cr needed
Backlog
#98

Developer Diagnostics / Readout

0.8 cr needed
Backlog
#99

Developer Diagnostics / Footer

0.8 cr needed
Backlog
#25

Permission Center

Credits in subtasks
Backlog
#100

Permission Center / Header

0.8 cr needed
Backlog
#101

Permission Center / Ledger

0.8 cr needed
Backlog
#102

Permission Center / Rationale

0.8 cr needed
Backlog
#103

Permission Center / Footer

0.8 cr needed
Backlog
#26

Wallet

Credits in subtasks
Backlog
#104

Wallet / Balance

0.8 cr needed
Backlog
#105

Wallet / Transactions

0.8 cr needed
Backlog
#106

Wallet / Assurance

0.8 cr needed
Backlog
#107

Wallet / 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: Read platform and assistance overview
Login: Sign in
Test Mode: 1. Run full specified test set
Test Mode: 2. Inspect case actual outcome
Filter Tester: 3. Enter fare and threshold inputs
Filter Tester: 4. Run filter evaluation
Developer Mode: 5. Open Developer Diagnostics
Developer Diagnostics: 6. Inspect package and service status
Developer Diagnostics: 7. Inspect parsed request and action type
Developer Diagnostics: 8. Review confidence and real latency
Developer Mode: 9. Run build and test verification
Landing design preview
Landing: Read platform and assistance overview
Login: Sign in
Test Mode: 1. Run full specified test set
Test Mode: 2. Inspect case actual outcome
Filter Tester: 3. Enter fare and threshold inputs
Filter Tester: 4. Run filter evaluation
Developer Mode: 5. Open Developer Diagnostics
Developer Diagnostics: 6. Inspect package and service status
Developer Diagnostics: 7. Inspect parsed request and action type
Developer Diagnostics: 8. Review confidence and real latency
Developer Mode: 9. Run build and test verification