File size: 69,955 Bytes
f651dd8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
"""
PriceOye AI โ€” Complete Phone Database
======================================
Budget tiers covered (1k โ€“ 5 lakh PKR):
  โ€ข Ultra-budget: 1k โ€“ 15k  (QMobile, Sparx, itel)
  โ€ข Entry:        15k โ€“ 30k  (Infinix, Tecno, Redmi)
  โ€ข Budget:       30k โ€“ 60k  (Realme, Nothing, Tecno)
  โ€ข Mid-range:    60k โ€“ 1.5L (Samsung A-series, Xiaomi)
  โ€ข Upper-mid:    1.5L โ€“ 3L  (OnePlus, Xiaomi 14T, S24)
  โ€ข Flagship:     3L+        (S25 Ultra, iPhone 16 Pro Max)

Data sourced from WhatMobile.com.pk + PriceOye.pk (April 2026).
Benchmarks: Samsung S26 Ultra & iPhone 17 Pro Max = 10/10.
"""

from src.scoring_engine import Phone, PhoneDimensions, SubDimension

S = SubDimension


def _p(score, note):
    return S(float(score), note)


def build_database() -> list[Phone]:
    return [

        # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
        #  ULTRA-BUDGET  1k โ€“ 15k PKR
        # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

        Phone(
            id="qmobile_noir_a10", name="QMobile Noir A10", brand="QMobile", os="android",
            price_pkr=8999, price_label="PKR 8,999",
            priceoye_url="https://priceoye.pk/search?q=QMobile+Noir+A10",
            whatmobile_url="https://www.whatmobile.com.pk/Qmobile_Noir-A10",
            emoji="๐ŸŸค", tags=["ultra-budget", "entry", "basic", "first-phone"],
            highlights={"processor": "Unisoc SC9863A", "ram": "2GB", "storage": "32GB",
                        "display": '6.1" IPS LCD', "battery": "4000mAh",
                        "charging": "10W", "camera": "8MP single"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(1.5, "8MP small sensor โ€” basic output"),
                camera_aperture=_p(2, "f/2.0 โ€” limited light"),
                camera_optical_zoom=_p(0, "No zoom"),
                camera_ultrawide=_p(0, "No ultrawide"),
                camera_video=_p(1, "720p@30fps only"),
                camera_night_mode=_p(1, "No dedicated night mode"),
                camera_front=_p(2, "5MP selfie โ€” basic"),
                camera_lens_quality=_p(1, "Very basic plastic lens"),
                camera_ois=_p(0, "No OIS or EIS"),
                perf_cpu=_p(2, "Unisoc SC9863A โ€” very basic daily tasks"),
                perf_gpu=_p(2, "IMG8322 โ€” no gaming"),
                perf_ram_type=_p(2, "2GB LPDDR4 โ€” minimal"),
                perf_thermal=_p(2, "Basic thermal management"),
                perf_ai_chip=_p(1, "No AI chip"),
                disp_resolution=_p(4, "HD+ 720ร—1560"),
                disp_brightness=_p(3, "~300 nits โ€” dim outdoors"),
                disp_color_accuracy=_p(3, "Basic sRGB IPS"),
                disp_refresh_rate=_p(2, "60Hz LCD"),
                disp_technology=_p(2, "IPS LCD โ€” basic"),
                disp_touch_sampling=_p(2, "60Hz touch"),
                batt_capacity=_p(5, "4000mAh โ€” sufficient for basic use"),
                batt_real_world_sot=_p(5, "~5hrs light use"),
                batt_efficiency=_p(4, "SC9863A basic efficiency"),
                batt_wireless=_p(0, "No wireless charging"),
                charg_wired_speed=_p(2, "10W โ€” very slow, ~3hrs full charge"),
                charg_wireless_speed=_p(0, "None"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(10, "Charger included โœ…"),
                ram_capacity=_p(2, "2GB โ€” struggles with multiple apps"),
                ram_type=_p(3, "LPDDR4"),
                ram_os_management=_p(3, "Basic Android Go edition"),
                stor_capacity=_p(2, "32GB โ€” fills very quickly"),
                stor_speed=_p(2, "eMMC 5.1 basic"),
                stor_expandable=_p(8, "microSD up to 128GB โœ…"),
                build_frame=_p(2, "Plastic frame and back"),
                build_ip_rating=_p(0, "No IP rating"),
                build_front_glass=_p(2, "Basic unspecified glass"),
                build_form_factor=_p(3, "Lightweight โ€” functional design"),
                soft_update_policy=_p(1, "No guaranteed updates"),
                soft_bloatware=_p(3, "Some QMobile apps + ads"),
                soft_ai_features=_p(1, "No AI features"),
                soft_ecosystem=_p(2, "No ecosystem"),
                audio_speakers=_p(2, "Single mono speaker"),
                audio_headphone_jack=_p(8, "3.5mm jack โœ…"),
                audio_bt_codecs=_p(3, "SBC only"),
            ),
        ),

        Phone(
            id="sparx_neo7p", name="Sparx Neo 7 Plus", brand="Sparx", os="android",
            price_pkr=13999, price_label="PKR 13,999",
            priceoye_url="https://priceoye.pk/search?q=Sparx+Neo+7+Plus",
            whatmobile_url="https://www.whatmobile.com.pk/Sparx_Neo-7-Plus",
            emoji="๐ŸŸ ", tags=["ultra-budget", "sparx", "selfie", "student"],
            highlights={"processor": "Unisoc T606", "ram": "4GB", "storage": "64GB",
                        "display": '6.56" IPS LCD 90Hz', "battery": "5000mAh",
                        "charging": "18W", "camera": "50MP dual"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(3, "50MP small sensor โ€” basic quality"),
                camera_aperture=_p(3, "f/2.0 main"),
                camera_optical_zoom=_p(0, "No optical zoom"),
                camera_ultrawide=_p(0, "No ultrawide"),
                camera_video=_p(2, "1080p@30fps"),
                camera_night_mode=_p(2, "Basic night โ€” noisy"),
                camera_front=_p(4, "8MP selfie"),
                camera_lens_quality=_p(2, "Budget plastic lens"),
                camera_ois=_p(0, "No OIS"),
                perf_cpu=_p(3, "Unisoc T606 โ€” basic tasks"),
                perf_gpu=_p(3, "Mali-G57 โ€” very light gaming"),
                perf_ram_type=_p(3, "4GB LPDDR4X"),
                perf_thermal=_p(3, "Basic cooling"),
                perf_ai_chip=_p(1, "No AI"),
                disp_resolution=_p(5, "HD+ 720ร—1612"),
                disp_brightness=_p(4, "~400 nits"),
                disp_color_accuracy=_p(4, "Basic sRGB"),
                disp_refresh_rate=_p(5, "90Hz โ€” smooth for price"),
                disp_technology=_p(3, "IPS LCD"),
                disp_touch_sampling=_p(3, "180Hz"),
                batt_capacity=_p(8, "5000mAh โ€” great all-day battery"),
                batt_real_world_sot=_p(7, "~8hrs light use"),
                batt_efficiency=_p(5, "T606 6nm efficient"),
                batt_wireless=_p(0, "None"),
                charg_wired_speed=_p(3, "18W โ€” ~90 min"),
                charg_wireless_speed=_p(0, "None"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(10, "Charger in box โœ…"),
                ram_capacity=_p(3, "4GB โ€” basic multitasking"),
                ram_type=_p(4, "LPDDR4X"),
                ram_os_management=_p(4, "XOS โ€” aggressive killing"),
                stor_capacity=_p(3, "64GB โ€” limited"),
                stor_speed=_p(3, "eMMC 5.1"),
                stor_expandable=_p(8, "microSD โœ…"),
                build_frame=_p(2, "Plastic"),
                build_ip_rating=_p(0, "No IP"),
                build_front_glass=_p(3, "Basic glass"),
                build_form_factor=_p(4, "Slim lightweight"),
                soft_update_policy=_p(1, "1 year only"),
                soft_bloatware=_p(2, "XOS heavy bloat + ads"),
                soft_ai_features=_p(1, "Minimal"),
                soft_ecosystem=_p(2, "None"),
                audio_speakers=_p(3, "Single speaker"),
                audio_headphone_jack=_p(8, "3.5mm โœ…"),
                audio_bt_codecs=_p(3, "SBC only"),
            ),
        ),

        Phone(
            id="itel_a70", name="itel A70", brand="itel", os="android",
            price_pkr=12999, price_label="PKR 12,999",
            priceoye_url="https://priceoye.pk/search?q=itel+A70",
            whatmobile_url="https://www.whatmobile.com.pk/Itel_A70",
            emoji="๐ŸŸก", tags=["ultra-budget", "itel", "battery", "affordable"],
            highlights={"processor": "Unisoc SC9863A1", "ram": "3GB", "storage": "64GB",
                        "display": '6.6" IPS LCD 90Hz', "battery": "5000mAh",
                        "charging": "10W", "camera": "8MP single"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(2, "8MP โ€” very basic photos"),
                camera_aperture=_p(3, "f/2.0"),
                camera_optical_zoom=_p(0, "None"),
                camera_ultrawide=_p(0, "None"),
                camera_video=_p(1, "720p only"),
                camera_night_mode=_p(1, "No night mode"),
                camera_front=_p(2, "5MP selfie"),
                camera_lens_quality=_p(1, "Basic plastic lens"),
                camera_ois=_p(0, "None"),
                perf_cpu=_p(2, "SC9863A1 โ€” very basic"),
                perf_gpu=_p(2, "IMG8322"),
                perf_ram_type=_p(3, "3GB LPDDR4"),
                perf_thermal=_p(2, "Basic"),
                perf_ai_chip=_p(1, "None"),
                disp_resolution=_p(5, "HD+ 720ร—1612"),
                disp_brightness=_p(3, "~350 nits"),
                disp_color_accuracy=_p(3, "Basic sRGB"),
                disp_refresh_rate=_p(5, "90Hz smooth for price"),
                disp_technology=_p(3, "IPS LCD"),
                disp_touch_sampling=_p(3, "180Hz"),
                batt_capacity=_p(8, "5000mAh โ€” strong endurance"),
                batt_real_world_sot=_p(8, "~9hrs light use โ€” battery highlight"),
                batt_efficiency=_p(4, "SC9863A1 efficient for basic tasks"),
                batt_wireless=_p(0, "None"),
                charg_wired_speed=_p(2, "10W โ€” 3+ hours to charge"),
                charg_wireless_speed=_p(0, "None"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(10, "Charger included โœ…"),
                ram_capacity=_p(3, "3GB"),
                ram_type=_p(3, "LPDDR4"),
                ram_os_management=_p(3, "XOS โ€” aggressive"),
                stor_capacity=_p(3, "64GB"),
                stor_speed=_p(2, "eMMC 5.1"),
                stor_expandable=_p(8, "microSD โœ…"),
                build_frame=_p(2, "Full plastic"),
                build_ip_rating=_p(0, "No IP"),
                build_front_glass=_p(2, "Basic"),
                build_form_factor=_p(3, "Thin lightweight"),
                soft_update_policy=_p(1, "1 year only"),
                soft_bloatware=_p(2, "Heavy bloat + ads"),
                soft_ai_features=_p(1, "None"),
                soft_ecosystem=_p(1, "None"),
                audio_speakers=_p(2, "Mono"),
                audio_headphone_jack=_p(8, "3.5mm โœ…"),
                audio_bt_codecs=_p(3, "SBC"),
            ),
        ),

        # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
        #  ENTRY  15k โ€“ 30k PKR
        # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

        Phone(
            id="infinix_smart9", name="Infinix Smart 9", brand="Infinix", os="android",
            price_pkr=24999, price_label="PKR 24,999",
            priceoye_url="https://priceoye.pk/search?q=Infinix+Smart+9",
            whatmobile_url="https://www.whatmobile.com.pk/Infinix_Smart-9",
            emoji="๐ŸŸข", tags=["entry", "battery", "student", "infinix"],
            highlights={"processor": "MediaTek Helio G85", "ram": "4GB", "storage": "128GB",
                        "display": '6.78" IPS LCD 90Hz', "battery": "5000mAh",
                        "charging": "18W", "camera": "50MP single"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(3.5, "50MP small sensor โ€” basic daily shots"),
                camera_aperture=_p(4, "f/1.8"),
                camera_optical_zoom=_p(0, "None"),
                camera_ultrawide=_p(0, "None"),
                camera_video=_p(2, "1080p@30fps"),
                camera_night_mode=_p(3, "Basic AI night"),
                camera_front=_p(4, "8MP selfie"),
                camera_lens_quality=_p(2, "Budget optics"),
                camera_ois=_p(0, "EIS only"),
                perf_cpu=_p(4, "Helio G85 โ€” good for entry gaming"),
                perf_gpu=_p(4, "Mali-G52 MC2"),
                perf_ram_type=_p(4, "4GB LPDDR4X"),
                perf_thermal=_p(3, "Basic cooling"),
                perf_ai_chip=_p(2, "Minimal"),
                disp_resolution=_p(6, "FHD+ 1080ร—2460"),
                disp_brightness=_p(4, "~500 nits"),
                disp_color_accuracy=_p(4, "sRGB IPS"),
                disp_refresh_rate=_p(5, "90Hz โ€” smooth"),
                disp_technology=_p(4, "IPS LCD"),
                disp_touch_sampling=_p(4, "180Hz"),
                batt_capacity=_p(8, "5000mAh โ€” full day"),
                batt_real_world_sot=_p(7, "~8hrs"),
                batt_efficiency=_p(5, "G85 moderate"),
                batt_wireless=_p(0, "None"),
                charg_wired_speed=_p(3, "18W โ€” ~90 min"),
                charg_wireless_speed=_p(0, "None"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(10, "Charger in box โœ…"),
                ram_capacity=_p(3, "4GB"),
                ram_type=_p(4, "LPDDR4X"),
                ram_os_management=_p(4, "XOS โ€” moderate"),
                stor_capacity=_p(5, "128GB โ€” solid for entry"),
                stor_speed=_p(3, "eMMC 5.1"),
                stor_expandable=_p(8, "microSD โœ…"),
                build_frame=_p(3, "Plastic"),
                build_ip_rating=_p(0, "No IP"),
                build_front_glass=_p(4, "Gorilla Glass 3"),
                build_form_factor=_p(4, "Decent design"),
                soft_update_policy=_p(2, "1-2 years"),
                soft_bloatware=_p(3, "XOS bloat"),
                soft_ai_features=_p(2, "Basic"),
                soft_ecosystem=_p(2, "Minimal"),
                audio_speakers=_p(4, "Single โ€” average"),
                audio_headphone_jack=_p(8, "3.5mm โœ…"),
                audio_bt_codecs=_p(4, "AAC + SBC"),
            ),
        ),

        Phone(
            id="redmi14c", name="Xiaomi Redmi 14C", brand="Xiaomi", os="android",
            price_pkr=29999, price_label="PKR 29,999",
            priceoye_url="https://priceoye.pk/search?q=Xiaomi+Redmi+14C",
            whatmobile_url="https://www.whatmobile.com.pk/Xiaomi_Redmi-14C",
            emoji="๐Ÿ’™", tags=["entry", "student", "battery", "256gb"],
            highlights={"processor": "MediaTek Helio G85", "ram": "8GB LPDDR4X",
                        "storage": "256GB eMMC", "display": '6.88" IPS LCD 120Hz HD+',
                        "battery": "5160mAh", "charging": "18W", "camera": "50MP dual"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(4, "50MP 1/2.76\" โ€” small but 50MP"),
                camera_aperture=_p(5, "f/1.8"),
                camera_optical_zoom=_p(0, "No zoom"),
                camera_ultrawide=_p(0, "No ultrawide"),
                camera_video=_p(3, "1080p@30fps"),
                camera_night_mode=_p(4, "Basic AI night"),
                camera_front=_p(5, "13MP f/2.0"),
                camera_lens_quality=_p(3, "Budget optics"),
                camera_ois=_p(0, "EIS only"),
                perf_cpu=_p(4, "Helio G85 โ€” basic-mid daily tasks"),
                perf_gpu=_p(4, "Mali-G52 MC2 โ€” light gaming"),
                perf_ram_type=_p(5, "LPDDR4X 8GB"),
                perf_thermal=_p(4, "Gets warm in use"),
                perf_ai_chip=_p(3, "Minimal"),
                disp_resolution=_p(5, "HD+ 1640ร—720 โ€” not FHD"),
                disp_brightness=_p(5, "~500 nits"),
                disp_color_accuracy=_p(5, "Standard sRGB"),
                disp_refresh_rate=_p(5, "120Hz IPS โ€” smooth"),
                disp_technology=_p(4, "IPS LCD"),
                disp_touch_sampling=_p(4, "240Hz"),
                batt_capacity=_p(8, "5160mAh โ€” best battery in class"),
                batt_real_world_sot=_p(8, "~9โ€“10hrs โ€” battery king"),
                batt_efficiency=_p(5, "G85 moderate"),
                batt_wireless=_p(0, "None"),
                charg_wired_speed=_p(3, "18W โ€” ~90 min"),
                charg_wireless_speed=_p(0, "None"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(10, "18W in box โœ…"),
                ram_capacity=_p(6, "8GB"),
                ram_type=_p(5, "LPDDR4X"),
                ram_os_management=_p(6, "HyperOS โ€” decent"),
                stor_capacity=_p(7, "256GB โ€” great for price"),
                stor_speed=_p(3, "eMMC 5.1"),
                stor_expandable=_p(8, "microSD โœ…"),
                build_frame=_p(3, "Plastic"),
                build_ip_rating=_p(3, "No IP"),
                build_front_glass=_p(4, "Gorilla Glass 3"),
                build_form_factor=_p(5, "Large 6.88\" comfortable"),
                soft_update_policy=_p(3, "2 years OS"),
                soft_bloatware=_p(5, "HyperOS โ€” some apps"),
                soft_ai_features=_p(3, "Basic AI"),
                soft_ecosystem=_p(5, "Xiaomi ecosystem"),
                audio_speakers=_p(4, "Single โ€” basic"),
                audio_headphone_jack=_p(8, "3.5mm โœ…"),
                audio_bt_codecs=_p(4, "AAC + SBC"),
            ),
        ),

        Phone(
            id="infinixhot40i", name="Infinix Hot 40i", brand="Infinix", os="android",
            price_pkr=27999, price_label="PKR 27,999",
            priceoye_url="https://priceoye.pk/search?q=Infinix+Hot+40i",
            whatmobile_url="https://www.whatmobile.com.pk/Infinix_Hot-40i",
            emoji="๐ŸŸข", tags=["entry", "budget", "battery", "microsd"],
            highlights={"processor": "Unisoc T606", "ram": "8GB", "storage": "128GB",
                        "display": '6.56" IPS LCD 90Hz', "battery": "5000mAh",
                        "charging": "18W", "camera": "50MP single"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(4, "50MP small โ€” basic"),
                camera_aperture=_p(5, "f/1.6 wide"),
                camera_optical_zoom=_p(0, "None"),
                camera_ultrawide=_p(0, "None"),
                camera_video=_p(3, "1080p@30fps"),
                camera_night_mode=_p(3, "Weak night"),
                camera_front=_p(4, "8MP selfie"),
                camera_lens_quality=_p(3, "Budget optics"),
                camera_ois=_p(0, "None"),
                perf_cpu=_p(3, "T606 โ€” basic tasks only"),
                perf_gpu=_p(3, "Mali-G57 MP1"),
                perf_ram_type=_p(5, "LPDDR4X 8GB"),
                perf_thermal=_p(3, "Limited thermal"),
                perf_ai_chip=_p(2, "None"),
                disp_resolution=_p(5, "HD+ 720ร—1612"),
                disp_brightness=_p(4, "~400 nits"),
                disp_color_accuracy=_p(4, "Basic sRGB"),
                disp_refresh_rate=_p(5, "90Hz"),
                disp_technology=_p(4, "IPS LCD"),
                disp_touch_sampling=_p(4, "180Hz"),
                batt_capacity=_p(8, "5000mAh"),
                batt_real_world_sot=_p(8, "~9hrs"),
                batt_efficiency=_p(5, "T606 efficient for light use"),
                batt_wireless=_p(0, "None"),
                charg_wired_speed=_p(3, "18W โ€” ~90 min"),
                charg_wireless_speed=_p(0, "None"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(10, "Included โœ…"),
                ram_capacity=_p(6, "8GB"),
                ram_type=_p(5, "LPDDR4X"),
                ram_os_management=_p(5, "XOS moderate"),
                stor_capacity=_p(5, "128GB"),
                stor_speed=_p(3, "eMMC 5.1"),
                stor_expandable=_p(8, "microSD โœ…"),
                build_frame=_p(3, "Plastic"),
                build_ip_rating=_p(0, "None"),
                build_front_glass=_p(3, "Basic glass"),
                build_form_factor=_p(4, "Lightweight"),
                soft_update_policy=_p(2, "1-2 years"),
                soft_bloatware=_p(3, "XOS + ads"),
                soft_ai_features=_p(2, "Minimal"),
                soft_ecosystem=_p(2, "None"),
                audio_speakers=_p(4, "Single"),
                audio_headphone_jack=_p(8, "3.5mm โœ…"),
                audio_bt_codecs=_p(3, "SBC"),
            ),
        ),

        # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
        #  BUDGET  30k โ€“ 60k PKR
        # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

        Phone(
            id="tecnosp40p", name="Tecno Spark 40 Pro", brand="Tecno", os="android",
            price_pkr=44999, price_label="PKR 44,999",
            priceoye_url="https://priceoye.pk/search?q=Tecno+Spark+40+Pro",
            whatmobile_url="https://www.whatmobile.com.pk/Tecno_Spark-40-Pro",
            emoji="๐Ÿ’š", tags=["budget", "amoled", "45w", "selfie"],
            highlights={"processor": "Helio G99", "ram": "8GB", "storage": "128GB",
                        "display": '6.78" AMOLED 90Hz', "battery": "5000mAh",
                        "charging": "45W", "camera": "48MP dual"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(4, "48MP 1/2.0\" small sensor"),
                camera_aperture=_p(5, "f/1.8"),
                camera_optical_zoom=_p(0, "None"),
                camera_ultrawide=_p(0, "None"),
                camera_video=_p(3, "1080p@30fps"),
                camera_night_mode=_p(4, "Basic AI night"),
                camera_front=_p(5, "32MP f/2.0 selfie โ€” standout feature"),
                camera_lens_quality=_p(3, "Budget glass โ€” soft edges"),
                camera_ois=_p(0, "EIS only"),
                perf_cpu=_p(4, "Helio G99 โ€” solid budget-gaming"),
                perf_gpu=_p(4, "Mali-G57 โ€” PUBG at low-medium"),
                perf_ram_type=_p(5, "LPDDR4X 8GB"),
                perf_thermal=_p(4, "Throttles in long sessions"),
                perf_ai_chip=_p(3, "Basic AI"),
                disp_resolution=_p(7, "FHD+ 2460ร—1080 โ€” sharp"),
                disp_brightness=_p(5, "600 nits typical"),
                disp_color_accuracy=_p(5, "AMOLED sRGB โ€” vivid"),
                disp_refresh_rate=_p(5, "90Hz AMOLED"),
                disp_technology=_p(6, "AMOLED โ€” impressive for under 50k"),
                disp_touch_sampling=_p(4, "180Hz"),
                batt_capacity=_p(8, "5000mAh"),
                batt_real_world_sot=_p(7, "~8hrs"),
                batt_efficiency=_p(5, "G99 6nm moderate"),
                batt_wireless=_p(0, "None"),
                charg_wired_speed=_p(6, "45W โ€” ~55 min โ€” fast for price"),
                charg_wireless_speed=_p(0, "None"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(10, "45W in box โœ…"),
                ram_capacity=_p(6, "8GB"),
                ram_type=_p(5, "LPDDR4X"),
                ram_os_management=_p(5, "HiOS โ€” aggressive killing"),
                stor_capacity=_p(5, "128GB"),
                stor_speed=_p(4, "UFS 2.2"),
                stor_expandable=_p(8, "microSD โœ…"),
                build_frame=_p(3, "Plastic"),
                build_ip_rating=_p(4, "IP54 splash"),
                build_front_glass=_p(4, "Basic glass"),
                build_form_factor=_p(5, "Decent for price"),
                soft_update_policy=_p(2, "2 years"),
                soft_bloatware=_p(3, "HiOS heavy bloat + ads"),
                soft_ai_features=_p(2, "Minimal"),
                soft_ecosystem=_p(3, "None notable"),
                audio_speakers=_p(4, "Single bottom"),
                audio_headphone_jack=_p(8, "3.5mm โœ…"),
                audio_bt_codecs=_p(4, "AAC + SBC"),
            ),
        ),

        Phone(
            id="realme12pp", name="Realme 12 Pro+", brand="Realme", os="android",
            price_pkr=72999, price_label="PKR 72,999",
            priceoye_url="https://priceoye.pk/search?q=Realme+12+Pro+Plus",
            whatmobile_url="https://www.whatmobile.com.pk/Realme_12-Pro-Plus",
            emoji="๐ŸŽฏ", tags=["budget", "periscope", "camera", "67w", "curved"],
            highlights={"processor": "Snapdragon 7s Gen 2", "ram": "8GB LPDDR4X",
                        "storage": "256GB UFS 2.2", "display": '6.7" Curved AMOLED 120Hz',
                        "battery": "5000mAh", "charging": "67W SUPERVOOC",
                        "camera": "50MP Sony IMX890 + 3x periscope"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(7, "50MP 1/1.56\" Sony IMX890"),
                camera_aperture=_p(7, "f/1.8 main"),
                camera_optical_zoom=_p(7, "3x optical periscope โ€” impressive at price"),
                camera_ultrawide=_p(5, "8MP f/2.2 โ€” weak"),
                camera_video=_p(5, "4K@30fps only"),
                camera_night_mode=_p(6, "Decent AI night"),
                camera_front=_p(6, "32MP f/2.4"),
                camera_lens_quality=_p(6, "Standard optics"),
                camera_ois=_p(7, "OIS main + periscope"),
                perf_cpu=_p(5, "SD 7s Gen 2 โ€” mid-range"),
                perf_gpu=_p(5, "Adreno 710 โ€” casual gaming"),
                perf_ram_type=_p(5, "LPDDR4X 8GB"),
                perf_thermal=_p(5, "Throttles in PUBG long sessions"),
                perf_ai_chip=_p(4, "Basic AI"),
                disp_resolution=_p(7, "FHD+ 2412ร—1080"),
                disp_brightness=_p(7, "950 nits HBM"),
                disp_color_accuracy=_p(7, "Adequate P3"),
                disp_refresh_rate=_p(7, "120Hz non-adaptive"),
                disp_technology=_p(7, "Curved AMOLED โ€” premium look"),
                disp_touch_sampling=_p(5, "240Hz"),
                batt_capacity=_p(8, "5000mAh"),
                batt_real_world_sot=_p(7, "~7โ€“8hrs"),
                batt_efficiency=_p(6, "SD 7s Gen2 moderate"),
                batt_wireless=_p(0, "None"),
                charg_wired_speed=_p(8, "67W SUPERVOOC โ€” ~45 min"),
                charg_wireless_speed=_p(0, "None"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(10, "67W in box โœ…"),
                ram_capacity=_p(6, "8GB"),
                ram_type=_p(5, "LPDDR4X"),
                ram_os_management=_p(6, "Realme UI โ€” decent"),
                stor_capacity=_p(7, "256GB"),
                stor_speed=_p(4, "UFS 2.2 โ€” slow"),
                stor_expandable=_p(0, "No microSD"),
                build_frame=_p(6, "Plastic frame"),
                build_ip_rating=_p(0, "No IP rating"),
                build_front_glass=_p(6, "Gorilla Glass 5"),
                build_form_factor=_p(7, "Curved back โ€” premium feel"),
                soft_update_policy=_p(4, "2 years OS ยท 3 years security"),
                soft_bloatware=_p(5, "Realme UI notable bloat"),
                soft_ai_features=_p(4, "Basic AI"),
                soft_ecosystem=_p(5, "Standalone"),
                audio_speakers=_p(6, "Stereo basic"),
                audio_headphone_jack=_p(0, "No 3.5mm"),
                audio_bt_codecs=_p(5, "AAC + SBC"),
            ),
        ),

        # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
        #  MID-RANGE  60k โ€“ 1.5L PKR
        # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

        Phone(
            id="nothing3a", name="Nothing Phone (3a)", brand="Nothing", os="android",
            price_pkr=89999, price_label="PKR 89,999",
            priceoye_url="https://priceoye.pk/search?q=Nothing+Phone+3a",
            whatmobile_url="https://www.whatmobile.com.pk/Nothing_Phone-3a",
            emoji="โฌ›", tags=["mid-range", "design", "glyph", "clean", "periscope"],
            highlights={"processor": "Snapdragon 7s Gen 3", "ram": "8GB LPDDR4X",
                        "storage": "128GB UFS 2.2", "display": '6.77" AMOLED 120Hz',
                        "battery": "5000mAh", "charging": "50W",
                        "camera": "50MP periscope triple ยท Glyph interface"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(6, "50MP 1/1.56\" โ€” average for class"),
                camera_aperture=_p(6, "f/1.88 main"),
                camera_optical_zoom=_p(7, "3x optical periscope โ€” rare at price"),
                camera_ultrawide=_p(4, "8MP ultrawide โ€” weak"),
                camera_video=_p(5, "4K@30fps โ€” no 60fps"),
                camera_night_mode=_p(5, "Night below class average"),
                camera_front=_p(5, "16MP f/2.2"),
                camera_lens_quality=_p(5, "Generic glass"),
                camera_ois=_p(6, "OIS main + periscope"),
                perf_cpu=_p(6, "SD 7s Gen 3 โ€” mid-tier daily"),
                perf_gpu=_p(6, "Adreno 710 โ€” casual gaming"),
                perf_ram_type=_p(5, "LPDDR4X 8GB"),
                perf_thermal=_p(6, "Good for chip tier"),
                perf_ai_chip=_p(5, "Basic AI"),
                disp_resolution=_p(7, "FHD+ 2392ร—1080"),
                disp_brightness=_p(7, "1300 nits HBM"),
                disp_color_accuracy=_p(7, "sRGB + DCI-P3"),
                disp_refresh_rate=_p(7, "120Hz non-adaptive"),
                disp_technology=_p(7, "AMOLED โ€” punchy"),
                disp_touch_sampling=_p(6, "240Hz"),
                batt_capacity=_p(8, "5000mAh"),
                batt_real_world_sot=_p(8, "~8hrs SOT"),
                batt_efficiency=_p(7, "SD 7s Gen3 efficient"),
                batt_wireless=_p(0, "None"),
                charg_wired_speed=_p(7, "50W โ€” ~45 min"),
                charg_wireless_speed=_p(0, "None"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(0, "No charger in box"),
                ram_capacity=_p(6, "8GB"),
                ram_type=_p(5, "LPDDR4X"),
                ram_os_management=_p(8, "Nothing OS โ€” very clean near-stock"),
                stor_capacity=_p(5, "128GB"),
                stor_speed=_p(4, "UFS 2.2"),
                stor_expandable=_p(0, "No microSD"),
                build_frame=_p(7, "Transparent aluminium accents"),
                build_ip_rating=_p(7, "IP54 โ€” splash only"),
                build_front_glass=_p(7, "Gorilla Glass 5"),
                build_form_factor=_p(9, "Iconic Glyph LED interface โ€” unique identity"),
                soft_update_policy=_p(6, "3 years OS ยท 4 years security"),
                soft_bloatware=_p(10, "Nothing OS โ€” zero bloat"),
                soft_ai_features=_p(5, "Essential Space ยท basic AI"),
                soft_ecosystem=_p(5, "Standalone"),
                audio_speakers=_p(7, "Stereo decent"),
                audio_headphone_jack=_p(0, "No 3.5mm"),
                audio_bt_codecs=_p(7, "LDAC + AAC"),
            ),
        ),

        Phone(
            id="a26_5g", name="Samsung Galaxy A26 5G", brand="Samsung", os="android",
            price_pkr=71999, price_label="PKR 71,999",
            priceoye_url="https://priceoye.pk/search?q=Samsung+Galaxy+A26+5G",
            whatmobile_url="https://www.whatmobile.com.pk/Samsung_Galaxy-A26-5G",
            emoji="๐Ÿ”ต", tags=["5g", "mid-range", "7years", "galaxy-ai", "student"],
            highlights={"processor": "Exynos 1380 (5nm)", "ram": "8GB LPDDR4X",
                        "storage": "256GB UFS 2.2", "display": '6.7" Super AMOLED 120Hz',
                        "battery": "5000mAh", "charging": "25W",
                        "camera": "50MP+8MP+2MP ยท 13MP selfie"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(7, "50MP 1/1.56\" โ€” good for class"),
                camera_aperture=_p(7, "f/1.8 solid"),
                camera_optical_zoom=_p(4, "8MP 3x โ€” limited quality"),
                camera_ultrawide=_p(6, "8MP f/2.2"),
                camera_video=_p(6, "4K@30fps"),
                camera_night_mode=_p(7, "Nightography โ€” good"),
                camera_front=_p(7, "13MP f/2.2 autofocus"),
                camera_lens_quality=_p(7, "Samsung quality optics"),
                camera_ois=_p(6, "OIS main"),
                perf_cpu=_p(6, "Exynos 1380 5nm โ€” capable"),
                perf_gpu=_p(6, "Mali-G68 MP5"),
                perf_ram_type=_p(5, "LPDDR4X 8GB"),
                perf_thermal=_p(6, "Good everyday use"),
                perf_ai_chip=_p(7, "Galaxy AI supported"),
                disp_resolution=_p(7, "FHD+ 1080ร—2340"),
                disp_brightness=_p(7, "~1000 nits HBM"),
                disp_color_accuracy=_p(7, "Good P3 coverage"),
                disp_refresh_rate=_p(7, "120Hz"),
                disp_technology=_p(8, "Super AMOLED โ€” vivid Samsung panel"),
                disp_touch_sampling=_p(5, "Standard touch"),
                batt_capacity=_p(8, "5000mAh"),
                batt_real_world_sot=_p(8, "~8โ€“9hrs ยท 17hr video"),
                batt_efficiency=_p(7, "Exynos 1380 5nm"),
                batt_wireless=_p(0, "None"),
                charg_wired_speed=_p(4, "25W"),
                charg_wireless_speed=_p(0, "None"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(0, "No charger in box"),
                ram_capacity=_p(6, "8GB"),
                ram_type=_p(5, "LPDDR4X"),
                ram_os_management=_p(8, "One UI โ€” clean ยท RAM Plus"),
                stor_capacity=_p(7, "256GB"),
                stor_speed=_p(4, "UFS 2.2"),
                stor_expandable=_p(0, "No microSD"),
                build_frame=_p(7, "Aluminium frame"),
                build_ip_rating=_p(7, "IP67"),
                build_front_glass=_p(8, "Gorilla Glass Victus+"),
                build_form_factor=_p(7, "Slim 197g"),
                soft_update_policy=_p(10, "7 years OS + security โ€” best in class for any price"),
                soft_bloatware=_p(7, "One UI โ€” minimal"),
                soft_ai_features=_p(7, "Galaxy AI ยท Circle to Search"),
                soft_ecosystem=_p(8, "Samsung ecosystem ยท Samsung Pay"),
                audio_speakers=_p(7, "Stereo Dolby Atmos"),
                audio_headphone_jack=_p(0, "No 3.5mm"),
                audio_bt_codecs=_p(7, "AAC + SBC"),
            ),
        ),

        Phone(
            id="a55", name="Samsung Galaxy A55", brand="Samsung", os="android",
            price_pkr=139999, price_label="PKR 1,39,999",
            priceoye_url="https://priceoye.pk/search?q=Samsung+Galaxy+A55",
            whatmobile_url="https://www.whatmobile.com.pk/Samsung_Galaxy-A55",
            emoji="๐Ÿ“˜", tags=["mid-range", "student", "camera", "battery"],
            highlights={"processor": "Exynos 1480 (4nm)", "ram": "8GB LPDDR4X",
                        "storage": "256GB UFS 2.2", "display": '6.6" Super AMOLED 120Hz',
                        "battery": "5000mAh", "charging": "25W",
                        "camera": "50MP OIS triple ยท 32MP selfie"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(6, "50MP 1/1.7\" โ€” decent mid-range"),
                camera_aperture=_p(7, "f/1.8 good entry"),
                camera_optical_zoom=_p(3, "3x digital only โ€” no optical"),
                camera_ultrawide=_p(6, "12MP f/2.2"),
                camera_video=_p(5, "4K@30fps"),
                camera_night_mode=_p(6, "Decent night for price"),
                camera_front=_p(6, "32MP f/2.2"),
                camera_lens_quality=_p(6, "Standard Samsung optics"),
                camera_ois=_p(6, "OIS main camera"),
                perf_cpu=_p(5, "Exynos 1480 4nm โ€” solid mid-range"),
                perf_gpu=_p(5, "Xclipse 540 โ€” limited gaming"),
                perf_ram_type=_p(5, "LPDDR4X 8GB โ€” older gen"),
                perf_thermal=_p(5, "Moderate thermal management"),
                perf_ai_chip=_p(5, "Basic AI"),
                disp_resolution=_p(7, "FHD+ 2340ร—1080"),
                disp_brightness=_p(6, "1000 nits HBM"),
                disp_color_accuracy=_p(7, "Good sRGB + DCI-P3"),
                disp_refresh_rate=_p(7, "120Hz non-adaptive"),
                disp_technology=_p(7, "Super AMOLED vivid"),
                disp_touch_sampling=_p(5, "240Hz"),
                batt_capacity=_p(8, "5000mAh โ€” strong for mid-range"),
                batt_real_world_sot=_p(8, "~8โ€“9hrs SOT battery standout"),
                batt_efficiency=_p(6, "Exynos 1480 decent"),
                batt_wireless=_p(0, "None"),
                charg_wired_speed=_p(4, "25W"),
                charg_wireless_speed=_p(0, "None"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(0, "No charger in box"),
                ram_capacity=_p(6, "8GB"),
                ram_type=_p(5, "LPDDR4X older gen"),
                ram_os_management=_p(7, "One UI ยท RAM Plus"),
                stor_capacity=_p(7, "256GB solid"),
                stor_speed=_p(4, "UFS 2.2 โ€” noticeably slow"),
                stor_expandable=_p(0, "No microSD"),
                build_frame=_p(7, "Aluminium frame solid"),
                build_ip_rating=_p(7, "IP67"),
                build_front_glass=_p(7, "Gorilla Glass Victus+"),
                build_form_factor=_p(7, "Slim 198g good grip"),
                soft_update_policy=_p(8, "4 years OS ยท 5 years security"),
                soft_bloatware=_p(6, "Samsung + carrier apps"),
                soft_ai_features=_p(6, "Basic Galaxy AI subset"),
                soft_ecosystem=_p(7, "Samsung Pay ยท Galaxy ecosystem"),
                audio_speakers=_p(6, "Stereo basic Dolby"),
                audio_headphone_jack=_p(0, "No 3.5mm"),
                audio_bt_codecs=_p(6, "AAC + SBC"),
            ),
        ),

        # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
        #  UPPER MID  1.5L โ€“ 3L PKR
        # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

        Phone(
            id="s24fe", name="Samsung Galaxy S24 FE", brand="Samsung", os="android",
            price_pkr=134999, price_label="PKR 1,34,999",
            priceoye_url="https://priceoye.pk/search?q=Samsung+Galaxy+S24+FE",
            whatmobile_url="https://www.whatmobile.com.pk/Samsung_Galaxy-S24-FE",
            emoji="โญ", tags=["upper-mid", "samsung", "galaxy-ai", "7years"],
            highlights={"processor": "Exynos 2500 (3nm)", "ram": "8GB LPDDR5",
                        "storage": "256GB UFS 3.1", "display": '6.7" FHD+ 120Hz AMOLED',
                        "battery": "4700mAh", "charging": "25W ยท 15W wireless",
                        "camera": "50MP triple ยท 3x optical"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(7, "50MP 1/1.56\" sensor"),
                camera_aperture=_p(7, "f/1.8 main"),
                camera_optical_zoom=_p(6, "3x optical telephoto โ€” no periscope"),
                camera_ultrawide=_p(6, "12MP f/2.2"),
                camera_video=_p(7, "4K@60fps โ€” solid"),
                camera_night_mode=_p(7, "Nightography AI"),
                camera_front=_p(7, "10MP f/2.4"),
                camera_lens_quality=_p(7, "Samsung quality glass"),
                camera_ois=_p(7, "OIS main + tele"),
                perf_cpu=_p(8, "Exynos 2500 3nm โ€” strong mid-range"),
                perf_gpu=_p(7, "Xclipse 950"),
                perf_ram_type=_p(8, "LPDDR5 8GB"),
                perf_thermal=_p(7, "Adequate thermal"),
                perf_ai_chip=_p(7, "Galaxy AI NPU capable"),
                disp_resolution=_p(7, "FHD+ 2340ร—1080"),
                disp_brightness=_p(7, "1900 nits peak"),
                disp_color_accuracy=_p(8, "Good DCI-P3"),
                disp_refresh_rate=_p(7, "120Hz non-LTPO"),
                disp_technology=_p(8, "Dynamic AMOLED 2X"),
                disp_touch_sampling=_p(6, "240Hz"),
                batt_capacity=_p(7, "4700mAh adequate"),
                batt_real_world_sot=_p(7, "~7โ€“8hrs SOT"),
                batt_efficiency=_p(7, "Exynos 2500 decent"),
                batt_wireless=_p(6, "15W wireless"),
                charg_wired_speed=_p(4, "25W ยท ~65 min"),
                charg_wireless_speed=_p(5, "15W wireless"),
                charg_reverse=_p(4, "4.5W reverse"),
                charg_inbox_charger=_p(0, "No charger in box"),
                ram_capacity=_p(6, "8GB"),
                ram_type=_p(8, "LPDDR5"),
                ram_os_management=_p(8, "One UI ยท RAM Plus"),
                stor_capacity=_p(7, "256GB"),
                stor_speed=_p(8, "UFS 3.1"),
                stor_expandable=_p(0, "No microSD"),
                build_frame=_p(7, "Aluminium frame"),
                build_ip_rating=_p(10, "IP68"),
                build_front_glass=_p(8, "Gorilla Glass Victus"),
                build_form_factor=_p(8, "Balanced 213g"),
                soft_update_policy=_p(10, "7 years OS + security โ€” best mid-range class"),
                soft_bloatware=_p(6, "Samsung apps moderate bloat"),
                soft_ai_features=_p(8, "Galaxy AI ยท Circle to Search ยท AI photo edit"),
                soft_ecosystem=_p(8, "Samsung Pay ยท SmartThings"),
                audio_speakers=_p(7, "Stereo Dolby Atmos"),
                audio_headphone_jack=_p(0, "No 3.5mm"),
                audio_bt_codecs=_p(8, "LDAC + aptX"),
            ),
        ),

        Phone(
            id="mi14tpro", name="Xiaomi 14T Pro", brand="Xiaomi", os="android",
            price_pkr=229999, price_label="PKR 2,29,999",
            priceoye_url="https://priceoye.pk/search?q=Xiaomi+14T+Pro",
            whatmobile_url="https://www.whatmobile.com.pk/Xiaomi_14T-Pro",
            emoji="๐Ÿ”ฅ", tags=["upper-mid", "leica", "gaming", "144hz", "120w"],
            highlights={"processor": "Dimensity 9300+ (4nm)", "ram": "12GB LPDDR5X",
                        "storage": "256GB UFS 4.0", "display": '6.67" FHD+ 144Hz AMOLED',
                        "battery": "5000mAh", "charging": "120W wired",
                        "camera": "50MP Leica triple"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(8, "50MP 1/1.31\" Light Fusion 900"),
                camera_aperture=_p(8, "f/1.6 main bright aperture"),
                camera_optical_zoom=_p(7, "2.5x optical tele 50MP"),
                camera_ultrawide=_p(8, "12MP f/2.2"),
                camera_video=_p(8, "4K@60fps ยท Leica video"),
                camera_night_mode=_p(8, "Leica night + AI solid"),
                camera_front=_p(7, "32MP f/2.0"),
                camera_lens_quality=_p(9, "Leica Summilux certified โ€” 7 elements"),
                camera_ois=_p(8, "OIS main"),
                perf_cpu=_p(9, "Dimensity 9300+ flagship tier 4nm"),
                perf_gpu=_p(8, "Immortalis-G720 strong gaming"),
                perf_ram_type=_p(10, "LPDDR5X 12GB"),
                perf_thermal=_p(7, "Some throttle in 30min+ sessions"),
                perf_ai_chip=_p(8, "MediaTek APU 790"),
                disp_resolution=_p(7, "FHD+ 2712ร—1220 not QHD"),
                disp_brightness=_p(9, "4000 nits peak โ€” excellent outdoor"),
                disp_color_accuracy=_p(9, "100% P3 Leica calibration"),
                disp_refresh_rate=_p(9, "144Hz adaptive AMOLED gaming advantage"),
                disp_technology=_p(9, "AMOLED CrystalRes premium"),
                disp_touch_sampling=_p(9, "480Hz โ€” fastest at price tier"),
                batt_capacity=_p(8, "5000mAh"),
                batt_real_world_sot=_p(8, "~8โ€“9hrs SOT"),
                batt_efficiency=_p(8, "Dimensity 9300+ 4nm efficient"),
                batt_wireless=_p(0, "No wireless charging"),
                charg_wired_speed=_p(10, "120W HyperCharge โ€” ~23 min 0โ†’100% โšก"),
                charg_wireless_speed=_p(0, "None"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(10, "120W in box โœ…"),
                ram_capacity=_p(8, "12GB"),
                ram_type=_p(10, "LPDDR5X"),
                ram_os_management=_p(7, "HyperOS decent"),
                stor_capacity=_p(7, "256GB"),
                stor_speed=_p(10, "UFS 4.0"),
                stor_expandable=_p(0, "No microSD"),
                build_frame=_p(8, "Aluminium solid"),
                build_ip_rating=_p(8, "IP68"),
                build_front_glass=_p(9, "Gorilla Glass 5"),
                build_form_factor=_p(8, "Slim 8.39mm 209g"),
                soft_update_policy=_p(6, "4 years OS ยท 5 years security"),
                soft_bloatware=_p(6, "HyperOS some bloat"),
                soft_ai_features=_p(7, "Xiaomi AI features"),
                soft_ecosystem=_p(7, "Xiaomi ecosystem"),
                audio_speakers=_p(7, "Stereo Harman Kardon"),
                audio_headphone_jack=_p(0, "No 3.5mm"),
                audio_bt_codecs=_p(9, "LDAC + aptX HD"),
            ),
        ),

        Phone(
            id="op12", name="OnePlus 12", brand="OnePlus", os="android",
            price_pkr=189999, price_label="PKR 1,89,999",
            priceoye_url="https://priceoye.pk/search?q=OnePlus+12",
            whatmobile_url="https://www.whatmobile.com.pk/OnePlus_12",
            emoji="โšก", tags=["upper-mid", "hasselblad", "100w", "gaming"],
            highlights={"processor": "Snapdragon 8 Gen 3", "ram": "12GB LPDDR5X",
                        "storage": "256GB UFS 4.0", "display": '6.82" QHD+ 120Hz LTPO3',
                        "battery": "5400mAh", "charging": "100W ยท 50W wireless",
                        "camera": "50MP Hasselblad triple"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(8, "50MP 1/1.43\" Sony LYT-808 large sensor"),
                camera_aperture=_p(8, "f/1.6 main excellent entry"),
                camera_optical_zoom=_p(7, "3x periscope telephoto"),
                camera_ultrawide=_p(8, "48MP f/2.2 high resolution"),
                camera_video=_p(8, "4K@120fps Hasselblad movie mode"),
                camera_night_mode=_p(8, "Hasselblad Natural Colour + AI night"),
                camera_front=_p(7, "32MP f/2.4"),
                camera_lens_quality=_p(9, "Hasselblad optics colour science XPan"),
                camera_ois=_p(8, "OIS + EIS dual"),
                perf_cpu=_p(9, "SD 8 Gen 3 flagship 2024"),
                perf_gpu=_p(9, "Adreno 750 excellent gaming"),
                perf_ram_type=_p(10, "LPDDR5X 12GB"),
                perf_thermal=_p(8, "Large vapor chamber"),
                perf_ai_chip=_p(8, "Snapdragon AI"),
                disp_resolution=_p(9, "QHD+ 3168ร—1440 510 PPI"),
                disp_brightness=_p(9, "4500 nits peak โ€” very bright"),
                disp_color_accuracy=_p(9, "100% P3 Hasselblad colour"),
                disp_refresh_rate=_p(8, "1โ€“120Hz LTPO3"),
                disp_technology=_p(9, "ProXDR AMOLED LTPO3 premium"),
                disp_touch_sampling=_p(9, "360Hz gaming grade"),
                batt_capacity=_p(9, "5400mAh largest in class"),
                batt_real_world_sot=_p(9, "~10hrs excellent"),
                batt_efficiency=_p(9, "SD8 Gen3 3nm efficient"),
                batt_wireless=_p(9, "50W AIRVOOC best-in-class Android wireless"),
                charg_wired_speed=_p(10, "100W SUPERVOOC โ€” 25 min 0โ†’100% ๐Ÿš€"),
                charg_wireless_speed=_p(9, "50W wireless โ€” class-leading"),
                charg_reverse=_p(5, "10W reverse"),
                charg_inbox_charger=_p(10, "100W charger + cable in box โœ…"),
                ram_capacity=_p(8, "12GB"),
                ram_type=_p(10, "LPDDR5X"),
                ram_os_management=_p(9, "OxygenOS clean near-stock"),
                stor_capacity=_p(7, "256GB"),
                stor_speed=_p(10, "UFS 4.0"),
                stor_expandable=_p(0, "No microSD"),
                build_frame=_p(8, "Aluminium premium"),
                build_ip_rating=_p(9, "IP65 solid"),
                build_front_glass=_p(9, "Gorilla Glass Victus 2"),
                build_form_factor=_p(9, "Flowy Emerald silky glass 220g"),
                soft_update_policy=_p(7, "4 years OS ยท 5 years security"),
                soft_bloatware=_p(9, "OxygenOS near stock minimal bloat"),
                soft_ai_features=_p(7, "OnePlus AI AI Eraser"),
                soft_ecosystem=_p(7, "Standalone Buds integration"),
                audio_speakers=_p(8, "Stereo Dynaudio tuned"),
                audio_headphone_jack=_p(0, "No 3.5mm"),
                audio_bt_codecs=_p(10, "LDAC + aptX HD + AAC"),
            ),
        ),

        # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
        #  FLAGSHIP  3L+ PKR
        # โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

        Phone(
            id="ip15", name="Apple iPhone 15", brand="Apple", os="ios",
            price_pkr=284999, price_label="PKR 2,84,999",
            priceoye_url="https://priceoye.pk/search?q=iPhone+15",
            whatmobile_url="https://www.whatmobile.com.pk/Apple_iPhone-15",
            emoji="๐Ÿƒ", tags=["flagship", "ios", "apple", "ecosystem", "usbc"],
            highlights={"processor": "Apple A16 Bionic", "ram": "6GB LPDDR5",
                        "storage": "128GB NVMe", "display": '6.1" Super Retina XDR 60Hz',
                        "battery": "3877mAh", "charging": "20W ยท 15W MagSafe",
                        "camera": "48MP Fusion ยท Dynamic Island"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(8, "48MP 1/1.5\" Fusion sensor quality over MP"),
                camera_aperture=_p(8, "f/1.6 main ยท f/2.4 ultra"),
                camera_optical_zoom=_p(5, "2x optical crop โ€” no dedicated tele"),
                camera_ultrawide=_p(7, "12MP f/2.4"),
                camera_video=_p(8, "4K@60fps Dolby Vision Cinematic Action Mode"),
                camera_night_mode=_p(8, "Photonic Engine excellent"),
                camera_front=_p(8, "12MP TrueDepth autofocus Cinematic"),
                camera_lens_quality=_p(9, "Apple custom lens best colour science"),
                camera_ois=_p(8, "Sensor-shift OIS"),
                perf_cpu=_p(9, "A16 Bionic โ€” still top-tier 2026"),
                perf_gpu=_p(8, "5-core GPU hardware RT"),
                perf_ram_type=_p(7, "LPDDR5 6GB โ€” iOS compensates"),
                perf_thermal=_p(9, "Apple sustained perf โ€” no throttle"),
                perf_ai_chip=_p(8, "Neural Engine 16-core"),
                disp_resolution=_p(8, "2556ร—1179 Super Retina XDR 460 PPI"),
                disp_brightness=_p(8, "2000 nits peak"),
                disp_color_accuracy=_p(10, "100% P3 True Tone ฮ”E<1"),
                disp_refresh_rate=_p(3, "60Hz only โ€” no ProMotion"),
                disp_technology=_p(8, "OLED โ€” no LTPO no AOD"),
                disp_touch_sampling=_p(5, "60Hz touch matches screen"),
                batt_capacity=_p(5, "3877mAh โ€” smallest in class"),
                batt_real_world_sot=_p(7, "~7hrs SOT A16 saves it"),
                batt_efficiency=_p(9, "A16 excellent efficiency"),
                batt_wireless=_p(6, "15W MagSafe"),
                charg_wired_speed=_p(3, "20W wired โ€” ~95 min very slow"),
                charg_wireless_speed=_p(5, "15W MagSafe"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(0, "No charger"),
                ram_capacity=_p(5, "6GB iOS manages well"),
                ram_type=_p(8, "LPDDR5"),
                ram_os_management=_p(10, "iOS best-in-class RAM management"),
                stor_capacity=_p(5, "128GB limited"),
                stor_speed=_p(10, "Custom NVMe ~3000MB/s"),
                stor_expandable=_p(0, "None"),
                build_frame=_p(7, "Aluminium not titanium"),
                build_ip_rating=_p(10, "IP68 6m/30min deep rated"),
                build_front_glass=_p(10, "Ceramic Shield โ€” very tough"),
                build_form_factor=_p(9, "Dynamic Island USB-C compact 171g"),
                soft_update_policy=_p(9, "6+ years iOS updates proven"),
                soft_bloatware=_p(10, "Zero bloatware cleanest OS"),
                soft_ai_features=_p(6, "Limited Apple Intelligence A16 partial"),
                soft_ecosystem=_p(10, "Full Apple ecosystem Mac iPad Watch AirPods"),
                audio_speakers=_p(8, "Stereo Spatial Audio"),
                audio_headphone_jack=_p(0, "No 3.5mm"),
                audio_bt_codecs=_p(6, "AAC only Apple limitation"),
            ),
        ),

        Phone(
            id="rogphone8", name="ASUS ROG Phone 8", brand="ASUS", os="android",
            price_pkr=339999, price_label="PKR 3,39,999",
            priceoye_url="https://priceoye.pk/search?q=ASUS+ROG+Phone+8",
            whatmobile_url="https://www.whatmobile.com.pk/Asus-ROG-Phone-8",
            emoji="๐ŸŽฎ", tags=["flagship", "gaming", "165hz", "cooling", "pubg"],
            highlights={"processor": "Snapdragon 8 Gen 3", "ram": "16GB LPDDR5X",
                        "storage": "256GB UFS 4.0", "display": '6.78" FHD+ 165Hz AMOLED',
                        "battery": "5500mAh", "charging": "65W",
                        "camera": "50MP Sony IMX890 triple ยท front speakers"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(7, "50MP 1/1.56\" Sony IMX890 solid"),
                camera_aperture=_p(7, "f/1.9 main"),
                camera_optical_zoom=_p(5, "No periscope โ€” 3x digital"),
                camera_ultrawide=_p(7, "13MP f/2.2"),
                camera_video=_p(7, "4K@60fps decent for gaming phone"),
                camera_night_mode=_p(7, "Adequate night"),
                camera_front=_p(6, "32MP f/2.0"),
                camera_lens_quality=_p(6, "Standard optics not camera flagship"),
                camera_ois=_p(7, "OIS main only"),
                perf_cpu=_p(10, "SD 8 Gen 3 flagship โ€” top Antutu"),
                perf_gpu=_p(10, "Adreno 750 gaming-grade GPU"),
                perf_ram_type=_p(10, "LPDDR5X 16GB gaming beast"),
                perf_thermal=_p(10, "AeroActive Cooler compatible best sustained"),
                perf_ai_chip=_p(8, "Game Genie AI frame boost"),
                disp_resolution=_p(7, "FHD+ 2400ร—1080"),
                disp_brightness=_p(8, "2500 nits peak great for gaming"),
                disp_color_accuracy=_p(8, "111.9% DCI-P3 vivid gaming"),
                disp_refresh_rate=_p(10, "165Hz โ€” smoothest display available"),
                disp_technology=_p(9, "AMOLED MiraVision 1ms response"),
                disp_touch_sampling=_p(10, "720Hz โ€” fastest available zero input lag"),
                batt_capacity=_p(9, "5500mAh largest in class gaming endurance"),
                batt_real_world_sot=_p(9, "~10โ€“11hrs 4โ€“5hrs gaming max settings"),
                batt_efficiency=_p(8, "SD8 Gen3 + ROG power management"),
                batt_wireless=_p(0, "None"),
                charg_wired_speed=_p(8, "65W HyperCharge ~45 min"),
                charg_wireless_speed=_p(0, "None"),
                charg_reverse=_p(0, "None"),
                charg_inbox_charger=_p(10, "65W charger + cable in box โœ…"),
                ram_capacity=_p(10, "16GB most RAM of any phone in Pakistan"),
                ram_type=_p(10, "LPDDR5X"),
                ram_os_management=_p(8, "ROG UI Game Genie + reserve mode"),
                stor_capacity=_p(7, "256GB 512GB available"),
                stor_speed=_p(10, "UFS 4.0 fast game loading"),
                stor_expandable=_p(0, "No microSD"),
                build_frame=_p(8, "Aluminium gaming design side USB-C"),
                build_ip_rating=_p(7, "IP54 splash not submersible"),
                build_front_glass=_p(9, "Gorilla Glass Victus 2"),
                build_form_factor=_p(7, "Bulky 240g gaming triggers side ports"),
                soft_update_policy=_p(5, "2 years OS only"),
                soft_bloatware=_p(7, "ROG UI gaming focused minimal non-gaming bloat"),
                soft_ai_features=_p(7, "Game Genie AI frame interpolation latency"),
                soft_ecosystem=_p(6, "ASUS gaming ecosystem ROG accessories"),
                audio_speakers=_p(10, "Front-facing stereo loudest speakers of any phone"),
                audio_headphone_jack=_p(8, "3.5mm jack โœ… rare on flagships"),
                audio_bt_codecs=_p(10, "LDAC + aptX HD + gaming low-latency mode"),
            ),
        ),

        Phone(
            id="huawei70pro", name="Huawei Pura 70 Pro", brand="Huawei", os="android",
            price_pkr=229999, price_label="PKR 2,29,999",
            priceoye_url="https://priceoye.pk/search?q=Huawei+Pura+70+Pro",
            whatmobile_url="https://www.whatmobile.com.pk/Huawei-Pura-70-Pro",
            emoji="๐ŸŒธ", tags=["flagship", "leica", "variable-aperture", "88w", "no-google"],
            highlights={"processor": "Kirin 9010 (5nm)", "ram": "12GB LPDDR5",
                        "storage": "512GB UFS 3.1", "display": '6.8" Quad-curve LTPO OLED 120Hz',
                        "battery": "5050mAh", "charging": "88W ยท 50W wireless",
                        "camera": "50MP variable aperture f/1.4โ€“f/4.0 ยท Leica ยท 5x periscope"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(10, "50MP 1/1.4\" variable aperture โ€” unique f/1.4โ€“f/4.0"),
                camera_aperture=_p(10, "Variable aperture f/1.4โ€“f/4.0 โ€” only phone with true iris"),
                camera_optical_zoom=_p(10, "5x periscope + 3.5x optical โ€” dual tele"),
                camera_ultrawide=_p(8, "13MP f/2.2"),
                camera_video=_p(8, "4K@60fps Leica colour profiles โ€” no 8K"),
                camera_night_mode=_p(10, "Leica algorithms best-in-class low-light AIS"),
                camera_front=_p(8, "13MP f/2.4"),
                camera_lens_quality=_p(10, "Leica Summilux/Summarit certified โ€” 7 elements"),
                camera_ois=_p(10, "OIS + AIS Huawei AI Stabilisation both lenses"),
                perf_cpu=_p(8, "Kirin 9010 5nm solid but trails SD 8 Elite"),
                perf_gpu=_p(7, "Maleoon 910 good media limited heavy gaming"),
                perf_ram_type=_p(8, "LPDDR5 12GB"),
                perf_thermal=_p(8, "Good thermal no aggressive throttle"),
                perf_ai_chip=_p(9, "Huawei NPU strong on-device AI"),
                disp_resolution=_p(9, "2844ร—1260 LTPO OLED 460 PPI"),
                disp_brightness=_p(9, "2500 nits peak"),
                disp_color_accuracy=_p(9, "100% P3 Leica colour science"),
                disp_refresh_rate=_p(8, "1โ€“120Hz LTPO"),
                disp_technology=_p(9, "Quad-curve LTPO OLED premium"),
                disp_touch_sampling=_p(7, "300Hz"),
                batt_capacity=_p(8, "5050mAh solid"),
                batt_real_world_sot=_p(9, "~10hrs+ SOT excellent"),
                batt_efficiency=_p(9, "Kirin 9010 excellent power management"),
                batt_wireless=_p(10, "50W wireless fastest available"),
                charg_wired_speed=_p(9, "88W SuperCharge โ€” ~30 min 0โ†’100% ๐Ÿš€"),
                charg_wireless_speed=_p(10, "50W wireless class-leading"),
                charg_reverse=_p(7, "20W reverse wireless"),
                charg_inbox_charger=_p(10, "88W charger included โœ…"),
                ram_capacity=_p(8, "12GB"),
                ram_type=_p(8, "LPDDR5"),
                ram_os_management=_p(8, "HarmonyOS 4 efficient"),
                stor_capacity=_p(10, "512GB base most storage at tier"),
                stor_speed=_p(8, "UFS 3.1 ~2000MB/s"),
                stor_expandable=_p(0, "No microSD"),
                build_frame=_p(9, "Aluminium alloy premium"),
                build_ip_rating=_p(10, "IP68"),
                build_front_glass=_p(9, "Kunlun Glass very tough"),
                build_form_factor=_p(10, "Luxury vegan leather/glass back premium feel"),
                soft_update_policy=_p(7, "HarmonyOS updates โ€” no Google services"),
                soft_bloatware=_p(8, "Clean HarmonyOS 4 minimal"),
                soft_ai_features=_p(8, "Strong AI โ€” no Google ecosystem"),
                soft_ecosystem=_p(5, "No Google Play โ€” Huawei AppGallery limited apps"),
                audio_speakers=_p(8, "Stereo Harman Kardon"),
                audio_headphone_jack=_p(0, "No 3.5mm"),
                audio_bt_codecs=_p(9, "LDAC + L2HC Huawei hi-res codec"),
            ),
        ),

        Phone(
            id="s25u", name="Samsung Galaxy S25 Ultra", brand="Samsung", os="android",
            price_pkr=414999, price_label="PKR 4,14,999",
            priceoye_url="https://priceoye.pk/search?q=Samsung+Galaxy+S25+Ultra",
            whatmobile_url="https://www.whatmobile.com.pk/Samsung_Galaxy-S25-Ultra",
            emoji="๐Ÿ†", tags=["flagship", "premium", "s-pen", "camera", "gaming"],
            highlights={"processor": "Snapdragon 8 Elite (3nm)", "ram": "12GB LPDDR5X",
                        "storage": "256GB UFS 4.0", "display": '6.9" QHD+ 120Hz LTPO AMOLED',
                        "battery": "5000mAh", "charging": "45W ยท 15W wireless",
                        "camera": "200MP quad ยท 8K video ยท 5x periscope ยท S Pen"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(10, "200MP 1/1.3\" Samsung ISOCELL HP2 โ€” benchmark reference"),
                camera_aperture=_p(9, "f/1.7 main ยท f/3.4 periscope ยท f/2.2 ultrawide"),
                camera_optical_zoom=_p(10, "5x periscope + 3x optical dual tele system"),
                camera_ultrawide=_p(9, "50MP f/1.9 dual-pixel PDAF"),
                camera_video=_p(10, "8K@30fps ยท 4K@120fps ยท Log video ยท Director's View"),
                camera_night_mode=_p(10, "Expert RAW ยท Nightography AI multi-frame"),
                camera_front=_p(9, "12MP f/2.2 autofocus 4K"),
                camera_lens_quality=_p(9, "Custom Samsung optics multi-layer coating"),
                camera_ois=_p(10, "OIS on all 4 cameras + VDIS"),
                perf_cpu=_p(10, "SD 8 Elite fastest Android SoC 2025"),
                perf_gpu=_p(10, "Adreno 830 top-tier mobile GPU"),
                perf_ram_type=_p(10, "LPDDR5X 12GB fastest available"),
                perf_thermal=_p(8, "Large vapor chamber mild throttle 30min+ gaming"),
                perf_ai_chip=_p(10, "Hexagon NPU Galaxy AI Circle to Search on-device"),
                disp_resolution=_p(9, "QHD+ 3088ร—1440 498 PPI"),
                disp_brightness=_p(10, "2600 nits peak outdoor brightness"),
                disp_color_accuracy=_p(10, "100% DCI-P3 ฮ”E<1 factory calibration"),
                disp_refresh_rate=_p(8, "1โ€“120Hz LTPO adaptive"),
                disp_technology=_p(10, "Dynamic AMOLED 2X Gorilla Armor 2"),
                disp_touch_sampling=_p(9, "240Hz touch S Pen 2.8ms latency"),
                batt_capacity=_p(8, "5000mAh solid flagship"),
                batt_real_world_sot=_p(8, "~8โ€“9hrs SOT 1.5 day typical"),
                batt_efficiency=_p(9, "SD 8 Elite 3nm excellent"),
                batt_wireless=_p(7, "15W Qi2 compatible"),
                charg_wired_speed=_p(6, "45W ยท ~65 min โ€” below competition at price"),
                charg_wireless_speed=_p(5, "15W wireless below competition"),
                charg_reverse=_p(5, "4.5W reverse wireless"),
                charg_inbox_charger=_p(0, "No charger in box"),
                ram_capacity=_p(8, "12GB"),
                ram_type=_p(10, "LPDDR5X fastest generation"),
                ram_os_management=_p(8, "One UI RAM Plus virtual RAM"),
                stor_capacity=_p(7, "256GB base 512GB/1TB available"),
                stor_speed=_p(10, "UFS 4.0 ~4200MB/s sequential"),
                stor_expandable=_p(0, "No microSD"),
                build_frame=_p(10, "Titanium armor frame grade 4"),
                build_ip_rating=_p(10, "IP68 2m/30min"),
                build_front_glass=_p(10, "Corning Gorilla Armor 2 anti-reflective"),
                build_form_factor=_p(9, "S Pen built-in 218g premium heft"),
                soft_update_policy=_p(10, "7 years OS + 7 years security updates"),
                soft_bloatware=_p(7, "Some Samsung/carrier apps"),
                soft_ai_features=_p(10, "Galaxy AI Circle to Search Live Translate on-device"),
                soft_ecosystem=_p(9, "Samsung Galaxy ecosystem DeX SmartThings S Pen"),
                audio_speakers=_p(9, "Stereo AKG tuned Dolby Atmos loud clear"),
                audio_headphone_jack=_p(0, "No 3.5mm"),
                audio_bt_codecs=_p(10, "LDAC + aptX HD + AAC hi-res wireless"),
            ),
        ),

        Phone(
            id="ip16pm", name="Apple iPhone 16 Pro Max", brand="Apple", os="ios",
            price_pkr=480999, price_label="PKR 4,80,999",
            priceoye_url="https://priceoye.pk/search?q=iPhone+16+Pro+Max",
            whatmobile_url="https://www.whatmobile.com.pk/Apple_iPhone-16-Pro-Max",
            emoji="๐ŸŽ", tags=["flagship", "ios", "camera", "video", "ecosystem", "premium"],
            highlights={"processor": "Apple A18 Pro (3nm TSMC)", "ram": "8GB LPDDR5",
                        "storage": "256GB NVMe", "display": '6.9" Super Retina XDR 120Hz ProMotion',
                        "battery": "4685mAh", "charging": "30W ยท 25W MagSafe",
                        "camera": "48MP Fusion ยท ProRes 4K120fps ยท 5x periscope"},
            dims=PhoneDimensions(
                camera_main_sensor=_p(9, "48MP 1/1.28\" Fusion large individual pixel"),
                camera_aperture=_p(9, "f/1.78 main ยท f/2.2 ultra ยท f/2.8 periscope"),
                camera_optical_zoom=_p(9, "5x tetraprism periscope excellent reach"),
                camera_ultrawide=_p(9, "48MP f/2.2 macro ultrawide high resolution"),
                camera_video=_p(10, "4K@120fps ProRes Log Dolby Vision cinema grade"),
                camera_night_mode=_p(10, "Photonic Engine computational best-in-class"),
                camera_front=_p(9, "12MP TrueDepth autofocus 4K front"),
                camera_lens_quality=_p(10, "Apple custom precision-ground lens best colour science"),
                camera_ois=_p(10, "Sensor-shift OIS 2nd gen best stabilisation"),
                perf_cpu=_p(10, "A18 Pro fastest mobile chip 3nm TSMC"),
                perf_gpu=_p(10, "6-core GPU hardware ray tracing console gaming"),
                perf_ram_type=_p(9, "LPDDR5 8GB iOS uses extremely efficiently"),
                perf_thermal=_p(10, "Best sustained performance of any phone no throttle"),
                perf_ai_chip=_p(10, "Neural Engine 16-core Apple Intelligence on-device privacy"),
                disp_resolution=_p(9, "2868ร—1320 Super Retina XDR 460 PPI"),
                disp_brightness=_p(10, "2000 nits typical 1600 HDR Ceramic Shield"),
                disp_color_accuracy=_p(10, "100% P3 True Tone ฮ”E<1 Display P3"),
                disp_refresh_rate=_p(8, "1โ€“120Hz ProMotion LTPO adaptive"),
                disp_technology=_p(10, "OLED ProMotion Always-On Ceramic Shield"),
                disp_touch_sampling=_p(9, "240Hz touch sampling"),
                batt_capacity=_p(7, "4685mAh smaller but A18 Pro offsets"),
                batt_real_world_sot=_p(9, "~10โ€“11hrs best battery life of any iPhone ever"),
                batt_efficiency=_p(10, "A18 Pro 3nm most efficient mobile SoC"),
                batt_wireless=_p(7, "25W MagSafe Qi2 15W"),
                charg_wired_speed=_p(4, "30W wired ~75 min slow vs Android flagships"),
                charg_wireless_speed=_p(6, "25W MagSafe fastest for any iPhone"),
                charg_reverse=_p(0, "No reverse"),
                charg_inbox_charger=_p(0, "No charger"),
                ram_capacity=_p(6, "8GB less than Android peers iOS compensates"),
                ram_type=_p(9, "LPDDR5"),
                ram_os_management=_p(10, "iOS RAM management best-in-class zero app reloads"),
                stor_capacity=_p(7, "256GB base 512GB/1TB/2TB options"),
                stor_speed=_p(10, "Custom NVMe ~3000MB/s fastest mobile storage"),
                stor_expandable=_p(0, "None"),
                build_frame=_p(10, "Grade 5 Titanium aerospace grade"),
                build_ip_rating=_p(10, "IP68 6m/30min deepest rated"),
                build_front_glass=_p(10, "Ceramic Shield 2x tougher than competitors"),
                build_form_factor=_p(10, "Desert Titanium natural finish premium industrial"),
                soft_update_policy=_p(9, "6+ years iOS updates proven track record"),
                soft_bloatware=_p(10, "Zero bloatware clean iOS no ads"),
                soft_ai_features=_p(10, "Apple Intelligence Writing Tools Image Playground on-device"),
                soft_ecosystem=_p(10, "Best Apple ecosystem Mac iPad Apple Watch AirPods"),
                audio_speakers=_p(10, "Spatial Audio best stereo separation of any phone"),
                audio_headphone_jack=_p(0, "No 3.5mm USB-C era"),
                audio_bt_codecs=_p(6, "AAC only Apple limitation no LDAC"),
            ),
        ),
    ]