<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Farhan Murtaza</title>
    <description>The latest articles on DEV Community by Farhan Murtaza (@fruuxhk).</description>
    <link>https://dev.to/fruuxhk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3918228%2F3f911861-08e6-4f05-8e9a-58f0233f94ae.png</url>
      <title>DEV Community: Farhan Murtaza</title>
      <link>https://dev.to/fruuxhk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fruuxhk"/>
    <language>en</language>
    <item>
      <title>Pakistan Salary Tax 2025-26 Complete Guide - FBR Slabs, Section 4AB Surcharge, Filer Benefits</title>
      <dc:creator>Farhan Murtaza</dc:creator>
      <pubDate>Sat, 30 May 2026 12:38:44 +0000</pubDate>
      <link>https://dev.to/fruuxhk/pakistan-salary-tax-2025-26-complete-guide-fbr-slabs-section-4ab-surcharge-filer-benefits-3gai</link>
      <guid>https://dev.to/fruuxhk/pakistan-salary-tax-2025-26-complete-guide-fbr-slabs-section-4ab-surcharge-filer-benefits-3gai</guid>
      <description>&lt;p&gt;Salary tax in Pakistan changed meaningfully in July 2025 when the Finance Act 2025 came into force. If you are a salaried professional looking at your latest pay slip and wondering whether the tax deduction looks right, or you are a fresh graduate weighing a job offer and need to estimate your take-home, this guide covers the current FBR slabs (FY 2025-26), how they compare with FY 2024-25, what the Section 4AB surcharge means for high earners, how progressive slab math actually works (it is not flat rate), and the practical steps to file your annual return.&lt;/p&gt;

&lt;p&gt;Every number here is verified against the Finance Act, FBR Budget 2025-26 Salient Features, and authoritative tax practice references. Run your specific salary through the &lt;a href="https://www.toolsfluent.com/tools/pakistan-income-tax-calculator" rel="noopener noreferrer"&gt;Pakistan FBR Salary Tax Calculator&lt;/a&gt; on Toolsfluent to get an instant breakdown.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR for FY 2025-26
&lt;/h2&gt;

