Hey, I’m KLKA đź‘‹

I love building projects, hacking on ideas, and writing about what I learn.
These are my personal blogs called Misslogs. Check out my portfolio too!

Getting 80% Battery Limit Working on My Acer Aspire 5 (Fedora Atomic & CachyOS)

One of the first things I configure on any laptop is an 80% battery charging limit. Lithium-ion batteries generally last longer when they aren’t kept at 100% charge all the time. Since my laptop spends most of its life plugged in, limiting charging to around 80% helps reduce long-term battery wear. On Windows, Acer exposes this feature through Acer Care Center. Linux, however, doesn’t provide a standard interface for controlling battery charge thresholds on most Acer laptops, even though the hardware itself supports it. ...

April 26, 2026 Â· 6 min Â· KLKA

Flask-Mail SMTP Timeout on Render

The Problem I was building an OTP verification system using Flask and Flask-Mail. Everything worked perfectly on my local machine. But after deploying to Render, every time I hit: POST /v1.2/api/send-otp I got: [CRITICAL] WORKER TIMEOUT Worker was sent SIGKILL! And the request returned a 500 error. The Logs That Helped The important part of the traceback was: host = smtplib.SMTP(self.mail.server, self.mail.port) socket.create_connection(...) sock.connect(sa) SystemExit: 1 This told me something critical: ...

February 19, 2026 Â· 2 min Â· KLKA

CommitFill: Filling GitHub Contribution Gaps the Right Way

Sometimes projects don’t have to solve a serious problem — they just need to be fun, a little bit cursed, and technically interesting. I recently built a small web app CommitFill where a user can select arbitrary dates, hit submit, and the app will automatically create Git commits on those exact dates. Those commits then appear on the GitHub contribution graph like they were made back in time. Yes — it’s basically time travel for commits 🕰️ ...

February 2, 2026 Â· 2 min Â· KLKA

How I Optimized My First Hackathon Project on Render

During my first hackathon, I built a project hosted on Render. I was excited to get it working quickly, so I used Supabase for everything — database, authentication, even storing media. It worked… but it was slow and sometimes unreliable. After the hackathon, I optimized it so the project could stay online, recover from Render’s file deletions, and run much faster. 🚩 The Original Setup Supabase Database stored all app data plus media files (images, uploads). Render hosted the app, but free-tier instances delete local files regularly. Because every read/write hit Supabase, queries felt sluggish. Storing media in the DB made things even heavier. 🔧 The Optimizations 1. Dual Database Setup I introduced SQLite as the primary DB (fast local reads/writes). Supabase DB remained the source of truth + persistent backup. I wrote a script that: Detects when Render deletes the local SQLite file. Pulls fresh data from Supabase. Recreates a new SQLite database from it. 👉 Result: SQLite gives speed, Supabase ensures persistence, and the script automatically heals the system when Render wipes local files. ...

August 26, 2025 Â· 3 min Â· KLKA