<?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: Akhouri Anmol Kumar</title>
    <description>The latest articles on DEV Community by Akhouri Anmol Kumar (@akhourianmolkumar).</description>
    <link>https://dev.to/akhourianmolkumar</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%2F3977056%2F5246045a-21af-48c6-a210-77be340f73e4.jpeg</url>
      <title>DEV Community: Akhouri Anmol Kumar</title>
      <link>https://dev.to/akhourianmolkumar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akhourianmolkumar"/>
    <language>en</language>
    <item>
      <title>I Built the World's Most Customizable Scientific Calculator (30+ Themes, Python + PyQt6)</title>
      <dc:creator>Akhouri Anmol Kumar</dc:creator>
      <pubDate>Thu, 03 Sep 2026 09:55:44 +0000</pubDate>
      <link>https://dev.to/akhourianmolkumar/i-built-the-worlds-most-customizable-scientific-calculator-30-themes-python-pyqt6-47h6</link>
      <guid>https://dev.to/akhourianmolkumar/i-built-the-worlds-most-customizable-scientific-calculator-30-themes-python-pyqt6-47h6</guid>
      <description>&lt;p&gt;The idea&lt;/p&gt;

&lt;p&gt;Every OS ships a calculator. Every one of them looks the same, feels the same, and disappears from memory the moment you close it.&lt;/p&gt;

&lt;p&gt;So I built ACALCU v3 — an Akhouri Systems product — a scientific calculator that's absurdly, unnecessarily customizable. Not because a calculator needs 30+ themes and per-button styling, but because it was a fun constraint to design around: how far can you push a "boring" utility app before it becomes something people actually enjoy using?&lt;/p&gt;

&lt;p&gt;What it does&lt;/p&gt;

&lt;p&gt;At its core, ACALCU is a standard scientific calculator: basic arithmetic, sin, cos, tan, log, √, π, percentages, and a running expression engine built on Python's math module.&lt;/p&gt;

&lt;p&gt;On top of that core, it layers:&lt;/p&gt;

&lt;p&gt;30+ built-in themes — Royal, Liquid Glass, Wild, Cyberpunk, Dracula, Nord, Solarized, Monokai, Windows 7 / Vista / 10, OneUI 8.0, Matrix, Rose Gold, Galaxy, Fire, Ice, Neon, Vintage, Sakura, Midnight, Forest, Candy, Terminal, Gold Dark, and more.&lt;br&gt;
Per-button customization — right-click any button to change its color, font, or set a custom image/video as its background. Every button on the grid is independently styleable.&lt;br&gt;
A live "Wild" theme — a small animated plant widget that visibly grows every time you run a calculation.&lt;br&gt;
Calculation history — a scrollable dialog of your last 50 calculations.&lt;br&gt;
Persistent config — every customization is saved to a local JSON file and reloaded on next launch.&lt;br&gt;
Full keyboard support — number keys, operators, Enter/Escape, all mapped to the same input pipeline the buttons use.&lt;br&gt;
Architecture&lt;/p&gt;

&lt;p&gt;The whole thing is a single-file PyQt6 desktop app, structured around a few core pieces:&lt;/p&gt;

