<?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: Ibrahim Salman</title>
    <description>The latest articles on DEV Community by Ibrahim Salman (@devhms).</description>
    <link>https://dev.to/devhms</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4030624%2Ffc84fe20-e106-42c9-8093-2e53ecfc5558.png</url>
      <title>DEV Community: Ibrahim Salman</title>
      <link>https://dev.to/devhms</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devhms"/>
    <language>en</language>
    <item>
      <title>UET Taxila Closing Merit 2025: Cycle II Closed Up to 19 Points Higher</title>
      <dc:creator>Ibrahim Salman</dc:creator>
      <pubDate>Wed, 04 Nov 2026 18:54:28 +0000</pubDate>
      <link>https://dev.to/devhms/uet-taxila-closing-merit-2025-cycle-ii-closed-up-to-19-points-higher-59ao</link>
      <guid>https://dev.to/devhms/uet-taxila-closing-merit-2025-cycle-ii-closed-up-to-19-points-higher-59ao</guid>
      <description>&lt;p&gt;If you applied to UET Taxila in the second cycle of 2025, you probably noticed the merit was brutal. I maintain an unofficial admissions guide for UET Taxila, so I pulled the official tables side by side to see how big the gap really is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Short answer: on open merit (Category A), 2025 Cycle II closed 5 to 19 points higher than 2024 Cycle I, depending on the program.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The numbers
&lt;/h2&gt;

&lt;p&gt;These come from two tables on the UET Taxila admissions portal: the &lt;em&gt;Final Merit Position List No. 2 (Cycle-II)&lt;/em&gt; for 2025, and the 2024 Cycle I table. UET Taxila has not published a 2025 Cycle I table, so this compares different years as well as different cycles.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Program&lt;/th&gt;
&lt;th&gt;2025 Cycle II (Cat A)&lt;/th&gt;
&lt;th&gt;2024 Cycle I (Cat A)&lt;/th&gt;
&lt;th&gt;Gap&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;BS Software Engineering&lt;/td&gt;
&lt;td&gt;90.094%&lt;/td&gt;
&lt;td&gt;79.435%&lt;/td&gt;
&lt;td&gt;+10.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BSc Computer Engineering&lt;/td&gt;
&lt;td&gt;84.404%&lt;/td&gt;
&lt;td&gt;75.065%&lt;/td&gt;
&lt;td&gt;+9.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BS Computer Science&lt;/td&gt;
&lt;td&gt;82.926%&lt;/td&gt;
&lt;td&gt;77.979%&lt;/td&gt;
&lt;td&gt;+4.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BSc Mechatronics Engineering&lt;/td&gt;
&lt;td&gt;81.951%&lt;/td&gt;
&lt;td&gt;69.785%&lt;/td&gt;
&lt;td&gt;+12.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BSc Mechanical Engineering&lt;/td&gt;
&lt;td&gt;77.780%&lt;/td&gt;
&lt;td&gt;67.764%&lt;/td&gt;
&lt;td&gt;+10.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BSc Civil Engineering&lt;/td&gt;
&lt;td&gt;75.815%&lt;/td&gt;
&lt;td&gt;65.519%&lt;/td&gt;
&lt;td&gt;+10.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BSc Electronics Engineering&lt;/td&gt;
&lt;td&gt;75.378%&lt;/td&gt;
&lt;td&gt;62.334%&lt;/td&gt;
&lt;td&gt;+13.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BSc Electrical Engineering&lt;/td&gt;
&lt;td&gt;74.403%&lt;/td&gt;
&lt;td&gt;63.058%&lt;/td&gt;
&lt;td&gt;+11.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BSc Telecommunication Engineering&lt;/td&gt;
&lt;td&gt;72.692%&lt;/td&gt;
&lt;td&gt;59.547%&lt;/td&gt;
&lt;td&gt;+13.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BSc Environmental Engineering&lt;/td&gt;
&lt;td&gt;71.635%&lt;/td&gt;
&lt;td&gt;53.071%&lt;/td&gt;
&lt;td&gt;+18.6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BSc Industrial Engineering&lt;/td&gt;
&lt;td&gt;71.609%&lt;/td&gt;
&lt;td&gt;55.573%&lt;/td&gt;
&lt;td&gt;+16.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;(Computer Science shows the smallest gap. The 2025 Cycle II table lists no Category S figure for it.)&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Cycle II closes higher
&lt;/h2&gt;