&lt;p&gt;For salaried individuals in Pakistan, tax year 2025-26 starts 1 July 2025 with these key rules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Annual taxable income up to PKR 600,000 is fully exempt.&lt;/li&gt;
&lt;li&gt;The lowest taxable slab (600,001 to 1,200,000) is taxed at 1%, down from 5% in FY 2024-25. Significant relief for low income earners.&lt;/li&gt;
&lt;li&gt;Higher slabs (above 1.2 million) saw smaller adjustments.&lt;/li&gt;
&lt;li&gt;Top rate of 35% applies on income above PKR 4.1 million.&lt;/li&gt;
&lt;li&gt;A 9% surcharge under Section 4AB applies on the calculated tax payable if your annual taxable income exceeds PKR 10 million. (For non salaried it remains 10%.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you earn PKR 100,000 per month (PKR 12 lakh annual), your annual tax is approximately PKR 6,000 (just 0.5% effective). If you earn PKR 200,000 per month, annual tax is approximately PKR 39,000 (1.6% effective). Tax burden grows progressively only as your income climbs higher slabs.&lt;/p&gt;

&lt;h2&gt;
  
  
  FBR salaried tax slabs FY 2025-26
&lt;/h2&gt;

&lt;p&gt;The slab structure under Finance Act 2025 effective 1 July 2025:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Annual taxable income (PKR)&lt;/th&gt;
&lt;th&gt;Marginal rate&lt;/th&gt;
&lt;th&gt;Base tax at start of slab&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;0 to 600,000&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;600,001 to 1,200,000&lt;/td&gt;
&lt;td&gt;1%&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1,200,001 to 2,200,000&lt;/td&gt;
&lt;td&gt;11%&lt;/td&gt;
&lt;td&gt;6,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2,200,001 to 3,200,000&lt;/td&gt;
&lt;td&gt;23%&lt;/td&gt;
&lt;td&gt;116,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3,200,001 to 4,100,000&lt;/td&gt;
&lt;td&gt;30%&lt;/td&gt;
&lt;td&gt;346,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Above 4,100,000&lt;/td&gt;
&lt;td&gt;35%&lt;/td&gt;
&lt;td&gt;616,000&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Plus the Section 4AB surcharge of 9% on tax payable when annual taxable income exceeds PKR 10 million (salaried individuals).&lt;/p&gt;

&lt;h2&gt;
  
  
  FY 2024-25 vs FY 2025-26 comparison
&lt;/h2&gt;

&lt;p&gt;The Finance Act 2025 specifically targeted the salaried class for relief. Here is how the slabs and surcharge changed:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Slab (PKR annual)&lt;/th&gt;
&lt;th&gt;FY 2024-25 rate&lt;/th&gt;
&lt;th&gt;FY 2025-26 rate&lt;/th&gt;
&lt;th&gt;Change&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Up to 600,000&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;td&gt;Same&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;600,001 to 1,200,000&lt;/td&gt;
&lt;td&gt;5%&lt;/td&gt;
&lt;td&gt;1%&lt;/td&gt;
&lt;td&gt;80% reduction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1,200,001 to 2,200,000&lt;/td&gt;
&lt;td&gt;15% (Rs 30,000 base)&lt;/td&gt;
&lt;td&gt;11% (Rs 6,000 base)&lt;/td&gt;
&lt;td&gt;Lower rate + lower base&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2,200,001 to 3,200,000&lt;/td&gt;
&lt;td&gt;25% (Rs 180,000 base)&lt;/td&gt;
&lt;td&gt;23% (Rs 116,000 base)&lt;/td&gt;
&lt;td&gt;Slight reduction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3,200,001 to 4,100,000&lt;/td&gt;
&lt;td&gt;30% (Rs 430,000 base)&lt;/td&gt;
&lt;td&gt;30% (Rs 346,000 base)&lt;/td&gt;
&lt;td&gt;Same rate, lower base&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Above 4,100,000&lt;/td&gt;
&lt;td&gt;35% (Rs 700,000 base)&lt;/td&gt;
&lt;td&gt;35% (Rs 616,000 base)&lt;/td&gt;
&lt;td&gt;Same rate, lower base&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Section 4AB surcharge (above 1 crore)&lt;/td&gt;
&lt;td&gt;10%&lt;/td&gt;
&lt;td&gt;9% (salaried only)&lt;/td&gt;
&lt;td&gt;1pp reduction&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Real impact for someone earning PKR 200,000 per month (PKR 24 lakh annual):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FY 2024-25 tax: approximately PKR 210,000 (8.75% effective).&lt;/li&gt;
&lt;li&gt;FY 2025-26 tax: approximately PKR 138,000 (5.75% effective).&lt;/li&gt;
&lt;li&gt;Savings: PKR 72,000 per year, or PKR 6,000 per month.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For someone at PKR 8 lakh annual (PKR 67,000 monthly), tax went from PKR 10,000 to PKR 2,000. Almost full exemption at the bottom.&lt;/p&gt;

&lt;h2&gt;
  
  
  How progressive slab math actually works
&lt;/h2&gt;

&lt;p&gt;The single most common mistake Pakistani salaried people make is assuming the top slab rate applies to your whole income. It does not. Each slab's marginal rate applies only to the income WITHIN that slab.&lt;/p&gt;

&lt;p&gt;Worked example for someone earning PKR 1,800,000 per year (PKR 150,000 monthly) in FY 2025-26:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Income falling in slab&lt;/th&gt;
&lt;th&gt;Marginal rate&lt;/th&gt;
&lt;th&gt;Tax in this slab&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;First 600,000&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Next 600,000 (600,001 to 1,200,000)&lt;/td&gt;
&lt;td&gt;1%&lt;/td&gt;
&lt;td&gt;6,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Next 600,000 (1,200,001 to 1,800,000)&lt;/td&gt;
&lt;td&gt;11%&lt;/td&gt;
&lt;td&gt;66,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total annual tax&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;72,000&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Effective tax rate: 72,000 / 1,800,000 = 4%, not 11% (the top slab rate they touched).&lt;/p&gt;

&lt;p&gt;If you instead applied the 11% flat to all 1,800,000 you would calculate PKR 198,000, which is nearly 3 times the correct figure. This is why mental math overestimates Pakistani tax burden and why people are often surprised by their actual deduction.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.toolsfluent.com/tools/pakistan-income-tax-calculator" rel="noopener noreferrer"&gt;Pakistan FBR Salary Tax Calculator&lt;/a&gt; on Toolsfluent does this slab math instantly with full transparency, showing exactly which slab math was applied.&lt;/p&gt;

&lt;h2&gt;
  
  
  Section 4AB surcharge explained
&lt;/h2&gt;

&lt;p&gt;Section 4AB of the Income Tax Ordinance 2001 was introduced via Finance Act 2024 effective 1 July 2024. It imposes a surcharge on tax payable (not on income directly) for high earners.&lt;/p&gt;

&lt;p&gt;How the surcharge works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Calculate your normal slab tax using the progressive math above.&lt;/li&gt;
&lt;li&gt;If your annual taxable income exceeds PKR 10 million, apply the surcharge as a percentage of that slab tax.&lt;/li&gt;
&lt;li&gt;Final tax = slab tax + surcharge.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Surcharge rates:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tax year&lt;/th&gt;
&lt;th&gt;Salaried&lt;/th&gt;
&lt;th&gt;Non salaried&lt;/th&gt;
&lt;th&gt;Threshold&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;FY 2024-25&lt;/td&gt;
&lt;td&gt;10%&lt;/td&gt;
&lt;td&gt;10%&lt;/td&gt;
&lt;td&gt;PKR 10 million&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FY 2025-26&lt;/td&gt;
&lt;td&gt;9%&lt;/td&gt;
&lt;td&gt;10%&lt;/td&gt;
&lt;td&gt;PKR 10 million&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Worked example for a salaried individual earning PKR 15 million annual in FY 2025-26:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Step&lt;/th&gt;
&lt;th&gt;Calculation&lt;/th&gt;
&lt;th&gt;Amount (PKR)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Slab tax to 600,000&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;600,001 to 1,200,000&lt;/td&gt;
&lt;td&gt;600,000 at 1%&lt;/td&gt;
&lt;td&gt;6,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1,200,001 to 2,200,000&lt;/td&gt;
&lt;td&gt;1,000,000 at 11%&lt;/td&gt;
&lt;td&gt;110,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2,200,001 to 3,200,000&lt;/td&gt;
&lt;td&gt;1,000,000 at 23%&lt;/td&gt;
&lt;td&gt;230,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3,200,001 to 4,100,000&lt;/td&gt;
&lt;td&gt;900,000 at 30%&lt;/td&gt;
&lt;td&gt;270,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4,100,001 to 15,000,000&lt;/td&gt;
&lt;td&gt;10,900,000 at 35%&lt;/td&gt;
&lt;td&gt;3,815,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Slab tax subtotal&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;4,431,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Section 4AB surcharge&lt;/td&gt;
&lt;td&gt;4,431,000 x 9%&lt;/td&gt;
&lt;td&gt;398,790&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total annual tax&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;4,829,790&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Monthly tax&lt;/td&gt;
&lt;td&gt;total / 12&lt;/td&gt;
&lt;td&gt;402,483&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The surcharge applies AFTER slab math, not by changing slab rates. It only kicks in once you cross PKR 10 million, so a salary of PKR 9 million faces no surcharge, while PKR 10 million plus a single rupee triggers the full 9% on top of computed slab tax.&lt;/p&gt;

&lt;h2&gt;
  
  
  Filer vs non filer: does it change the salary slab?
&lt;/h2&gt;

&lt;p&gt;No. The salary tax slabs themselves are identical for filer and non filer salaried individuals. Both pay the same progressive rates we listed above. The difference shows up in OTHER withholding tax rates and friction points across daily life.&lt;/p&gt;

&lt;p&gt;What changes between filer and non filer:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Touchpoint&lt;/th&gt;
&lt;th&gt;Filer (Active Taxpayer List)&lt;/th&gt;
&lt;th&gt;Non filer&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Salary slab tax (Section 149)&lt;/td&gt;
&lt;td&gt;Standard progressive&lt;/td&gt;
&lt;td&gt;Standard progressive (same)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cash withdrawal from bank above Rs 50,000/day&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;td&gt;0.6% on every transaction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Property purchase advance tax&lt;/td&gt;
&lt;td&gt;3%&lt;/td&gt;
&lt;td&gt;6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vehicle registration tax&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;Roughly 2 to 4x higher&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Electricity bill above Rs 25,000 (Section 235)&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;td&gt;7.5% on bill amount&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dividend withholding&lt;/td&gt;
&lt;td&gt;15%&lt;/td&gt;
&lt;td&gt;30%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bank profit on deposits&lt;/td&gt;
&lt;td&gt;15%&lt;/td&gt;
&lt;td&gt;30%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For salaried individuals not running a business, the savings from being a filer typically run PKR 30,000 to PKR 150,000 per year just from these collateral exemptions. The cost of being a filer is filing one annual return on the FBR IRIS portal, often a nil return for those who have no income beyond salary.&lt;/p&gt;

&lt;p&gt;If you are not yet on the Active Taxpayer List, registering and filing takes 30 to 60 minutes the first time. After that, an annual filing keeps you on the list. The return cycle aligns with the Pakistani fiscal year (1 July to 30 June).&lt;/p&gt;

&lt;h2&gt;
  
  
  How to file a salary tax return in Pakistan
&lt;/h2&gt;

&lt;p&gt;For most salaried Pakistanis, filing is a once a year event. Step by step:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Get an NTN (National Tax Number) if you do not have one. New filers register on iris.fbr.gov.pk using their CNIC and an email address. The NTN is your tax identifier for life.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wait for your employer salary certificate. Your employer is required by Section 149 to issue an annual salary certificate (similar to a Form 16 in India) showing your total salary, allowances, and tax withheld during the year. This usually arrives by July to August after the fiscal year end.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Log into the FBR IRIS portal at iris.fbr.gov.pk. Use your NTN and password. The system shows your declared income from your employer (because employers file e-monthly salary statements that flow into your IRIS account).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fill the salary return form. For pure salary income with no other income sources, this is largely auto populated from employer filings. Verify the figures match your salary certificate.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Declare assets and liabilities (wealth statement). Required if your annual income exceeds Rs 1 million. List property, vehicles, bank balances, investments, jewelry above a threshold. This is the most time consuming part for first time filers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reconcile and submit. If the employer over deducted, you get a refund (slow process, takes 6 to 18 months). If under deducted, you pay the difference. Most filers see zero or small adjustments.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check Active Taxpayer List status. ATL is updated monthly. You become an active filer the first day of the month following your return acceptance.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The deadline for individual return filing is typically 30 September each year, often extended to October or November via FBR notification.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes Pakistani salaried people make
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Assuming top slab rate applies flat. As shown in the worked example, marginal rate applies only to income within that slab. Always use progressive math.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Confusing the 600,000 exemption with the 1,200,000 slab. The first 600,000 is fully tax free for everyone. The 1% rate only kicks in on income ABOVE 600,000.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Not registering as a filer. Saving Rs 50,000+ per year in collateral withholdings is real money. Filing a nil return is effectively free.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ignoring the Section 4AB surcharge at the edge. If you are around PKR 9.5 million annual, even a small bonus that pushes you over 10 million triggers 9% surcharge on your whole slab tax bill, often making the marginal effective rate above 40% on that bonus increment. Negotiate timing of variable comp with this in mind.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Treating the salary certificate as optional. Always reconcile what your employer reported against your own records. Errors are common, and you are responsible for the final figures on your return.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Forgetting tax credits. Approved donations (Section 61), full time teaching staff (Section 62), and contributions to a recognised pension fund (Section 63) all reduce taxable income. Worth claiming if applicable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Filing only when there is a refund expected. Filing every year keeps you on the Active Taxpayer List. Skipping filing pushes you to non filer status and triggers higher withholdings until you catch up.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Bottom line
&lt;/h2&gt;

&lt;p&gt;The Finance Act 2025 brought meaningful relief to lower and middle income Pakistani salaried earners. If you were paying PKR 30,000 a year tax on a PKR 1.2 million salary in FY 2024-25, you now pay just PKR 6,000 in FY 2025-26. For higher earners the relief is smaller but real. The Section 4AB surcharge remains the main extra cost for high earners (above PKR 1 crore annual).&lt;/p&gt;

&lt;p&gt;To see your exact tax for either FY, run your specific gross salary through the &lt;a href="https://www.toolsfluent.com/tools/pakistan-income-tax-calculator" rel="noopener noreferrer"&gt;Pakistan FBR Salary Tax Calculator&lt;/a&gt; on Toolsfluent. The calculator supports both years, applies progressive slab math automatically, factors in the Section 4AB surcharge where relevant, and shows the slab by slab breakdown for transparency.&lt;/p&gt;

&lt;p&gt;If you are not yet a filer, the highest ROI move you can make this month is registering on the FBR IRIS portal and filing a return. Even a nil return puts you on the Active Taxpayer List and saves you Rs 30,000+ per year on collateral withholdings. The 30 minutes of paperwork compounds for years.&lt;/p&gt;

&lt;p&gt;Run the numbers. File the return. Keep more of your salary.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://www.toolsfluent.com/blog/pakistan-salary-tax-2025-26-complete-guide" rel="noopener noreferrer"&gt;Toolsfluent&lt;/a&gt;. Cross-posted here for the Pakistani developer community on Dev.to.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>pakistan</category>
      <category>finance</category>
      <category>tax</category>
      <category>personalfinance</category>
    </item>
    <item>
      <title>Building a 35-tool privacy-first hub with Next.js 15: lessons from 2 weeks of solo build</title>
      <dc:creator>Farhan Murtaza</dc:creator>
      <pubDate>Thu, 07 May 2026 15:08:17 +0000</pubDate>
      <link>https://dev.to/fruuxhk/building-a-35-tool-privacy-first-hub-with-nextjs-15-lessons-from-2-weeks-of-solo-build-5dll</link>
      <guid>https://dev.to/fruuxhk/building-a-35-tool-privacy-first-hub-with-nextjs-15-lessons-from-2-weeks-of-solo-build-5dll</guid>
      <description>&lt;p&gt;After 2 weeks of evenings and weekends, I shipped Toolsfluent: a free hub of 35+ online tools (calculators, converters, generators) targeting privacy-conscious users in South Asia, the Gulf, and globally.&lt;/p&gt;

&lt;p&gt;Sharing the technical learnings here, not the marketing version. If you're a solo dev shipping a content-heavy site, this might save you a few weeks.&lt;/p&gt;

&lt;h2&gt;
  
  
  The stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Framework&lt;/strong&gt;: Next.js 15 (App Router, RSC, ISR)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Language&lt;/strong&gt;: TypeScript&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Styling&lt;/strong&gt;: Tailwind CSS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Icons&lt;/strong&gt;: lucide-react&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fonts&lt;/strong&gt;: Inter (body) + Sora (brand) via &lt;code&gt;next/font/google&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Theme&lt;/strong&gt;: next-themes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting&lt;/strong&gt;: Vercel (Hobby tier)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Static generation for every tool page. No database. No auth. Currency converter is the only thing that hits an external API (exchangerate-api.com free tier).&lt;/p&gt;

&lt;h2&gt;
  
  
  What worked unexpectedly well
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Single source-of-truth for tools
&lt;/h3&gt;

&lt;p&gt;Every tool's metadata lives in one TypeScript array:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;TOOLS&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Tool&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;slug&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;mortgage-calculator&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Mortgage Calculator&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;...&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;category&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;finance&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;keywords&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[...],&lt;/span&gt;
    &lt;span class="na"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Home&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;featured&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;howToSteps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[...],&lt;/span&gt;
    &lt;span class="na"&gt;faqs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[...],&lt;/span&gt;
    &lt;span class="na"&gt;relatedTools&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[...]&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="c1"&gt;// ... 34 more&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Adding a new tool means: add the entry, create a folder, write the calculator component. Sitemap, JSON-LD schema, search index, navigation, related tools, and category pages auto-update from the array.&lt;/p&gt;

&lt;p&gt;This single decision saved hours per tool. By tool 20, I was shipping new tools in under an hour.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. JSON-LD structured data on everything
&lt;/h3&gt;

&lt;p&gt;Every tool ships:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;SoftwareApplication&lt;/code&gt; schema&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;FAQPage&lt;/code&gt; schema (from FAQs in the data array)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;BreadcrumbList&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Categories ship &lt;code&gt;CollectionPage&lt;/code&gt;. Site root ships &lt;code&gt;WebSite&lt;/code&gt; + &lt;code&gt;Organization&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Google takes JSON-LD seriously for tool pages. Without it, you're invisible. With it, your tool can show up with rating stars, FAQs in SERP, and "free" pricing badge.&lt;/p&gt;

&lt;p&gt;Build a single &lt;code&gt;buildToolJsonLd(tool)&lt;/code&gt; helper and you're done.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Per-tool meta description, canonical, OG tags via one helper
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;buildMetadata&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;description&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;keywords&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;image&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;SITE_URL&lt;/span&gt;&lt;span class="p"&gt;}${&lt;/span&gt;&lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; | &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;SITE_NAME&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;description&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;keywords&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;keywords&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;, &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;metadataBase&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;URL&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;SITE_URL&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;alternates&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;canonical&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;openGraph&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;description&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;images&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt; &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;image&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;630&lt;/span&gt; &lt;span class="p"&gt;}]&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;twitter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;card&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;summary_large_image&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;robots&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;index&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;follow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every page calls this. Zero metadata bugs. Easy to verify in &lt;code&gt;view-source&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What surprised me
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Em-dashes flagged as AI content
&lt;/h3&gt;