&lt;p&gt;python&lt;br&gt;
THEMES = {&lt;br&gt;
    "DEFAULT": { "app_bg": "#0a0a0a", "display_bg": "#111111", ... },&lt;br&gt;
    "ROYAL":   { "app_bg": "#0a0800", "display_fg": "#ffd700", ... },&lt;br&gt;
    "LIQUID_GLASS": { "app_bg": "transparent", ... , "transparent": True },&lt;br&gt;
    # ...30+ more&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Each theme is just a dict of colors, font, corner radius, and optional flags (transparent, wild). The Config class resolves the active theme plus any per-button overrides stored in customizations, and every widget re-derives its stylesheet from that at render time — so switching themes or recoloring a single button is just a style recompute, not a UI rebuild.&lt;/p&gt;

&lt;p&gt;The calculation engine is intentionally simple:&lt;/p&gt;

&lt;p&gt;python&lt;br&gt;
funcs = {&lt;br&gt;
    "sin": lambda x: math.sin(math.radians(x)),&lt;br&gt;
    "cos": lambda x: math.cos(math.radians(x)),&lt;br&gt;
    "tan": lambda x: math.tan(math.radians(x)),&lt;br&gt;
    "log10": math.log10, "log": math.log,&lt;br&gt;
    "sqrt": math.sqrt, "pi": math.pi,&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Tokens from button clicks or keyboard input get translated into a Python-evaluable expression string (with the trig functions pre-wrapped for degree input), evaluated, and pushed onto a history stack.&lt;/p&gt;

&lt;p&gt;Per-button customization is handled by a ButtonCustomizer dialog — right-clicking a button opens a small QDialog where you can pick a color (QColorDialog), a font (QFontDialog), or attach an image/video via QFileDialog. Those overrides get merged into the button's stylesheet on top of the active theme, so you can have a Cyberpunk-themed calculator with one neon-pink = button that's actually a GIF.&lt;/p&gt;

&lt;p&gt;What I'd do differently&lt;br&gt;
The 1000+ line single file works for a personal project but I'd split themes, engine, and widgets into modules if this grows further.&lt;br&gt;
Theme switching currently rebuilds the central widget — fine for a desktop app, but I'd profile this if I ever wanted smoother live-preview theme switching.&lt;br&gt;
Video backgrounds on buttons are a fun gimmick but genuinely questionable UX — I kept it in anyway.&lt;br&gt;
Try it&lt;br&gt;
👉 &lt;a href="https://github.com/Akhouri-Anmol-Kumar/ACALCU-v3" rel="noopener noreferrer"&gt;https://github.com/Akhouri-Anmol-Kumar/ACALCU-v3&lt;/a&gt;&lt;br&gt;
It's open source, built with Python 3 + PyQt6. Repo link in the comments — would genuinely love to see what themes people request or build themselves.&lt;/p&gt;

&lt;p&gt;If you build desktop apps with PyQt/PySide, curious what your approach to theming systems like this looks like — drop it below.&lt;/p&gt;

&lt;h1&gt;
  
  
  ACALCU
&lt;/h1&gt;

&lt;p&gt;"We Build what others forgot to fix"&lt;/p&gt;

</description>
      <category>python</category>
      <category>opensource</category>
      <category>showdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I got tired of having 5 different image tools open, so I built one that does everything</title>
      <dc:creator>Akhouri Anmol Kumar</dc:creator>
      <pubDate>Wed, 02 Sep 2026 10:14:03 +0000</pubDate>
      <link>https://dev.to/akhourianmolkumar/i-got-tired-of-having-5-different-image-tools-open-so-i-built-one-that-does-everything-2d6d</link>
      <guid>https://dev.to/akhourianmolkumar/i-got-tired-of-having-5-different-image-tools-open-so-i-built-one-that-does-everything-2d6d</guid>
      <description>&lt;p&gt;Every time I needed to edit a screenshot, convert a HEIC file, compress an image for upload, — it was a different tool, a different tab, a different website with ads. So I built APIC (Advanced Image Processing Center) — one desktop app that handles the whole image workflow.&lt;/p&gt;

&lt;p&gt;What's inside&lt;/p&gt;

&lt;p&gt;APIC is built around five modules, all in one window:&lt;/p&gt;

&lt;p&gt;Edit — crop, adjust, and touch up images without opening a browser tab&lt;br&gt;
Convert — switch between image formats in a couple of clicks&lt;br&gt;
Compress — shrink file sizes for upload limits or storage, without a visible quality hit&lt;br&gt;
Home — a clean landing screen that ties the workflow together&lt;/p&gt;

&lt;p&gt;It also supports drag-and-drop straight onto the main window — drop one file and it opens in the editor, drop several and it routes you to the converter, which is the flow I actually wanted every time I used a tool like this before.&lt;/p&gt;

&lt;p&gt;Why a desktop app instead of another web tool&lt;/p&gt;

&lt;p&gt;Web-based image tools mean uploading your files to someone else's server, waiting on their upload/download cycle, and often hitting a paywall past the third free conversion. APIC runs locally — nothing leaves your machine, there's no queue, and it works offline.&lt;/p&gt;

&lt;p&gt;Stack&lt;/p&gt;

&lt;p&gt;Built with PyQt6 for the interface (dark theme, keyboard shortcuts for every major action), structured as separate mode modules so each part of the app — edit, convert, compress, search — is self-contained and easy to extend. Packaged as a standalone executable with PyInstaller.&lt;/p&gt;

&lt;p&gt;Where it's headed&lt;/p&gt;

&lt;p&gt;This is an early build. Batch processing across all four modules is next, along with more format support in Convert. If you work with images regularly and you're tired of the browser-tab shuffle, I'd genuinely like feedback on what's missing.&lt;/p&gt;

&lt;p&gt;This is an Akhouri Systems product — same team behind ATLOCK, ACALCU, ANOTE.&lt;br&gt;
Download it from website &lt;br&gt;
👉 &lt;a href="https://akhouri-anmol-kumar.github.io/Akhouri-systems/" rel="noopener noreferrer"&gt;https://akhouri-anmol-kumar.github.io/Akhouri-systems/&lt;/a&gt;&lt;br&gt;
Download it from GitHub repo&lt;br&gt;
👉 &lt;a href="https://github.com/Akhouri-Anmol-Kumar/APIC" rel="noopener noreferrer"&gt;https://github.com/Akhouri-Anmol-Kumar/APIC&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;"We build what others forgot to fix."&lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
      <category>showdev</category>
      <category>community</category>
    </item>
    <item>
      <title>I built a real NTFS-level file locker in Python — no password needed to protect, and even I can't brute-force it</title>
      <dc:creator>Akhouri Anmol Kumar</dc:creator>
      <pubDate>Tue, 01 Sep 2026 10:22:37 +0000</pubDate>
      <link>https://dev.to/akhourianmolkumar/i-built-a-real-ntfs-level-file-locker-in-python-no-password-needed-to-protect-and-even-i-cant-2554</link>
      <guid>https://dev.to/akhourianmolkumar/i-built-a-real-ntfs-level-file-locker-in-python-no-password-needed-to-protect-and-even-i-cant-2554</guid>
      <description>&lt;p&gt;Most "file lock" apps on the market do one of two things: rename your file extension, or hide it in a folder. Both take about ten seconds to bypass with Windows Explorer's search bar. That bugged me enough to build something that actually works at the OS level.&lt;/p&gt;

&lt;p&gt;This is ATLOCK v4.0 — a total security suite for Windows, built in Python, and it's the fourth rebuild of a project I started from scratch after realizing the earlier versions weren't actually secure.&lt;/p&gt;

&lt;p&gt;What it does&lt;/p&gt;

&lt;p&gt;ATLOCK has five modules:&lt;/p&gt;

&lt;p&gt;Lockdown — a system-level screen lock with a countdown timer (10 min to 8 hrs), designed for "step away from the laptop" moments.&lt;br&gt;
File Guard — this is the core feature. It locks files at the Windows NTFS ACL level, not with a password wrapper. It literally rewrites the file's access control list so it's denied to every user, including SYSTEM if configured that way. Windows itself refuses to open the file — there's no password to crack because the OS is doing the blocking, not the app.&lt;br&gt;
Password Vault — an encrypted store for emails, UPI IDs, and PINs.&lt;br&gt;
Intruder Ops — if someone gets your master password wrong, the app silently takes a photo on the first wrong attempt, and after repeated failures, records a 10-second video — saved straight to your gallery, no cloud, no third party.&lt;br&gt;
Settings — capture toggles and gallery folder control.&lt;br&gt;
The security decisions that actually matter&lt;/p&gt;

&lt;p&gt;A few things I rebuilt from earlier versions because they weren't good enough:&lt;/p&gt;

&lt;p&gt;The vault used to store secrets with basic XOR "encryption," which is not encryption. v4 replaced it with Fernet (AES-128-CBC + HMAC).&lt;br&gt;
The master password is derived using PBKDF2-HMAC-SHA256 with 200,000 iterations and a random salt per vault — slow by design, so brute-forcing it is expensive.&lt;br&gt;
Every failed intruder attempt gets masked before it's ever logged, so nothing sensitive sits in plaintext on disk.&lt;br&gt;
Alert credentials are stored encrypted with a machine-bound key, so copying the config file elsewhere doesn't help an attacker.&lt;/p&gt;

&lt;p&gt;None of this is exotic cryptography — it's standard, well-reviewed primitives used correctly, which honestly matters more than anything clever.&lt;/p&gt;

&lt;p&gt;Stack&lt;/p&gt;

&lt;p&gt;Built with customtkinter for the UI (dark/gold theme, shown below), cryptography for Fernet/PBKDF2, pywin32 for the NTFS ACL manipulation, and opencv-python for the intruder camera capture. Packaged into a standalone .exe with PyInstaller.&lt;/p&gt;

&lt;p&gt;Why this exists&lt;/p&gt;

&lt;p&gt;I'm 13, this is a solo project, zero funding, and it's already been through four full rebuilds because "good enough" kept turning out to not be good enough. Akhouri Systems — the company behind it — exists on the idea that a lot of everyday software stopped getting properly maintained, and small teams (or one very stubborn person) can still fix that.&lt;/p&gt;

&lt;p&gt;If you're on Windows and want file security that doesn't rely on security-through-obscurity, give it a look:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://akhouri-anmol-kumar.github.io/Akhouri-systems/" rel="noopener noreferrer"&gt;https://akhouri-anmol-kumar.github.io/Akhouri-systems/&lt;/a&gt;&lt;br&gt;
👉 &lt;a href="https://github.com/Akhouri-Anmol-Kumar/ATLOCK" rel="noopener noreferrer"&gt;https://github.com/Akhouri-Anmol-Kumar/ATLOCK&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback, bug reports, and brutal honesty are all welcome — that's genuinely how the last three rebuilds happened.&lt;/p&gt;

&lt;p&gt;"We build what others forgot to fix." — Akhouri Systems&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>beginners</category>
      <category>showdev</category>
    </item>
    <item>
      <title>August 31, 2026: Where Akhouri Systems Stands Today</title>
      <dc:creator>Akhouri Anmol Kumar</dc:creator>
      <pubDate>Mon, 31 Aug 2026 10:42:20 +0000</pubDate>
      <link>https://dev.to/akhourianmolkumar/august-31-2026-where-akhouri-systems-stands-today-1jhp</link>
      <guid>https://dev.to/akhourianmolkumar/august-31-2026-where-akhouri-systems-stands-today-1jhp</guid>
      <description>&lt;h1&gt;
  
  
  August 31, 2026: Where Akhouri Systems Stands Today
&lt;/h1&gt;

&lt;p&gt;For those who don't know what Akhouri Systems is —&lt;/p&gt;

&lt;p&gt;Akhouri Systems is a company currently run by &lt;strong&gt;Akhouri Anmol Kumar&lt;/strong&gt;. We build apps aimed at fixing the problems that other apps have stopped caring about. In simple words: the big giants got lazy, so we're here to make them active again.&lt;/p&gt;

&lt;p&gt;To some people — like my mother — Akhouri Systems is the biggest joke they've ever heard. To some people — like my father — I'm a &lt;em&gt;nalayak beta&lt;/em&gt; (a "useless, worthless, good-for-nothing son" — look it up if you want the full weight of it), and Akhouri Systems is just my stupidity.&lt;/p&gt;

&lt;p&gt;But I'm proud to say that outside of these people, &lt;strong&gt;100+ strangers and individuals&lt;/strong&gt; have shown genuine interest in the company. They motivated me. They suggested improvements. They gave me tips. They did the opposite of what I heard at home.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where things stand, as of today
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;671&lt;/strong&gt; — reached in under 3 months, on a budget of &lt;strong&gt;₹0&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Supported by &lt;strong&gt;100+ individuals&lt;/strong&gt;, several of them well-known in their fields&lt;/li&gt;
&lt;li&gt;Listed on almost all major startup and product directories&lt;/li&gt;
&lt;li&gt;Indexed on Google&lt;/li&gt;
&lt;li&gt;Recognized by &lt;strong&gt;The Better India&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Global reach across Mexico, Mozambique, Pakistan, Bangladesh, the United States, Poland, Finland, Italy, Ukraine, Uzbekistan, Taiwan, the Philippines, and China&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;99+&lt;/strong&gt; smaller milestones I haven't even had time to write about&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And here's the part people usually don't believe:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I am 13 years old.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Thirteen. Zero budget. Zero financial support. Zero emotional support. One laptop. That's the entire operation.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this name means to me
&lt;/h2&gt;

&lt;p&gt;Akhouri Systems might look small right now — and honestly, it is. I'm not going to pretend otherwise. But small doesn't mean weak. What's behind this name — the dedication, the spirit, the mental strength, the fire, the sheer stubbornness — is bigger than most people would guess just by looking at the numbers.&lt;/p&gt;

&lt;p&gt;"Akhouri Systems" might read like just another company name to most people. To me, it's an identity. It's the thing I remind myself of every time a voice in my head — sometimes borrowed from someone else's voice — asks, &lt;em&gt;"Are you really just a nalayak beta?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;And every time, I answer myself the same way: &lt;em&gt;at 13, I'm running a company.&lt;/em&gt; Whoever taught someone that word, taught it to the wrong kid.&lt;/p&gt;

&lt;h2&gt;
  
  
  About today
&lt;/h2&gt;

&lt;p&gt;I used to think August 31st would be the day I'd look forward to every year — my birthday, my happiest day. It wasn't. It was just another ordinary day. If anything, this was the day a "nalayak beta" was born, or so I was told.&lt;/p&gt;

&lt;p&gt;But I still have something to prove. Not to the world — to the people who called me useless, directly, to my face. I have to prove it, even if the only way I can do that right now is by showing up and building, one day at a time.&lt;/p&gt;

&lt;p&gt;Akhouri Systems needs connections. hope you all will join with akhouri systems.&lt;/p&gt;

&lt;p&gt;I hope you'll be with Akhouri Systems as it grows.&lt;/p&gt;

&lt;p&gt;🔗&lt;a href="https://github.com/Akhouri-Anmol-Kumar" rel="noopener noreferrer"&gt;https://github.com/Akhouri-Anmol-Kumar&lt;/a&gt;&lt;br&gt;
🔗&lt;a href="https://akhouri-anmol-kumar.github.io/Akhouri-systems/" rel="noopener noreferrer"&gt;https://akhouri-anmol-kumar.github.io/Akhouri-systems/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AKHOURI SYSTEMS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"We build what others forgot to fix."&lt;/em&gt;&lt;/p&gt;

</description>
      <category>motivation</category>
      <category>startup</category>
      <category>beginners</category>
      <category>discuss</category>
    </item>
    <item>
      <title>EGO. That's What Akhouri Systems Is Really About.</title>
      <dc:creator>Akhouri Anmol Kumar</dc:creator>
      <pubDate>Sun, 30 Aug 2026 05:14:40 +0000</pubDate>
      <link>https://dev.to/akhourianmolkumar/ego-thats-what-akhouri-systems-is-really-about-3f2d</link>
      <guid>https://dev.to/akhourianmolkumar/ego-thats-what-akhouri-systems-is-really-about-3f2d</guid>
      <description>&lt;p&gt;I'm Akhouri Anmol Kumar. Founder and developer of Akhouri Systems.&lt;/p&gt;

&lt;p&gt;And I need to say something that most people won't say out loud: this isn't just a software company built by a kid with a laptop and too many ideas. This is about EGO. The kind of ego that refuses to accept "that's impossible" as a final answer.&lt;/p&gt;

&lt;p&gt;The Goal Nobody Believes In&lt;/p&gt;

&lt;p&gt;I'm building Akhouri Systems to become the world's biggest software manufacturer — a direct competitor to Microsoft's default Windows apps. Not a clone. Not a tribute. A competitor.&lt;/p&gt;

&lt;p&gt;Say that out loud to most people and you'll get a laugh, a pat on the back, or a "that's cute, kid." I've heard all three. Probably more times than I can count. Also my mother even said this is the biggest joke, Akhouri systems is the biggest joke.&lt;br&gt;
my father who believes I am not serious, in fact till today 3months gone, akhouri systems crossed 670 downloads still he is not even supporting motivationally. While I need financial support from him but he says you're "NALAYAK BETA"(when I tried to force him to support me he said this 2 words)&lt;/p&gt;

&lt;p&gt;Here's the thing — they might be right. The odds are brutal. I'm standing mostly alone, with no giant team, no massive funding, no safety net. Just code, conviction, and a stubborn refusal to quit.&lt;/p&gt;

&lt;p&gt;Plan A: Legend. Plan B: Still a Legend.&lt;/p&gt;

&lt;p&gt;So here's my actual bet, laid out with zero sugarcoating:&lt;/p&gt;

&lt;p&gt;If I win — Akhouri Systems becomes a name people mention in the same breath as Microsoft, Apple, Google. A software giant that started from nothing.&lt;/p&gt;

&lt;p&gt;If I don't — I will still push Akhouri Systems to a point where Microsoft itself looks at what we built and takes inspiration from it. Where our apps quietly influence how the giants build theirs.&lt;/p&gt;

&lt;p&gt;Because here's the truth I hold onto on the hard days:&lt;/p&gt;

&lt;p&gt;If Akhouri Systems fails — maybe one Akhouri Systems failed. But another will rise.&lt;/p&gt;

&lt;p&gt;This isn't about one shot. It's about a mindset that doesn't die even if the company does.&lt;/p&gt;

&lt;p&gt;Why I'm Telling You This&lt;/p&gt;

&lt;p&gt;Because somewhere out there, someone else is sitting alone at 2 AM, staring at a terminal, wondering if their "impossible" dream is worth the grind. If that's you — this is your sign. Ego, used right, isn't arrogance. It's the fuel that keeps you writing code when nobody's watching and nobody believes.&lt;/p&gt;

&lt;p&gt;I'm not asking you to believe in Akhouri Systems yet. I'm asking you to watch. Every commit, every release, every small win is public. Come see it for yourself:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/Akhouri-Anmol-Kumar" rel="noopener noreferrer"&gt;https://github.com/Akhouri-Anmol-Kumar&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Star it, fork it, follow it, critique it — I'll take all of it. What I won't take is silence. Silence is the only real competitor I'm afraid of.&lt;/p&gt;

&lt;p&gt;Final Word&lt;/p&gt;

&lt;p&gt;Microsoft didn't start as Microsoft. Every giant started as one person's stubborn ego refusing to accept "no."&lt;/p&gt;

&lt;p&gt;Mine says Akhouri Systems becomes the next name on that list — or dies trying, loud enough that the giants notice.&lt;/p&gt;

&lt;p&gt;Let's build.&lt;/p&gt;

&lt;p&gt;— Akhouri Anmol Kumar Founder &amp;amp; Developer, Akhouri Systems GitHub →&lt;br&gt;
&lt;a href="https://github.com/Akhouri-Anmol-Kumar" rel="noopener noreferrer"&gt;https://github.com/Akhouri-Anmol-Kumar&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If this resonated, drop a comment. If you're building something alone against the odds too — I want to hear about it&lt;/p&gt;

&lt;h1&gt;
  
  
  AKHOURISYSTEMS
&lt;/h1&gt;

&lt;p&gt;"we build what others forgot to fix"&lt;/p&gt;

</description>
      <category>motivation</category>
      <category>startup</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>I Built a Free, All-in-One Image Tool Because I Was Tired of Ad-Ridden Web Converters</title>
      <dc:creator>Akhouri Anmol Kumar</dc:creator>
      <pubDate>Sat, 29 Aug 2026 05:16:48 +0000</pubDate>
      <link>https://dev.to/akhourianmolkumar/i-built-a-free-all-in-one-image-tool-because-i-was-tired-of-ad-ridden-web-converters-5ck4</link>
      <guid>https://dev.to/akhourianmolkumar/i-built-a-free-all-in-one-image-tool-because-i-was-tired-of-ad-ridden-web-converters-5ck4</guid>
      <description>&lt;p&gt;The problem&lt;/p&gt;

&lt;p&gt;If you've ever needed to quickly edit, convert, or compress an image, you know the drill: open a website, dodge three ads, upload your file, wait, download, and hope it didn't watermark your output or cap you at "3 free conversions per day."&lt;/p&gt;

&lt;p&gt;I hit this wall one too many times while batch-processing images for a project, so I built APIC — Advanced Image Processing Center — a free, local-first desktop app that handles the whole workflow.&lt;/p&gt;

&lt;p&gt;What it does&lt;br&gt;
Edit — quick image adjustments, no bloated interface&lt;br&gt;
Convert — switch between formats instantly&lt;br&gt;
Compress — reduce file size while preserving quality&lt;br&gt;
Search — locate images in your library fast&lt;br&gt;
Batch Processing — apply operations across many files at once&lt;/p&gt;

&lt;p&gt;Everything runs locally. No uploads, no cloud processing, no accounts.&lt;/p&gt;

&lt;p&gt;The stack&lt;/p&gt;

&lt;p&gt;APIC is built with Python 3 and PyQt6. A few architecture decisions worth mentioning:&lt;/p&gt;

&lt;p&gt;Modular mode system — Home, Edit, Convert, Compress, and Search are each self-contained modules (modules/edit_mode.py, modules/convert_mode.py, etc.), swapped in and out via a QStackedWidget. This kept the codebase easy to extend — adding a new mode is mostly "build the widget, register it, add a nav button."&lt;/p&gt;

&lt;p&gt;python&lt;br&gt;
from modules.edit_mode import EditMode&lt;br&gt;
from modules.convert_mode import ConvertMode&lt;br&gt;
from modules.compress_mode import CompressMode&lt;br&gt;
from modules.search_mode import SearchMode, AboutScreen&lt;/p&gt;

&lt;p&gt;Custom sidebar navigation — a hand-built Sidebar class with active-state highlighting, rather than relying on Qt's default tab widgets, to get a more native, opinionated UI feel.&lt;/p&gt;

&lt;p&gt;Global keyboard shortcuts and drag-and-drop — wired at the QMainWindow level so file handling feels consistent no matter which mode you're in.&lt;/p&gt;

&lt;p&gt;Custom dark theme — a full stylesheet (themes/dark_theme.py) rather than default Qt styling, because default PyQt apps tend to look like they escaped from 2011.&lt;/p&gt;

&lt;p&gt;Why PyQt6 over Electron&lt;/p&gt;

&lt;p&gt;I wanted something that launches fast, feels native, and doesn't ship a bundled Chromium instance for what is fundamentally a desktop utility app. PyQt6 gave me native performance with enough flexibility to build a custom look without fighting the framework.&lt;/p&gt;

&lt;p&gt;Try it&lt;/p&gt;

&lt;p&gt;APIC is free, requires no sign-up, and doesn't send your images anywhere — everything happens on your machine.&lt;/p&gt;

&lt;p&gt;📥 Download: &lt;a href="https://github.com/Akhouri-Anmol-Kumar/APIC" rel="noopener noreferrer"&gt;https://github.com/Akhouri-Anmol-Kumar/APIC&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I built this solo under my dev label, Akhouri Systems, and I'm actively iterating on it. If you're a Python/PyQt dev, I'd genuinely love feedback on the architecture — and if you just need a decent free image tool, I hope it saves you the four-tabs-of-ads experience I was dealing with.&lt;/p&gt;

&lt;p&gt;Bug reports, feature requests, and brutal code reviews all welcome in the comments 🙏&lt;/p&gt;

&lt;h1&gt;
  
  
  APIC
&lt;/h1&gt;

&lt;p&gt;"We Build What Others Forgot To Fix"&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>productivity</category>
      <category>showdev</category>
    </item>
    <item>
      <title>What Does “Protection” Mean in the Digital World? 🔒</title>
      <dc:creator>Akhouri Anmol Kumar</dc:creator>
      <pubDate>Fri, 28 Aug 2026 05:30:31 +0000</pubDate>
      <link>https://dev.to/akhourianmolkumar/what-does-protection-mean-in-the-digital-world-5epo</link>
      <guid>https://dev.to/akhourianmolkumar/what-does-protection-mean-in-the-digital-world-5epo</guid>
      <description>&lt;p&gt;Raksha Bandhan is about protecting the people who matter to us.&lt;/p&gt;

&lt;p&gt;But our digital lives contain things worth protecting too:&lt;/p&gt;

&lt;p&gt;🔑 Passwords&lt;br&gt;
📁 Personal files&lt;br&gt;
💻 Our devices&lt;br&gt;
🔒 Our privacy&lt;/p&gt;

&lt;p&gt;That's one of the ideas behind ATLOCK v4, the Windows security suite I've been building.&lt;/p&gt;

&lt;p&gt;This Raksha Bandhan, I wanted to connect something deeply personal with something increasingly important:&lt;/p&gt;

&lt;p&gt;physical protection → digital protection.&lt;/p&gt;

&lt;p&gt;ATLOCK v4 brings together local password protection, NTFS/ACL-based file protection, system lockdown, intrusion-response features, and security notifications in a portable Windows application.&lt;/p&gt;

&lt;p&gt;Protect what matters — wherever it exists.&lt;/p&gt;

&lt;p&gt;🚀 Try ATLOCK v4: [&lt;a href="https://github.com/Akhouri-Anmol-Kumar/ATLOCK" rel="noopener noreferrer"&gt;https://github.com/Akhouri-Anmol-Kumar/ATLOCK&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;Happy Raksha Bandhan! 🪢❤️&lt;/p&gt;

&lt;h1&gt;
  
  
  ATLOCK
&lt;/h1&gt;

&lt;p&gt;"We Build What Others Forgot To Fix"&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>security</category>
      <category>python</category>
      <category>privacy</category>
    </item>
    <item>
      <title>APIC — The Desktop Image Toolkit I Wish Existed Before I Built It</title>
      <dc:creator>Akhouri Anmol Kumar</dc:creator>
      <pubDate>Thu, 27 Aug 2026 04:42:37 +0000</pubDate>
      <link>https://dev.to/akhourianmolkumar/apic-the-desktop-image-toolkit-i-wish-existed-before-i-built-it-1d9d</link>
      <guid>https://dev.to/akhourianmolkumar/apic-the-desktop-image-toolkit-i-wish-existed-before-i-built-it-1d9d</guid>
      <description>&lt;p&gt;🖼️ Meet APIC — Advanced Image Processing Center&lt;/p&gt;

&lt;p&gt;Tired of opening five different tools just to edit, convert, compress, and organize your images? So was I. That's why I built APIC — a single, fast, dark-themed desktop app that handles your entire image workflow without leaving one window.&lt;/p&gt;

&lt;p&gt;No cloud uploads. No subscriptions. No watching your photos get compressed on someone else's server. Just a native app that works.&lt;/p&gt;

&lt;p&gt;⚡ Why APIC?&lt;/p&gt;

&lt;p&gt;Most image tools make you pick one lane: an editor or a converter or a compressor. APIC puts all of it behind one clean sidebar, so your workflow stays in one place:&lt;/p&gt;

&lt;p&gt;✎ Edit — quick, no-fuss image editing&lt;br&gt;
⇄ Convert — jump between PNG, JPG, WEBP, BMP, TIFF, GIF, ICO, HEIC, AVIF and more&lt;br&gt;
⬇ Compress — shrink file sizes without wrecking quality&lt;br&gt;
⌕ Search — find and manage your images fast&lt;br&gt;
Batch Processing — do it once, apply it to a whole folder&lt;/p&gt;

&lt;p&gt;Drag a single image in and APIC jumps straight to editing. Drop in a batch of files and it routes you straight to conversion. It's built to guess what you're trying to do — so you don't have to click around looking for the right mode.&lt;/p&gt;

&lt;p&gt;🎨 Built for Focus&lt;/p&gt;

&lt;p&gt;APIC ships with a clean, minimal dark UI designed to stay out of your way — no clutter, no ads, no "upgrade to pro" popups blocking your canvas. Just your images and the tools to work on them.&lt;/p&gt;

&lt;p&gt;Home → Edit → Convert → Compress → Search&lt;/p&gt;

&lt;p&gt;One sidebar. Five modes. Zero context-switching.&lt;/p&gt;

&lt;p&gt;🛠️ Under the Hood&lt;/p&gt;

&lt;p&gt;APIC is built with:&lt;/p&gt;

&lt;p&gt;Python + PyQt6 for a native, responsive desktop experience&lt;br&gt;
A modular architecture — each mode (edit_mode, convert_mode, compress_mode, search_mode) is its own self-contained unit&lt;br&gt;
Full drag-and-drop support at the app level&lt;br&gt;
Support for a wide range of formats: PNG · JPG · JPEG · WEBP · BMP · TIFF · GIF · ICO · HEIC · AVIF&lt;br&gt;
Packaged as a single-file executable via PyInstaller — download and run, no installs, no dependencies to fight with&lt;br&gt;
📦 Who Is This For?&lt;br&gt;
Developers who need a quick local image converter without spinning up a script every time&lt;br&gt;
Designers who want fast compression before shipping assets&lt;br&gt;
Anyone who's sick of uploading personal photos to random "free online converter" sites&lt;br&gt;
🚀 What's Next&lt;/p&gt;

&lt;p&gt;This is v1.0.0 — the core workflow (Edit → Convert → Compress → Search) is live and stable, with batch processing baked in from day one. Roadmap items on the table: more export presets, plugin support, and expanded batch automation.&lt;/p&gt;

&lt;p&gt;👨‍💻 About the Developer&lt;/p&gt;

&lt;p&gt;APIC is An Akhouri Systems Product, built by Akhouri Anmol Kumar, an Indian software developer.&lt;/p&gt;

&lt;p&gt;If you try it out, I'd genuinely love to hear what you think — bugs, feature requests, or just "this saved me time" are all welcome. Drop a comment below or reach out!&lt;/p&gt;

&lt;p&gt;If you found this useful, a ❤️ or 🦄 helps more devs discover APIC. Thanks for reading!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fai4lkb0n8qyx5c43i350.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fai4lkb0n8qyx5c43i350.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgtrzntvys6xgou7jpk1v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgtrzntvys6xgou7jpk1v.png" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>pyqt6</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
    <item>
      <title>🖼️ I Built APIC Around One Question: “Why Is This Still So Many Steps?”</title>
      <dc:creator>Akhouri Anmol Kumar</dc:creator>
      <pubDate>Wed, 26 Aug 2026 05:05:39 +0000</pubDate>
      <link>https://dev.to/akhourianmolkumar/i-built-apic-around-one-question-why-is-this-still-so-many-steps-4pia</link>
      <guid>https://dev.to/akhourianmolkumar/i-built-apic-around-one-question-why-is-this-still-so-many-steps-4pia</guid>
      <description>&lt;p&gt;Some software problems are technically difficult.&lt;/p&gt;

&lt;p&gt;Others are just annoying.&lt;/p&gt;

&lt;p&gt;Image processing often falls into the second category.&lt;/p&gt;

&lt;p&gt;You want to convert an image.&lt;/p&gt;

&lt;p&gt;Open a tool.&lt;/p&gt;

&lt;p&gt;You want to compress it.&lt;/p&gt;

&lt;p&gt;Find another.&lt;/p&gt;

&lt;p&gt;You need to edit something.&lt;/p&gt;

&lt;p&gt;Open another application.&lt;/p&gt;

&lt;p&gt;Eventually, a 20-second task becomes a 5-minute workflow.&lt;/p&gt;

&lt;p&gt;That frustration is what led me to build APIC — Advanced Image Processing Center.&lt;/p&gt;

&lt;p&gt;One workspace for the boring stuff&lt;/p&gt;

&lt;p&gt;APIC is a Windows desktop application focused on everyday image workflows:&lt;/p&gt;

&lt;p&gt;🖼️ Image editing&lt;br&gt;
🔄 Format conversion&lt;br&gt;
📦 Image compression&lt;br&gt;
🔍 Image search&lt;br&gt;
🖱️ Drag &amp;amp; Drop&lt;br&gt;
⌨️ Keyboard shortcuts&lt;br&gt;
🌙 Modern dark interface&lt;/p&gt;

&lt;p&gt;It supports formats including PNG, JPG, JPEG, WEBP, BMP, TIFF, GIF, ICO, HEIC and AVIF.&lt;/p&gt;

&lt;p&gt;The interesting part isn't the buttons&lt;/p&gt;

&lt;p&gt;The challenge wasn't creating another “Convert” button.&lt;/p&gt;

&lt;p&gt;It was making the application understand what the user is trying to do.&lt;/p&gt;

&lt;p&gt;For example, a single image can naturally lead into an editing workflow, while multiple images can indicate a batch-processing workflow.&lt;/p&gt;

&lt;p&gt;That led me toward a more modular architecture where the major workflows remain separated instead of becoming one enormous application component.&lt;/p&gt;

&lt;p&gt;🔒 Why local processing?&lt;/p&gt;

&lt;p&gt;For many everyday image tasks, sending an image to a remote server isn't necessary.&lt;/p&gt;

&lt;p&gt;APIC is designed around local processing, so the computer you're using performs the work.&lt;/p&gt;

&lt;p&gt;That makes the workflow useful even when you don't want your images going through another service.&lt;/p&gt;

&lt;p&gt;🎯 What APIC is actually trying to achieve&lt;/p&gt;

&lt;p&gt;I'm not trying to compete with professional graphics suites.&lt;/p&gt;

&lt;p&gt;The goal is much narrower:&lt;/p&gt;

&lt;p&gt;Make everyday image processing less annoying.&lt;/p&gt;

&lt;p&gt;If a task takes three different applications today, I'd rather make it one.&lt;/p&gt;

&lt;p&gt;If it takes ten clicks, I'd rather make it five.&lt;/p&gt;

&lt;p&gt;If there's unnecessary friction, remove it.&lt;/p&gt;

&lt;p&gt;That's the product philosophy behind APIC.&lt;/p&gt;

&lt;p&gt;🚀 Give it a real test&lt;/p&gt;

&lt;p&gt;I've released a ready-to-run Windows build.&lt;/p&gt;

&lt;p&gt;Download APIC:&lt;br&gt;
&lt;a href="https://github.com/Akhouri-Anmol-Kumar/APIC/releases/download/APIC/APIC.zip" rel="noopener noreferrer"&gt;https://github.com/Akhouri-Anmol-Kumar/APIC/releases/download/APIC/APIC.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Download → Extract → Run.&lt;/p&gt;

&lt;p&gt;Don't just open it and look around.&lt;/p&gt;

&lt;p&gt;Give it an actual image task you normally hate doing.&lt;/p&gt;

&lt;p&gt;Then tell me whether APIC made it easier—or where it failed.&lt;/p&gt;

&lt;p&gt;That's the feedback I'm looking for.&lt;/p&gt;

&lt;h1&gt;
  
  
  APIC
&lt;/h1&gt;

&lt;p&gt;"We Build What Others Forgot To Fix"&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>showdev</category>
      <category>python</category>
      <category>software</category>
    </item>
    <item>
      <title>🧩 The Problem Wasn't Image Editing. It Was Everything Around It.</title>
      <dc:creator>Akhouri Anmol Kumar</dc:creator>
      <pubDate>Tue, 25 Aug 2026 04:59:43 +0000</pubDate>
      <link>https://dev.to/akhourianmolkumar/the-problem-wasnt-image-editing-it-was-everything-around-it-2o7p</link>
      <guid>https://dev.to/akhourianmolkumar/the-problem-wasnt-image-editing-it-was-everything-around-it-2o7p</guid>
      <description>&lt;p&gt;Here's a stupidly familiar workflow:&lt;/p&gt;

&lt;p&gt;Someone sends you an image.&lt;/p&gt;

&lt;p&gt;You download it.&lt;/p&gt;

&lt;p&gt;Then you realize it's the wrong format.&lt;/p&gt;

&lt;p&gt;So you open a converter.&lt;/p&gt;

&lt;p&gt;Then the file is too large.&lt;/p&gt;

&lt;p&gt;So you open a compressor.&lt;/p&gt;

&lt;p&gt;Then you notice the image needs a few adjustments.&lt;/p&gt;

&lt;p&gt;Now you're opening an editor.&lt;/p&gt;

&lt;p&gt;Then you need to resize it.&lt;/p&gt;

&lt;p&gt;Another tool.&lt;/p&gt;

&lt;p&gt;At some point you're sitting there thinking:&lt;/p&gt;

&lt;p&gt;“Bro… I'm just trying to process one image.” 💀&lt;/p&gt;

&lt;p&gt;That annoyance is what eventually turned into APIC.&lt;/p&gt;

&lt;p&gt;🛠️ I Didn't Start With “Let's Build An Image Editor”&lt;/p&gt;

&lt;p&gt;I started with a much more boring question:&lt;/p&gt;

&lt;p&gt;How many tools do I actually need to touch to finish one image?&lt;/p&gt;

&lt;p&gt;The answer was… annoyingly high.&lt;/p&gt;

&lt;p&gt;So instead of building another giant editor trying to compete with professional creative software, I went in the opposite direction.&lt;/p&gt;

&lt;p&gt;Take the repetitive image operations.&lt;/p&gt;

&lt;p&gt;Put them together.&lt;/p&gt;

&lt;p&gt;Make the workflow stupidly straightforward.&lt;/p&gt;

&lt;p&gt;That's APIC.&lt;/p&gt;

&lt;p&gt;🧠 Think Of APIC As An Image Workbench&lt;/p&gt;

&lt;p&gt;Not a Photoshop replacement.&lt;/p&gt;

&lt;p&gt;Not a website full of random online utilities.&lt;/p&gt;

&lt;p&gt;More like a workbench sitting on your Windows machine.&lt;/p&gt;

&lt;p&gt;You bring an image in.&lt;/p&gt;

&lt;p&gt;Then you decide what needs to happen to it.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;             IMAGE
               │
      ┌────────┴────────┐
      ↓                 ↓
   MODIFY              PREPARE
      │                 │
 ┌────┼────┐        ┌───┴────┐
 ↓    ↓    ↓        ↓        ↓
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;EDIT FILTER RESIZE  CONVERT  COMPRESS&lt;br&gt;
     │    │    │        │        │&lt;br&gt;
     └────┴────┴────────┴────────┘&lt;br&gt;
                   ↓&lt;br&gt;
                OUTPUT&lt;/p&gt;

&lt;p&gt;The interesting part isn't any individual button.&lt;/p&gt;

&lt;p&gt;It's the distance between the buttons.&lt;/p&gt;

&lt;p&gt;🐕 Here's What That Looks Like In Reality&lt;/p&gt;

&lt;p&gt;I took a normal image.&lt;/p&gt;

&lt;p&gt;Nothing special.&lt;/p&gt;

&lt;p&gt;Then started messing with it.&lt;/p&gt;

&lt;p&gt;Brightness.&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Contrast.&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Shadows / highlights.&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Filter.&lt;/p&gt;

&lt;p&gt;↓&lt;/p&gt;

&lt;p&gt;Resize.&lt;/p&gt;

&lt;p&gt;And suddenly the image is ready for whatever comes next.&lt;/p&gt;

&lt;p&gt;No:&lt;/p&gt;

&lt;p&gt;“Wait, which website did I use for this last time?”&lt;/p&gt;

&lt;p&gt;No:&lt;/p&gt;

&lt;p&gt;“Where's that converter?”&lt;/p&gt;

&lt;p&gt;No:&lt;/p&gt;

&lt;p&gt;“Which compressor doesn't destroy the image?”&lt;/p&gt;

&lt;p&gt;Just the same application sitting there.&lt;/p&gt;

&lt;p&gt;🔐 THEN I ASKED ANOTHER QUESTION&lt;br&gt;
Why should a simple image operation require uploading the image somewhere?&lt;/p&gt;

&lt;p&gt;That's where APIC's local workflow matters.&lt;/p&gt;

&lt;p&gt;Your image is your data.&lt;/p&gt;

&lt;p&gt;For the local processing workflow:&lt;/p&gt;

&lt;p&gt;YOUR IMAGE&lt;br&gt;
    │&lt;br&gt;
    ↓&lt;br&gt;
   APIC&lt;br&gt;
    │&lt;br&gt;
    ↓&lt;br&gt;
YOUR OUTPUT&lt;/p&gt;

&lt;p&gt;Not:&lt;/p&gt;

&lt;p&gt;YOUR IMAGE&lt;br&gt;
    ↓&lt;br&gt;
UPLOAD&lt;br&gt;
    ↓&lt;br&gt;
SERVER&lt;br&gt;
    ↓&lt;br&gt;
PROCESS&lt;br&gt;
    ↓&lt;br&gt;
DOWNLOAD&lt;/p&gt;

&lt;p&gt;That distinction matters — especially when the image isn't something you want casually uploading to a random service.&lt;/p&gt;

&lt;p&gt;⚙️ UNDER THE HOOD, THE PRODUCT ISN'T TRYING TO BE EVERYTHING&lt;/p&gt;

&lt;p&gt;That's intentional.&lt;/p&gt;

&lt;p&gt;I don't want APIC to become:&lt;/p&gt;

&lt;p&gt;“The Ultimate AI Blockchain Quantum Image Superplatform™” 😭&lt;/p&gt;

&lt;p&gt;I'd rather it become really good at the boring stuff people repeatedly need.&lt;/p&gt;

&lt;p&gt;That's a much more interesting engineering problem.&lt;/p&gt;

&lt;p&gt;How fast can the workflow be?&lt;/p&gt;

&lt;p&gt;How clean can the UI stay?&lt;/p&gt;

&lt;p&gt;How predictable should the output be?&lt;/p&gt;

&lt;p&gt;How many unnecessary steps can disappear?&lt;/p&gt;

&lt;p&gt;Those are the things I'm interested in.&lt;/p&gt;

&lt;p&gt;🖥️ AND YES — IT'S A REAL WINDOWS APP&lt;/p&gt;

&lt;p&gt;The demo below isn't a Figma prototype.&lt;/p&gt;

&lt;p&gt;It's not a landing-page animation.&lt;/p&gt;

&lt;p&gt;It's the actual APIC application running on Windows.&lt;/p&gt;

&lt;p&gt;You can see the workflow happen in real time:&lt;/p&gt;

&lt;p&gt;Open → Process → Modify → Convert → Output&lt;/p&gt;

&lt;p&gt;And that's honestly the part I'm most proud of.&lt;/p&gt;

&lt;p&gt;Because software stops being an idea the moment somebody can actually use it.&lt;/p&gt;

&lt;p&gt;🚧 APIC ISN'T “FINISHED”&lt;/p&gt;

&lt;p&gt;And I'm not going to pretend it is.&lt;/p&gt;

&lt;p&gt;There are still things I want to improve.&lt;/p&gt;

&lt;p&gt;Better workflows.&lt;/p&gt;

&lt;p&gt;More processing options.&lt;/p&gt;

&lt;p&gt;Performance improvements.&lt;/p&gt;

&lt;p&gt;UI refinements.&lt;/p&gt;

&lt;p&gt;More automation.&lt;/p&gt;

&lt;p&gt;Maybe some completely different ideas later.&lt;/p&gt;

&lt;p&gt;But that's the fun part.&lt;/p&gt;

&lt;p&gt;APIC is being built in public, one version at a time.&lt;/p&gt;

&lt;p&gt;🇮🇳 BUILT BY AKHOURI SYSTEMS&lt;/p&gt;

&lt;p&gt;APIC is an Akhouri Systems project.&lt;/p&gt;

&lt;p&gt;The goal isn't to make the loudest image-processing application on the internet.&lt;/p&gt;

&lt;p&gt;It's to make one that quietly becomes the application you open when you think:&lt;/p&gt;

&lt;p&gt;“I just need to fix this image.”&lt;/p&gt;

&lt;p&gt;And then you're done.&lt;/p&gt;

&lt;p&gt;🎥 Here's APIC.&lt;/p&gt;

&lt;p&gt;No concept art.&lt;/p&gt;

&lt;p&gt;No fake UI.&lt;/p&gt;

&lt;p&gt;Just the actual application.&lt;/p&gt;

&lt;p&gt;👇&lt;/p&gt;

&lt;p&gt;APIC — Advanced Image Processing Center&lt;/p&gt;

&lt;p&gt;🌐 &lt;a href="https://github.com/Akhouri-Anmol-Kumar/APIC" rel="noopener noreferrer"&gt;https://github.com/Akhouri-Anmol-Kumar/APIC&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💭 Now I'm curious:&lt;/p&gt;

&lt;p&gt;What's the one annoying image task you still use a completely separate tool for?&lt;/p&gt;

&lt;p&gt;Maybe that's the next thing APIC should solve. 👀&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5ppjgqjvnowvu6is6op3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5ppjgqjvnowvu6is6op3.png" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2sppx5bd1bm6lp316h9u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2sppx5bd1bm6lp316h9u.png" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3vaw8hv50gyahzhkt4it.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3vaw8hv50gyahzhkt4it.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5kdtvm2nfelzs6p1ajee.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5kdtvm2nfelzs6p1ajee.png" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>programming</category>
      <category>showdev</category>
      <category>python</category>
    </item>
    <item>
      <title>I built a full image editor that never uploads your photo — here's how the on-device AI parts actually work</title>
      <dc:creator>Akhouri Anmol Kumar</dc:creator>
      <pubDate>Mon, 24 Aug 2026 04:14:07 +0000</pubDate>
      <link>https://dev.to/akhourianmolkumar/i-built-a-full-image-editor-that-never-uploads-your-photo-heres-how-the-on-device-ai-parts-1i03</link>
      <guid>https://dev.to/akhourianmolkumar/i-built-a-full-image-editor-that-never-uploads-your-photo-heres-how-the-on-device-ai-parts-1i03</guid>
      <description>&lt;p&gt;Most background-removal and object-removal tools online work the same way: you upload an image, a server runs a model on it, you download the result. Convenient, but your photo left your device and you have no idea what happened to that copy afterward.&lt;/p&gt;

&lt;p&gt;I wanted to see how far I could push the "everything stays client-side" constraint for a full image editor — background removal, object removal, filters, format conversion, compression — using only what a browser can do natively: Canvas, WebAssembly, and an on-device ML model. This is APIC-Web, and here's what I learned building the two hardest parts.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Background removal: category masks vs. confidence masks&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The obvious approach is MediaPipe's ImageSegmenter with outputCategoryMask: true — it hands you a hard 0/1 label per pixel (background or foreground). It works, but the output has a visible jagged, stair-stepped edge around hair and shoulders. There's no way to fix that after the fact with a blur, because the information needed to know how much a boundary pixel belongs to the foreground is already gone — it got rounded to a hard integer.&lt;/p&gt;

&lt;p&gt;The fix is outputConfidenceMasks: true instead, which returns a float 0–1 probability per pixel before it gets thresholded. That single change unlocks a proper edge pipeline:&lt;/p&gt;

&lt;p&gt;js&lt;br&gt;
// 1. Smoothstep contrast — push clear foreground/background toward pure&lt;br&gt;
//    opaque/transparent while keeping the ~0.5 transition band soft&lt;br&gt;
const s = v * v * (3 - 2 * v);&lt;/p&gt;

&lt;p&gt;// 2. Erode ~1px inward — kills background-colour fringing around hair&lt;br&gt;
//    (a min-filter over a 3x3 neighbourhood)&lt;/p&gt;

&lt;p&gt;// 3. Feather with a small separable box blur — turns the eroded edge&lt;br&gt;
//    into something smooth instead of jagged&lt;/p&gt;

&lt;p&gt;Net effect: same underlying model, dramatically better-looking edges, because you're working with the mask's actual uncertainty instead of throwing it away too early.&lt;/p&gt;

&lt;p&gt;One gotcha worth flagging for anyone doing the same thing: not every segmentation model outputs the same number of confidence channels. Some give you &lt;a href="https://dev.to2%20channels"&gt;background, foreground&lt;/a&gt;, others give you a single foreground-probability channel. Don't hardcode confidenceMasks[1] — check the array length and handle both, and wrap model creation so a GPU delegate failure falls back to CPU instead of just dying.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Object removal without a generative model&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Photo editors with "magic eraser" features (Photoshop's Generative Fill, Galaxy AI's object eraser) use trained diffusion models. That's not something you can ship for free in a static HTML page — no server, no GPU inference budget.&lt;/p&gt;

&lt;p&gt;What is achievable client-side is exemplar-based texture synthesis — essentially the pre-AI generation of content-aware fill. The idea:&lt;/p&gt;

&lt;p&gt;Take the painted (masked) region plus a padded area of real surrounding pixels&lt;br&gt;
Break the hole into small blocks (8×8) and process them boundary-inward — the block with the most already-resolved neighbours goes first&lt;br&gt;
For each block, search the surrounding valid texture for the patch that minimizes SSD against the parts of the target block that are already known&lt;br&gt;
Copy those real pixels in — not an average, not a blur, an actual texture copy — which is what keeps the result sharp instead of smeared&lt;br&gt;
js&lt;br&gt;
for (let py = 0; py &amp;lt; bhei; py++) {&lt;br&gt;
  for (let px = 0; px &amp;lt; bwid; px++) {&lt;br&gt;
    const tIdx = (ty0 + py) * ww + (tx0 + px);&lt;br&gt;
    if (!validSrc[tIdx]) continue; // only compare known-good texture&lt;br&gt;
    const cIdx = (cy + py) * ww + (cx + px);&lt;br&gt;
    const dr = wd[tIdx*4] - wd[cIdx*4];&lt;br&gt;
    // ...accumulate squared error across candidate positions&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;The subtle bug I hit here: after background removal, transparent pixels still have leftover garbage RGB values sitting under alpha: 0 — they're just not painted, so a naive "is this pixel painted?" check treats them as valid source texture. The fix was splitting the concept into two separate arrays: isPainted (defines the hole) and validSrc (opaque and unpainted — the only pixels safe to copy from). Mixing those two concepts up is exactly how you get a random smear of background color pasted into your subject.&lt;/p&gt;

&lt;p&gt;Performance-wise, brute-force patch search is O(hole_pixels × search_area), which gets ugly fast on a large image. Restricting the search to a padded bounding box around the mask (not the whole image) and adaptively adjusting the candidate sampling stride based on hole size keeps this bounded — typical fills run in well under a second.&lt;/p&gt;

&lt;p&gt;Takeaways&lt;br&gt;
If your segmentation output has visible jagged edges, you're probably throwing away confidence information too early — switch to soft masks and add erosion + feather.&lt;br&gt;
You don't need a trained model to get decent object removal; exemplar-based patch matching gets you most of the way for everyday use cases (skin, sky, fabric, walls), it's just an older, well-understood technique.&lt;br&gt;
When you're compositing filled/generated pixels back into a photo that's already been alpha-masked, be explicit about what counts as "safe to sample from" — transparency and "not edited" are not the same thing, and conflating them is a real bug, not a hypothetical one.&lt;/p&gt;

&lt;p&gt;APIC-Web is live and free if you want to see the result: &lt;br&gt;
&lt;a href="https://akhouri-anmol-kumar.github.io/APIC-web/" rel="noopener noreferrer"&gt;https://akhouri-anmol-kumar.github.io/APIC-web/&lt;/a&gt;&lt;br&gt;
Feedback — especially edge cases that break it — genuinely welcome.&lt;/p&gt;

&lt;h1&gt;
  
  
  APIC
&lt;/h1&gt;

&lt;p&gt;"We Build What Others Forgot To Fix"&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>computervision</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I Wanted to Process One Image. Somehow I Ended Up Building APIC.</title>
      <dc:creator>Akhouri Anmol Kumar</dc:creator>
      <pubDate>Sun, 23 Aug 2026 14:40:08 +0000</pubDate>
      <link>https://dev.to/akhourianmolkumar/i-wanted-to-process-one-image-somehow-i-ended-up-building-apic-464m</link>
      <guid>https://dev.to/akhourianmolkumar/i-wanted-to-process-one-image-somehow-i-ended-up-building-apic-464m</guid>
      <description>&lt;p&gt;It started with a stupidly simple problem.&lt;/p&gt;

&lt;p&gt;I had an image.&lt;/p&gt;

&lt;p&gt;I needed to process it.&lt;/p&gt;

&lt;p&gt;That's it.&lt;/p&gt;

&lt;p&gt;But somehow the workflow became:&lt;/p&gt;

&lt;p&gt;Open tool → convert → find another tool → compress → open another tool → edit → close everything.&lt;/p&gt;

&lt;p&gt;At some point I thought:&lt;/p&gt;

&lt;p&gt;Why am I using a toolbox just to process one image?&lt;/p&gt;

&lt;p&gt;So I built my own.&lt;/p&gt;

&lt;p&gt;Meet APIC 🖼️&lt;/p&gt;

&lt;p&gt;APIC — Advanced Image Processing Center is a Windows desktop application built around one idea:&lt;/p&gt;

&lt;p&gt;Give me the image. I'll handle the boring stuff.&lt;/p&gt;

&lt;p&gt;Instead of jumping between applications, APIC puts common image workflows into one workspace.&lt;/p&gt;

&lt;p&gt;The boring stuff APIC handles&lt;/p&gt;

&lt;p&gt;🖼️ Edit&lt;br&gt;
🔄 Convert&lt;br&gt;
📦 Compress&lt;br&gt;
🔍 Search&lt;br&gt;
🖱️ Drag &amp;amp; Drop&lt;br&gt;
⌨️ Keyboard workflows&lt;/p&gt;

&lt;p&gt;It supports formats including PNG, JPG, JPEG, WEBP, BMP, TIFF, GIF, ICO, HEIC and AVIF.&lt;/p&gt;

&lt;p&gt;But the features weren't actually the hardest part.&lt;/p&gt;

&lt;p&gt;The real problem was architecture.&lt;/p&gt;

&lt;p&gt;Adding another button is easy.&lt;/p&gt;

&lt;p&gt;Adding another workflow without breaking three existing workflows?&lt;/p&gt;

&lt;p&gt;Not so easy. 😅&lt;/p&gt;

&lt;p&gt;That's why APIC evolved into a modular application where different parts of the system handle different responsibilities.&lt;/p&gt;

&lt;p&gt;The result is a desktop tool that can keep growing without every new feature becoming a potential disaster.&lt;/p&gt;

&lt;p&gt;🔒 Why local?&lt;/p&gt;

&lt;p&gt;Because an image-processing application doesn't always need your images going somewhere else.&lt;/p&gt;

&lt;p&gt;APIC is designed around local processing, keeping the workflow on your machine.&lt;/p&gt;

&lt;p&gt;No uploading an image just to perform a basic operation.&lt;/p&gt;

&lt;p&gt;⚡ The end goal&lt;/p&gt;

&lt;p&gt;I don't want APIC to become another gigantic piece of software with 500 buttons nobody uses.&lt;/p&gt;

&lt;p&gt;I want it to do something much simpler:&lt;/p&gt;

&lt;p&gt;Take the annoying image task out of your way.&lt;/p&gt;

&lt;p&gt;Open APIC.&lt;/p&gt;

&lt;p&gt;Drop your image.&lt;/p&gt;

&lt;p&gt;Do the thing.&lt;/p&gt;

&lt;p&gt;Move on.&lt;/p&gt;

&lt;p&gt;🧪 Want to test that idea?&lt;/p&gt;

&lt;p&gt;I've released the current Windows build.&lt;/p&gt;

&lt;p&gt;Download APIC:&lt;br&gt;
&lt;a href="https://github.com/Akhouri-Anmol-Kumar/APIC/releases/download/APIC/APIC.zip" rel="noopener noreferrer"&gt;https://github.com/Akhouri-Anmol-Kumar/APIC/releases/download/APIC/APIC.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Extract it and run it.&lt;/p&gt;

&lt;p&gt;Then give it your most annoying image-processing task.&lt;/p&gt;

&lt;p&gt;If APIC handles it well, tell me what you did.&lt;/p&gt;

&lt;p&gt;If it doesn't, tell me what broke.&lt;/p&gt;

&lt;p&gt;Both answers are useful. 👇&lt;/p&gt;

&lt;h1&gt;
  
  
  APIC
&lt;/h1&gt;

&lt;p&gt;"We Build What Others Forgot To Fix"&lt;/p&gt;

</description>
      <category>python</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