&lt;p&gt;Cycle II fills the seats left after Cycle I, and it opens after the second entry test. For Fall 2025, Cycle I closed with its 3rd merit list on 13 June 2025, the second UET Taxila entry test was on 17 June, and Cycle II opened on 27 June. Fewer seats with a new pool of test-takers pushes the last admitted aggregate up.&lt;/p&gt;

&lt;p&gt;The practical takeaway: &lt;strong&gt;if you can, apply in Cycle I.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Portal tables vs prospectus figures
&lt;/h2&gt;

&lt;p&gt;There is a trap here. The prospectus also prints closing merit, but it is calculated on the complete HSSC result, so it can differ from the portal. Mechanical Engineering in 2024 is &lt;strong&gt;67.764%&lt;/strong&gt; in the portal's Cycle I table and &lt;strong&gt;59.009%&lt;/strong&gt; in the prospectus. When you compare yourself to "last year's merit", check which table the number came from.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the aggregate is calculated
&lt;/h2&gt;

&lt;p&gt;UET Taxila uses &lt;strong&gt;17% SSC + 50% HSSC Part-I + 33% entry test (ECAT/TCAT)&lt;/strong&gt;. A worked example: 1000/1100 in matric, 470/550 in FSc Part-I and 220/400 in ECAT gives 15.455 + 42.727 + 18.150 = &lt;strong&gt;76.332%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That clears every BSc engineering program's 2024 prospectus figure. Against 2025 Cycle II it still clears Civil, Electronics, Electrical, Telecom, Environmental and Industrial, but misses Software, Computer Engineering, CS, Mechatronics and Mechanical. That's the cycle gap in one number.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources and tools
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Full tables, the 2022-2024 prospectus history and the 2026 merit list status: &lt;a href="https://uetgpt.site/uet-taxila/closing-merit" rel="noopener noreferrer"&gt;UET Taxila closing merit 2025&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Check your own number against these: &lt;a href="https://uetgpt.site/uet-taxila/aggregate-calculator" rel="noopener noreferrer"&gt;UET Taxila aggregate calculator&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Official formula: &lt;a href="https://admissions.uettaxila.edu.pk/Admission_Eligibility.php" rel="noopener noreferrer"&gt;UET Taxila admission eligibility&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Disclosure: I built UETGPT, the unofficial guide linked above. Closing merit is a historical record, not a guarantee. Always confirm on uettaxila.edu.pk.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>education</category>
      <category>career</category>
      <category>pakistan</category>
      <category>datascience</category>
    </item>
    <item>
      <title>How I Built a Campus-Specific AI Chatbot for UET Taxila Using RAG</title>
      <dc:creator>Ibrahim Salman</dc:creator>
      <pubDate>Thu, 16 Jul 2026 08:36:39 +0000</pubDate>
      <link>https://dev.to/devhms/how-i-built-a-campus-specific-ai-chatbot-for-uet-taxila-using-rag-1g0e</link>
      <guid>https://dev.to/devhms/how-i-built-a-campus-specific-ai-chatbot-for-uet-taxila-using-rag-1g0e</guid>
      <description>&lt;p&gt;&lt;em&gt;Updated October 2026: rewritten to describe the current architecture. UETGPT is no longer open source, and it now lives at &lt;a href="https://uetgpt.site" rel="noopener noreferrer"&gt;uetgpt.site&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Applicants to UET Taxila ask the same questions every year. How is merit calculated? What does the first semester cost? When does the admission window close? The answers exist, but they are spread across prospectus PDFs of more than a hundred pages, admission notices and department websites.&lt;/p&gt;

&lt;p&gt;I built &lt;a href="https://uetgpt.site" rel="noopener noreferrer"&gt;UETGPT&lt;/a&gt; to answer those questions in plain English, from the university's own documents, with a link to the source behind each answer. This article walks through how it works and what I learned building it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The design rule: answers you can check
&lt;/h2&gt;

&lt;p&gt;A general chatbot will happily give you a confident merit figure from the wrong year. For admissions, that is worse than no answer at all. So the rule from day one was simple: every answer should point to an official source, and when the sources don't cover a question, the assistant should say so.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Next.js 16, React 19, TypeScript and Tailwind CSS, deployed on Vercel&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend and data:&lt;/strong&gt; Convex for serverless functions, real-time data and vector search&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authentication:&lt;/strong&gt; Clerk&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Language models:&lt;/strong&gt; GPT-OSS 20B and 120B served by Groq, with Gemini 3.5 Flash-Lite as a fallback&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Embeddings:&lt;/strong&gt; Gemini Embedding 2 at 768 dimensions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How a question becomes an answer
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Ingest official sources
&lt;/h3&gt;