&lt;p&gt;Google's Helpful Content classifier flags em-dashes (—) as a strong signal of AI-generated content. Removed all of them site-wide via sed and replaced with commas / colons / periods. Sounds silly but it's a real ranking heuristic.&lt;/p&gt;

&lt;h3&gt;
  
  
  Authoritative source citations matter on YMYL
&lt;/h3&gt;

&lt;p&gt;Every health and finance blog post got 2-3 citations to authoritative sources (CDC, WHO, NIST, IRS, CFPB, RBI, GST Council India, HMRC). YMYL (Your Money or Your Life) content without citations gets de-ranked by Google's Quality Rater Guidelines.&lt;/p&gt;

&lt;p&gt;Took an extra hour per post to research and cite properly. Made a measurable difference in indexing speed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Canonical tag with vs without trailing slash
&lt;/h3&gt;

&lt;p&gt;Spent hours debugging "Alternate page with proper canonical tag" warnings in GSC. Turned out my SITE_URL had no trailing slash but Google was crawling URLs with trailing slash. Both worked but Google was confused which one to canonicalize.&lt;/p&gt;

&lt;p&gt;Fix: be consistent. Pick one and stick with it everywhere.&lt;/p&gt;

&lt;h3&gt;
  
  
  Image compressor as a Canvas API trick
