Sign in

Sayed's Blog

@hello.sayed.blog.ap.brid.gy
3 followers 0 following 9 posts

Sharing my posts on activitypub network and bsky. 🌉 bridged from ⁂ sayed.blog, follow @ap.brid.gy to interact

PostsRepliesMedia
Sayed's Blog @hello.sayed.blog.ap.brid.gy · 03/09/2026
And how I made it!
sayed.blog
MCP for Bangladesh Construction codes and regulations
_TL:DR: I have built an MCP(using mintlify) for 'building construction legal code. Link:_ https://docs.sayed.app/mcp_, You can use with Claude, Chatgpt or with any LLMs that support MCP tooling._ Bangladesh legal codes, regulations doesn't have any standard format to publish on the internet. Everything is scattered. As, I am from Civil Engineering background, I wanted to build this system where AI agents, crawer can cite the legal constructions info correctly. The blog post will be about how I actually organized the corpus in markdown and how to use it, not about how to build MCP! * * * So far, I have added 3 codes in the site. 1. BNBC 2020, 2. BNBC 2006, 3. ঢাকা মহানগর ইমারত বিধিমালা, ২০২৫ * * * My main method is to split the PDF pages into single page and save them in a folder per page. If the PDF is copy-able/extract-able , keep them in PDF file otherwise PNG. Then, in general sending wellknown PDF extraction tools and OCR tools then extract the main content. The PDF extraction tools: pymupdf4llm, pymupdf, markitdown, pdfplumber, easyocr and few others. Then, build the skeleton content. Then, send swarm of AI agents per reasonable pages(like 5 pages per agent) and fix up the content. Then, again send specialized agents for table fixer, figure fixer and overall content quality checks. In that way, the LLM wont hallucinate or assume any content! Here how I extracted those specific content: **BNBC 2020** BNBC 2020 is the main legal code for building constructions in Bangladesh. The main PDF is in english and publish as copyable PDF. I split the PDF first. Then, I ran those 3 types of pdf tools pymupdf4llm,markitdown, pdfplumberto extract the main content then followed the LLMs way to fix up. It was easy. **BNBC 2006** BNBC 2006 code was in image based PDF. So, I splits the PDF into PNG images, 1 per folder. Then, ran local OCR. Then, send agents to fix up. **ঢাকা মহানগর ইমারত বিধিমালা, ২০২৫** This code is in Bangla. Bangladesh govt offices uses ANSI fonts and mixup many glyph and it doesnt follow any standard font or method. You just cant copy any content from those PDF! You can check by yourself here. I have to built a learning method and mapping every character with real bangla unicode range and extract the primary content. Here few example of mapping: 1: 'প', 2: 'হ', 3: 'া', 4: 'য়', 5: 'ন', 7: 'ও', 8: 'র', 9: 'ণ', 10: 'ি', 11: 'ত', 13: 'ম', 14: 'য', 15: 'ল', 16: '়', 17: 'য', 18: 'প', 19: 'ি', 20: 'র', 21: 'খ', 23: '২', 24: '৬', 25: 'অ', 26: 'গ্র', 27: '১', 28: '৪', 29: '৩', 30: 'ব', 32: 'া', 33: 'ল', 34: 'ড', 35: 'ে', 36: 'স', 37: 'ব', 38: '০', 39: '৫', 40: '৬', 41: 'র', 42: 'এ', 43: 'হ', 44: 'আ', 45: 'ং', 46: '৯', 47: '্', 48: 'ই', 50: 'দ', 51: 'ক', 52: 'ষ', 53: 'ক', 55: 'ন', 56: 'ূ', 57: 'ধ', 58: 'য', 59: 'থ', 60: 'য', 61: 'া', 62: 'শ', 65: 'ঢ', 66: 'ভ', 67: '়', 68: 'ত', 69: 'া', 70: 'জ', 71: 'া', 72: '্য', 73: 'ষ', 74: 'থ', 75: 'ে', 78: 'ন', 80: 'দ', 81: 'ক্', 82: 'ি', 83: 'চ', 84: 'ী', 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: 'মূ', 126: 'প', 127: 'ছ', 128: 'র', 129: 'স', 130: 'ে', 131: 'ল', 132: 'বৃ', 133: 'ৎ', 134: 'ন', 135: 'দ', 136: 'ক', 137: 'প', 138: 'ৌ', 139: 'ব', 140: '্', 141: 'য', 142: 'ি', 144: 'ড্', 146: 'ড', 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: 'ে', 175: 'সূ', 176: 'য', 177: 'া', 178: 'ে', 179: 'য', 181: 'ধূ', 182: 'ম্র', 183: 'ঝ', 184: 'ি', 185: 'হু', 186: 'ৃ', 187: '৪', 189: 'য', 190: '়', 191: 'তু', 192: 'শষ্', 193: 'ট্য', 195: 'ক', 196: 'ি', 198: 'প্য', 199: 'ক', 200: 'উঁচ', 201: 'ু', 202: 'খু', 203: 'ম', 204: 'ন্', 205: 'য', 206: '্স', 207: 'লু', 208: 'ড়', 209: 'র্', 210: 'র', 211: 'ট্র', Then, I sent the agents to fix up. * * * **How to use the MCP?** You can use MCP from you AI chatbox to terminal. I will show you how to use from claude. 1. Go to https://docs.sayed.app and copy the MCP url: https://docs.sayed.app/mcp 1. Click on Customize and click on Add 1. Provide a name which you will use to call this MCP tool. 1. Confirm 'Add' and connect You can provide the always allow permission ad it is safe and secure by Mintlify. 1. Ask questions and get correct answer directly from the code. If you have any questions, suggestions, ask me here or email me or send me texts. After full completion of the site, I will publish the repo and you can directly edit the content on github. Thanks.
021
Sayed's Blog @hello.sayed.blog.ap.brid.gy · 14/06/2026
1. What is it? Ans: When you expose a local port to the internet using cloudflare tunnel you are binding that domain to the local port directly! For example, I setup a writefreely instance in my windows PC. Local Port: localport:1159 , Domain: abusayed.dev 2. How to setup those? […]
sayed.blog
Cloudflare Tunnel with Custom Status page on the same domain!
1. What is it? Ans: When you expose a local port to the internet using cloudflare tunnel you are binding that domain to the local port directly! For example, I setup a writefreely instance in my windows PC. Local Port: localport:1159 , Domain: https://abusayed.dev/ 1. How to setup those? a. Cloudflare tunnel: Setup is easy. You will get exact commands and instruction from cloudflare tunnel setup page. b. Writefreely: writefreely config start writefreely keys generate writefreely 1. Now the main things. This post is not about how to setup or run writefreely instance or cloudflare tunnel. Its about how to serve the tunnel site and status page of that tunnel site in the same domain! When user visit: https://abusayed.dev to check the tunnel domain here: https://internal.abusayed.dev, Then, if the tunnel domain is service http status under 400 its relayed to the root domain. If not, shows custom page I built with Astro here. When the local server at 1159 port not running: When the Cloudflared Agent is not connected the proxy worker sees this 530 status but if you manually check at https://internal.abusayed.dev it will show status 1033: 1. What about SEO? I setup a robots.txt to tell the crawler to come back later. A temporary
000
Sayed's Blog @hello.sayed.blog.ap.brid.gy · 12/03/2026
কৃতি Bengali is spoken by over 230 million people around the world. It is the language of poetry, literature, everyday conversation, and increasingly the internet. Yet anyone who has tried to make something beautiful in Bengali on a screen knows the struggle: finding a good font means hours of […]
sayed.blog
Kriti: the Bangla Font Manager
কৃতি Bengali is spoken by over 230 million people around the world. It is the language of poetry, literature, everyday conversation, and increasingly the internet. Yet anyone who has tried to make something beautiful in Bengali on a screen knows the struggle: finding a good font means hours of hunting across obscure websites, downloading mystery ZIP files, and hoping the font actually renders correctly. **Kriti** was made to fix that. ## What Is Kriti? Kriti is a free Bengali font library, a single place where you can browse, preview, and use over 45 **Bengali fonts(300 variants)** , all in one website. Think of it as a Bengali version of Google Fonts, but more comprehensive and focused entirely on Bangla typography. Whether you are a student working on a poster, a designer building a brand, a developer adding Bengali to a website, or simply someone who loves beautiful Bangla script, Kriti is for you. ## The Problem It Solves Before Kriti, finding Bengali fonts was genuinely painful: **You had to visit many different websites.** Bengali fonts were scattered across dozens of separate websites and personal blogs. There was no single place to see them all. **You couldn't tell if a font would actually work.** Many older Bengali fonts use a legacy encoding called ANSI, which does not work on modern phones, browsers, or apps. They look fine as a file name but produce gibberish when you type in Bengali. There was no easy way to know which fonts were safe to use and which weren't. **Licensing was a mystery.** Some fonts are free to use in any project. Others are free for personal use only. Some cannot be shared at all. Most fonts gave no clear answer. Using the wrong font in a commercial project can cause real problems. **There was no easy way to use fonts on a website.** Developers had to download fonts, host them themselves, and figure out all the configuration, a lot of work just to get a nice Bangla font on a webpage. Kriti solves all of this. ## Browsing the Library When you open kriti.app, you see the full collection of 45+ fonts laid out as cards. Every card shows the font name and a preview of the font rendered in actual Bengali text, so you can immediately see how it looks without clicking anything. You can **search by name** by typing in the search box and results update instantly. You can also **filter** the collection: * **Lenience(OFL,GPL,CC,Government)** * **ইউনিকোড** (Unicode) - fonts that work correctly on all modern devices * **ANSI** - legacy fonts, shown so you know they exist but with a clear warning ## Every Font Has Its Own Page Click on any font and you get a dedicated page with everything you need to know about it. **Live preview** - Type your own text and see it rendered in the font in real time. Change the size. See exactly how your words will look. **Character waterfall** - A full display of every Bengali character, number, and punctuation mark the font supports, shown in descending sizes. Great for checking if the font covers the full script. **Glyph grid** - A grid showing every individual glyph in the font. Useful for designers who need to know exactly what the font contains. **Information table** - Designer name, license type, whether the font is Unicode or ANSI, how many glyphs it has, and which scripts it covers. Every free font page also shows a **download button** and a ready-to-use code snippet for adding it to a website. ## Using Fonts on a Website - The Kriti CDN For web developers and anyone running a website or blog in Bengali, Kriti offers a **free CDN** (Content Delivery Network) for all the openly licensed fonts in the collection. This means you can add a beautiful Bengali font to any website with a single line of code, no downloading, no hosting, no configuration. Just paste the link and it works: <link rel="stylesheet" href="https://kriti.app/cdn/243dasa3.css"> Then use it in your styles: body { font-family: 'Kalpurush', sans-serif; } That's it. The font loads from Kriti's global servers, fast, from wherever your visitors are in the world. It works the same way as Google Fonts, except it's specifically for Bengali. The CDN currently serves around **45 freely licensed fonts** , all in the most efficient web format so pages load as fast as possible. ## Installing Fonts on Your Computer ### Windows Download and run the installer to get all free Bengali fonts on your Windows PC: **Download Kriti for Windows (v0.1.0, 64-bit)** After installation, the fonts appear in every application on your computer automatically, including Word, Photoshop, LibreOffice, and everything else. ### Linux and macOS If you use Linux or macOS, there is a one-command installer. Open a terminal and run: curl -fsSL https://kriti.app/install.sh | bash That's it. The script downloads every free Bengali font and installs them into your font folder. After it finishes, the fonts appear in every application on your computer automatically. It works on Ubuntu, Debian, Fedora, Arch Linux, Alpine Linux, and macOS. You can also visit the downloads page for more options. ## Free vs. Proprietary Fonts - What's the Difference? Kriti is transparent about licensing so you always know what you're getting. **Free fonts** (marked ফ্রি) are released under open licenses. You can use them in personal projects, commercial projects, websites, apps, publications, anything. You can also share them freely. These are the fonts available for download and on the CDN. **Proprietary fonts** (marked প্রাইভেট) are fonts whose creators have reserved their rights. Kriti still shows them in the directory with previews so you can discover them, but links you to the original source to obtain the font properly. Kriti does not distribute these fonts. This distinction matters. Kriti makes it impossible to accidentally use a proprietary font thinking it was free. ## Unicode vs. ANSI - Why It Matters You may notice some fonts are labelled ANSI. Here is what that means in plain language: Modern Bengali fonts use **Unicode** , the universal standard for encoding text. A Unicode Bengali font works everywhere: in browsers, in WhatsApp, in Word, in any modern app. When you type "আমার সোনার বাংলা" using a Unicode font, it stays "আমার সোনার বাংলা" everywhere. Older **ANSI fonts** use a private encoding that only works if the software specifically supports that font. If you use an ANSI font on a website, visitors who don't have that exact font installed see garbled characters or boxes. ANSI fonts are also not searchable, text set in ANSI fonts cannot be copied and searched online. Kriti clearly labels every font so you always know which type you're looking at. For anything intended for the web or modern devices, always choose Unicode. ## Who Is Kriti For? **Students and writers** - Browse and download beautiful Bengali fonts for your documents, posters, and presentations. Everything free is one click away. **Graphic designers** - Preview hundreds of Bengali typefaces side by side, check full character sets, and find the perfect font for a project without leaving one page. **Web developers** - Add Bengali fonts to any website with a single line of code using the free CDN. No hosting required. **Publishers and content creators** - Discover fonts you didn't know existed, and know instantly whether you can legally use them in your publication. **Bengali language enthusiasts** - Explore the full range of Bengali typography, from traditional calligraphic styles to modern geometric designs, all in one place. ## It's Completely Free Kriti is free to use. The directory, the search, the previews, the CDN, the font installer, all of it. No account needed, no sign-up, no ads. The freely licensed fonts are also free forever, by the terms of their licenses. You can build a commercial Bengali website using Kriti's CDN today and rely on it remaining free. Visit kriti.app and find your next Bengali font. And Pray for me. Thanks.
001
Sayed's Blog @hello.sayed.blog.ap.brid.gy · 03/01/2026
sayed.blog
Water Quality Test of Specified Location
This report documents the findings and analysis of the Surface Water sample collected from the Shah Amanat Bridge area in Chittagong, as part of our Environmental Engineering (Sessional-1) (CE-352) course.
000
Sayed's Blog @hello.sayed.blog.ap.brid.gy · 13/11/2025
sayed.blog
QnA about the Personal Data Protection Ordinance, 2025 (ব্যক্তিগত উপাত্ত সুরক্ষা অধ্যাদেশ, ২০২৫)
You all know, Government of Bangladesh approve the the **Personal Data Protection Ordinance, 2025** which define/provide information about how any entity will use/handle/process personal data. Here is the pdf link. ### **1. Can I delete my account from any Bangladeshi website/business/service/company?** Yes. The Ordinance grants you, as the data subject (উপাত্তধারী), a powerful right to have your data erased. This is primarily covered under **Section 13 (ধারা ১৩)** of the law. * **Your Right:** You have the right to withdraw your consent (সম্মতি প্রত্যাহার) at any time. * **The Business's Obligation:** Upon receiving your request, the data fiduciary (the website or business) **must erase** (মুছিয়া ফেলিবেন) all of your personal data stored with them. * **Specific Conditions:** **Section 13(2) (ধারা ১৩(২))** explicitly states they must do this if: * The data is no longer necessary for the original purpose. * You withdraw the consent that the processing was based on. * You object to the processing, or the data was processed unlawfully. * **Exceptions:** A business may only refuse to erase your data under a few specific conditions, outlined in **Section 13(3) (ধারা ১৩(৩))** , such as if the data is required to comply with a separate legal obligation or is designated for archival purposes. ### **2. Can I turn off advertising calls/emails/newsletters, etc.?** Yes. Your primary tool for this is the same right to **Withdraw Consent under Section 13 (ধারা ১৩)**. * **Consent Withdrawal:** Marketing communications like advertising calls, emails, and newsletters are legally based on your consent. The law states that your consent must be "voluntary, specific, clear and revocable" (স্বেচ্ছাধীন, সুনির্দিষ্ট, স্পষ্ট ও প্রত্যাহারযোগ্য). You can withdraw this consent at any time. Once you do, the business must stop processing your data for that purpose. * **Protections for Children:** The law is even stricter regarding children (anyone under 18). **Section 9(3) (ধারা ৯(৩))** provides an explicit, outright **prohibition** on data fiduciaries conducting "tracking (ট্র্যাকিং), monitoring (পরিবীক্ষণ), profiling (পরিলেখা) or **Targeted Advertisement** (টার্গেটেড অ্যাডভার্টাইজমেন্ট)" directed at a child. ### **3. Where do I report if anyone doesn't listen?** If a business or service (a "data-fiduciary") ignores your request or violates your rights, you can file a formal complaint with the **"Authority" (কর্তৃপক্ষ)**. * **Right to Complain:** **Section 31 (ধারা ৩১)** , titled "Filing of complaints" (অভিযোগ দায়ের), states that if you have reason to believe your rights have been violated, you may file a complaint with the Authority. * **The Authority:** The "Authority" is defined in **Section 2(4) (ধারা ২(৪))** as the **"National Data Management Authority" (জাতীয় উপাত্ত ব্যবস্থাপনা কর্তৃপক্ষ)** , which is the official body established to oversee and enforce this law. 1. **Can I see what information a company has collected about me?** Yes. You have a **"Right to Access" (প্রবেশাধিকার) under Section 11 (ধারা ১১)**.You can request this from the data-fiduciary, and they must provide you with: * A copy of your processed personal data in a "concise and understandable format" (সংক্ষিপ্ত ও বোধগম্য বিন্যাসে). * A summary of the processing, its purpose, the types of data held, and details on any cross-border transfers. * A list of all other persons, fiduciaries, or processors with whom your data has been shared. 1. **What if a company has my old address or my name spelled wrong? Can I make them fix it?** Yes. You have the **"Right to correct, update, and complete data" (উপাত্ত পরিমার্জন, হালনাগাদকরণ ও সম্পূর্ণকরণের অধিকার) under Section 12 (ধারা ১২)**.This allows you to request that the data-fiduciary correct any data that is "inaccurate or misleading" (অশুদ্ধ বা বিভ্রান্তিকর), complete any incomplete data, and update any data that is out of date. 1. **What if a business refuses my request to correct my data?** If the data-fiduciary refuses to correct your data, they must provide you with a written justification for their refusal. If you are not satisfied with their reason, you have two specific rights under **Section 12(3) (ধারা ১২(৩))** : 1. You can request that the business mark your personal data as **"disputed" (বিরোধপূর্ণ বলিয়া চিহ্নিত)** ; and 2. You can request that they **inform the Authority (কর্তৃপক্ষকে অবহিতকরণের)** about the dispute. 3. **Are there special protections for my children's data?** Yes. The Ordinance provides exceptionally strong protections for children, who are defined as anyone under 8 years of age. **Section 9(3) (ধারা ৯(৩))** contains an explicit and powerful prohibition: it states that a data fiduciary (any business or entity) **cannot** target a child for "tracking (ট্র্যাকিং), monitoring (পরিবীক্ষণ), profiling (পরিলেখা) or Targeted Advertisement (টার্গেটেড অ্যাডভার্টাইজমেন্ট)". This makes many common online business models illegal for users under 8 in Bangladesh. 1. **I corrected my address at my bank. Do I have to tell every other company that has my old address?** This law introduces a highly advanced and unique system to solve this exact problem. **Section 4 (ধারা ১৪)** describes a "system-wide propagation" (পদ্ধতিগত সঞ্চালন) mechanism. The goal is for the Authority to designate a "Primary Source of Truth" (প্রাথমিক উৎস) for key data (like "current address"). When you update your information at that primary source, that change is **automatically and mandatorily** sent to all secondary data fiduciaries (like other banks, mobile operators, etc.) to update their records. The law even specifies that these changes must be recorded in an "immutable ledger, blockchain or equivalent technology" (অপরিবর্তনীয় লেজারে, ব্লকচেইন) to ensure accuracy and create an audit trail. 1. **Is a government employee accountable if they leak my data?** Yes. The law makes a specific point to include government accountability. **Section 47 (ধারা ৪৭)** states that government employees, as well as employees of statutory or autonomous bodies, who are involved in violating a data subject's rights or are responsible for a data breach, shall be "considered to have committed a punishable offense" and are subject to the same administrative fines and penalties as others under the law. 1. **Does this law protect my data from the government?** This is a significant area of concern for privacy advocates. While the law grants you many rights, **Section 24 (ধারা ২৪)** provides a long list of broad exemptions for state agencies. Your data can be processed without your consent for reasons such as "national security" (জাতীয় নিরাপত্তা), "public order" (জনশৃঙ্খলা), or "crime prevention, detection, investigation, or prosecution" (অপরাধ প্রতিরোধ, শনাক্তকরণ, অনুসন্ধান, তদন্ত বা প্রসিকিউশন). Critics argue these terms are vague, undefined, and lack requirements for judicial oversight, creating a "systemic loophole" that could be used for mass surveillance. 1. **What happens if a big international company misuses my data? Is the penalty strong enough to hurt them?** This is a potential weakness in the law's enforcement. The penalties are structured in two ways: 1. **Administrative Fines:** **Section 32 (ধারা ৩২)** allows the Authority to fine a company up to 5% (for a "significant data-fiduciary") of its "annual turnover _in Bangladesh_ " (বাংলাদেশে তাহার ব্যবসায়ের বার্ষিক টার্নওভারের). Critics note that a massive global corporation might have a very small turnover _in Bangladesh_ , making this fine too small to be a real deterrent compared to laws like the GDPR, which bases fines on _global_ turnover. 2. **Criminal Penalties:** The law's main "teeth" are in its severe criminal penalties, found in **Chapter 9 (নবম অধ্যায়)**. These are seen as disproportionately high and create risk for individuals rather than just corporations. **11 What kind of data gets special protection?** The Ordinance creates a special category called "Sensitive Personal Data" (সংবেদনশীল ব্যক্তিগত উপাত্ত). To process this data, a company needs your "specific consent" (সুনির্দিষ্ট সম্মতি), which is a higher standard than regular consent. According to **Section 2(23) (ধারা ২(২৩))** , this sensitive data includes: * Genetic and Biometric data * Data on ethnic origin or community * Political or philosophical ideology * Religious beliefs * Trade union membership * Health data and sexual orientation * Data on criminal offenses or allegations * Crucially, your "real-time geolocation" (তাৎক্ষণিক জিও-লোকেশ) 1. **What are the punishments if someone breaks this law?** The punishments are severe and include both fines and prison time. Under **Chapter 9 (নবম অধ্যায়)** , various offenses carry heavy penalties. For example: * **Section 36 (ধারা ৩৬):** Processing or sharing your data without consent or legal basis can lead to up to **5 years in prison** and/or a fine. * **Section 37 (ধারা ৩৭):** Unauthorized processing of your _sensitive_ data (like your health data or real-time location) is even more serious, with a penalty of up to **7 years in prison** and/or a fine. * **Section 38 (ধারা ৩৮):** Illegally collecting or using a child's data can result in up to **3 years in prison** and/or a fine. 1. **What is a "data-fiduciary" (উপাত্ত-জিম্মাদার)?** This is the legal term the Ordinance uses for any person or entity (like a company, bank, hospital, or social media platform) that, either alone or jointly with others, decides the purpose and method of processing your personal data. The law defines this in **Section 2(2) (ধারা ২(২))**. Essentially, they are the "custodian" of your data and are held legally responsible for protecting it.
001
Sayed's Blog @hello.sayed.blog.ap.brid.gy · 06/11/2025
Keyoxide Verification: openpgp4fpr:32772ca1c638f0e7c3fd0614ae88a321081a22b2
000
Sayed's Blog @hello.sayed.blog.ap.brid.gy · 05/11/2025
Interstellar(2014): One of the best movie!
001
Sayed's Blog @hello.sayed.blog.ap.brid.gy · 27/10/2025
sayed.blog
Laws of Bangladesh and AI search(AutoRAG) by Cloudflare
Laws of Bangladesh are available at the government website here: http://bdlaws.minlaw.gov.bd/laws-of-bangladesh.html Goals: 1. Make the law content to be able to feed into AI model and train them. 2. Or, make RAG(**Retrieval-Augmented Generation**) to answer question from the data source(in this case, Laws of Bangladesh) laws.sayed.app What I did: 1. I found that someone already did similar to a model here, here and here. And, a Kaggle dataset. I could use those but I didn't. I scraped the whole site: http://bdlaws.minlaw.gov.bd/laws-of-bangladesh.html 2. Using the scraped data I built a **website** using Mintilfy CMS(Documentation Management software). I could use opensource documentation software like Docurus, mkDocs etc. But, I choosed to use Mintlify as it's free plan is enough for me to host the Laws. Also, Mintlify offers custom domain for free. I didn't took extra hassle to host them. 3. Mintlify offer AI search using RAG but it's in paid plan. 4. Then, I discover AI search (AutoRAG )by Cloudflare. It crawls all the content by sitemap: https://laws.sayed.app/sitemap.xml and save them in R2. Index pageAI Search Project Page 1. Cloudflare AI search download every page and save them in a R2 bucket and make vectore db from them. Which is not ideal and efficient for [https://laws.sayed.app ](https://laws.sayed.app ) 2. I used @cf/baai/bge-m3 model which is slected by default. Model Documentation here. But, this model is not efficient and provide wrong answer! For test purposes, I used this model. 3. All the Laws are also available in markdwon format from mintlify as llms.txt , llms-full.txt and Github repo. The llms.txt and llms-full.txt can be used as source for RAG. I may implement it on cloudflare later. Here some stats from cloudflare: Idk, if these traffic are real or not but many AI crawler do crawl the site. Beside my root zone(sayed.app) have few subdomain so, traffic from other site may count. Thanks for reading. Note: This article was not written by any AI and this article may or may not help anyone.
001
Sayed's Blog @hello.sayed.blog.ap.brid.gy · 14/10/2025
Just migrated from Hashnode to Ghost! So far, everything looks good.
020