&lt;p&gt;The knowledge base is built from UET Taxila's official websites and prospectuses. Pages and PDFs are converted to clean text, and every document keeps its source URL so it can be cited later. Unchanged documents are skipped on later runs, so keeping the index current stays cheap.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Chunk with context
&lt;/h3&gt;

&lt;p&gt;Each document is split twice: into large parent sections, and into smaller child chunks inside them. Before the chunks are embedded, each one gets a short header with its document's title and, for longer documents, a one-sentence summary of the whole document written by a small model. A fee row that only says "Rs. 38,000" is hard to find on its own. The same row carrying the title of the 2025 prospectus is far easier to match to a question about fees.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Search two ways, then fuse
&lt;/h3&gt;

&lt;p&gt;Every question runs through vector search, which matches meaning, and full-text search, which matches exact terms such as program names and fee categories. The ranked lists are merged with Reciprocal Rank Fusion, which rewards passages that rank well in both, and the merged list is then reranked.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Grade relevance before answering
&lt;/h3&gt;

&lt;p&gt;When the reranker is not confident about what it found, and for questions where a wrong answer would hurt, a grader judges whether the retrieved passages actually address the question before the model writes anything. This approach is known as Corrective RAG. Depending on the result, the assistant answers normally, qualifies its answer, or says it does not have enough information.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Stream the answer with citations
&lt;/h3&gt;

&lt;p&gt;The answer streams to the browser as it is generated, with citations that link to the official page or prospectus each fact came from.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Ingestion is most of the work
&lt;/h3&gt;

&lt;p&gt;Picking a model is the easy part. Getting clean text out of the sources is where the effort goes. Prospectus tables break across pages, and amounts get separated from their labels during extraction. One recent fix was exactly that: hostel fee amounts that had come loose from their rows. The fix belonged in ingestion, not in the prompt.&lt;/p&gt;

&lt;h3&gt;
  
  
  The year matters as much as the number
&lt;/h3&gt;

&lt;p&gt;Closing merit is published a year late: the 2025 prospectus carries the 2024 figures. An assistant that doesn't track which year a figure belongs to will give answers that are precise and wrong. Figures on the site are labelled with the year they belong to and the document they came from.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hallucination control lives in the pipeline
&lt;/h3&gt;

&lt;p&gt;Telling a model not to make things up helps a little. Good retrieval, a relevance check when retrieval looks unsure and a low temperature help far more. The assistant is also instructed to say when the official documents do not cover a question instead of filling the gap.&lt;/p&gt;

&lt;h3&gt;
  
  
  People want speed and a source
&lt;/h3&gt;

&lt;p&gt;Most visitors want to type a question, get an answer quickly and see where it came from. Guests get five free questions a day without signing up, and answers start streaming as soon as generation begins.&lt;/p&gt;

&lt;h2&gt;
  
  
  Beyond the chat
&lt;/h2&gt;

&lt;p&gt;Some questions are better served by a page than a conversation, so UETGPT also has a &lt;a href="https://uetgpt.site/tools?tab=merit" rel="noopener noreferrer"&gt;merit calculator&lt;/a&gt;, &lt;a href="https://uetgpt.site/uet-taxila/closing-merit" rel="noopener noreferrer"&gt;closing merit for every program from 2022 to 2024&lt;/a&gt;, fee estimates, &lt;a href="https://uetgpt.site/uet-taxila/programs" rel="noopener noreferrer"&gt;degree outlines&lt;/a&gt;, the academic calendar, bus routes, a hostel guide and comparisons with 22 other universities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;UETGPT is free at &lt;a href="https://uetgpt.site" rel="noopener noreferrer"&gt;uetgpt.site&lt;/a&gt;. It is independent and not affiliated with UET Taxila, so confirm anything important on uettaxila.edu.pk.&lt;/p&gt;

&lt;p&gt;UETGPT is the first flagship project in my portfolio, and more are on the way. You can see the rest of my work at &lt;a href="https://ibrahimsalman.vercel.app" rel="noopener noreferrer"&gt;ibrahimsalman.vercel.app&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>ai</category>
      <category>rag</category>
      <category>nextjs</category>
    </item>
  </channel>
</rss>