&lt;/h3&gt;

&lt;p&gt;Most image compressors upload to a server. The privacy-first version is just:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;img&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Image&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;img&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;canvas&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;canvas&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nx"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;width&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;img&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;width&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nx"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;height&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;img&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;height&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nx"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getContext&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;2d&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;drawImage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;img&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nx"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toBlob&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;blob&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;downloadBlob&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;blob&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;image/jpeg&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.8&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="nx"&gt;img&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;src&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;URL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createObjectURL&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;file&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Quality knob is just the third arg to &lt;code&gt;toBlob&lt;/code&gt;. Done. No upload, no server, no privacy concerns.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;More Pakistani / Indian / UAE niche tools (Marla converter, UAE gratuity, Pakistani GPA already shipped)&lt;/li&gt;
&lt;li&gt;WhatsApp share button site-wide (huge in PK / IN, ignored by most western tool sites)&lt;/li&gt;
&lt;li&gt;AI-augmented text tools using Claude API (cover letter generator, code explainer, etc.) — text only, no image gen because paid API costs would exceed AdSense revenue at this stage&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Honest numbers
&lt;/h2&gt;

&lt;p&gt;35 tools live, 17 blog posts, all legal pages, GA4 + Bing + GSC verified. Indexed in Google within 24 hours of launch.&lt;/p&gt;

&lt;p&gt;Traffic so far: a handful of visits from my own testing. Distribution is the next problem to solve, not the build.&lt;/p&gt;

&lt;p&gt;If you want to see the production version: &lt;a href="https://www.toolsfluent.com" rel="noopener noreferrer"&gt;https://www.toolsfluent.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Honest feedback welcome — especially on schema markup gotchas, perf optimization wins I'm missing, or tools you'd actually use.&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>showdev</category>
      <category>sideprojects</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
