<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Coder Legion - Recent posts tagged side-project</title>
<link>https://coderlegion.com/tag/side-project</link>
<description>Powered by Question2Answer</description>
<item>
<title>How Old Do I Look? – Free AI Age Detecto</title>
<link>https://coderlegion.com/25161/how-old-do-i-look-free-ai-age-detecto</link>
<description>&lt;p&gt;How Old Do I Look? – A Free AI Age Detector&lt;/p&gt;
&lt;p&gt;I recently built HowOldDoILook.app, a simple AI tool that estimates how old you look from a photo.&lt;/p&gt;
&lt;p&gt;The idea is pretty straightforward: upload a selfie or portrait, let the AI analyze the visible facial features, and get an estimated age within seconds.&lt;/p&gt;
&lt;p&gt;I wanted to make the experience as frictionless as possible, so there is:&lt;/p&gt;
&lt;p&gt;No sign-up&lt;br&gt;
No app to download&lt;br&gt;
Free to use&lt;br&gt;
Works directly in the browser&lt;br&gt;
Photos are not stored&lt;br&gt;
Instant AI age estimates&lt;/p&gt;
&lt;p&gt;One thing I found interesting while building it is how much the result can change depending on the photo. Lighting, facial expression, camera angle, image quality, and even shadows can make the same person appear younger or older.&lt;/p&gt;
&lt;p&gt;So besides being a fun little AI experiment, it can also be interesting to compare different photos of yourself and see what affects your perceived age.&lt;/p&gt;
&lt;p&gt;The results are obviously AI estimates rather than your actual biological or chronological age, so the tool is meant primarily for entertainment.&lt;/p&gt;
&lt;p&gt;I'd love to hear feedback from other developers — especially around the UX, accuracy of the results, and anything that could make the tool more fun or useful.&lt;/p&gt;
&lt;p&gt;👉 Try it here: &lt;a rel=&quot;nofollow&quot; href=&quot;https://howolddoilook.app/&quot;&gt;How Old Do I Look?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you try a couple of different photos, let me know how much the estimated age changes!&lt;/p&gt;
</description>
<category>Launches</category>
<guid isPermaLink="true">https://coderlegion.com/25161/how-old-do-i-look-free-ai-age-detecto</guid>
<pubDate>Sun, 23 Aug 2026 06:00:40 +0000</pubDate>
</item>
<item>
<title>Daily Dle games</title>
<link>https://coderlegion.com/24163/daily-dle-games</link>
<description>&lt;p&gt;Wordle turned one small daily puzzle into a habit for millions of people, and the genre it started kept growing. There are now hundreds of games built on the same shape: one puzzle a day, the same puzzle for everyone, free in a browser, finished in a few minutes. The suffix stuck, so the community calls them dle games, and DLE is often read as daily logic exercise.&lt;/p&gt;
&lt;p&gt;Finding the good ones is where it falls apart. &lt;code&gt;/dle-games&lt;/code&gt; is my answer to that. It lists 31 dle games across six categories, with a search box, a difficulty tag on every entry, and real player quotes on every entry that has any.&lt;/p&gt;
&lt;p&gt;It is live at &lt;a rel=&quot;nofollow&quot; href=&quot;https://pooplegame.com/dle-games&quot;&gt;Dle Games&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;the-problem-with-dle-directories-today&quot;&gt;The problem with dle directories today&lt;/h3&gt;
&lt;p&gt;I surveyed eight of them before building this. When I counted in July, Seekdle listed around 1,000 games, Alldle claimed over 1,000, DleList sat near 900, DLES.gg near 850, and DLE.Games over 500. They work fine as inventories, and they all hit the same wall: each entry is a name, an icon, and a link. Volume is the easy half of a directory. Deciding which game to open tomorrow morning is the half that takes work, and a wall of 1,000 links pushes that work back onto the reader.&lt;/p&gt;
&lt;p&gt;This one goes the other way. Every listed game was opened and played before it was written up. Each description comes from the game's own copy and from playing a round, rather than from another directory's summary. Every player quote is pulled from a real thread and linked back to its source. Thirty-one entries is a deliberate ceiling for now.&lt;/p&gt;
&lt;p&gt;One disclosure up front, since it changes how you should read the list: I build Poople, a daily word ladder, and it sits in the Word Ladder category as the featured entry. The other 30 games belong to other people and link straight out.&lt;/p&gt;
&lt;h3 id=&quot;what-is-in-it&quot;&gt;What is in it&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Six categories, 31 games.&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Category &lt;/th&gt;&lt;th&gt;Games &lt;/th&gt;&lt;th&gt;What it covers&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Word Ladder &lt;/td&gt;&lt;td&gt;2 &lt;/td&gt;&lt;td&gt;Change one letter at a time to reach a target word&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Letter Guessing &lt;/td&gt;&lt;td&gt;6 &lt;/td&gt;&lt;td&gt;Colored-tile feedback, from one board up to sixteen&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Word Puzzles &lt;/td&gt;&lt;td&gt;5 &lt;/td&gt;&lt;td&gt;Grouping, anagrams, letter grids, semantic distance&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Logic &amp;amp; Science &lt;/td&gt;&lt;td&gt;6 &lt;/td&gt;&lt;td&gt;Equations, deduction grids, the tree of life&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Geography &lt;/td&gt;&lt;td&gt;6 &lt;/td&gt;&lt;td&gt;Countries, flags, capitals, food origins&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Trivia &amp;amp; Media &lt;/td&gt;&lt;td&gt;6 &lt;/td&gt;&lt;td&gt;Films, songs, video games, redacted articles&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;A difficulty tag on every entry.&lt;/strong&gt; Two are easy, 18 are medium, 8 are hard, and 3 are very hard. The tag sits right on the card, so you can pick by how much brain you have left today.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ninety-eight real player quotes.&lt;/strong&gt; Twenty-seven of the 31 entries carry quotes from actual players. Twenty-nine come from Hacker News threads, and the rest from Apple App Store reviews, Reddit, GameSpot, Engadget, Tom's Guide, and a handful of forums. Every quote links back to where it was said, and the critical ones stayed in, including two complaints about my own game. Four entries carry no quotes at all, because nothing verifiable turned up, and those cards say so instead of filling the space.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Search that runs in your browser.&lt;/strong&gt; Typing matches against the game title, the write-up, and the category name at once. A search for &quot;map&quot; returns MapTap by name and Globle: Capitals by description, so the box still works when you remember the mechanic rather than the title.&lt;/p&gt;
&lt;h3 id=&quot;a-typical-visit-looks-like-this&quot;&gt;A typical visit looks like this&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;You land on the page and see six category sections in order, each with a short description of the mechanic.&lt;/li&gt;
&lt;li&gt;You tap Geography, and the list drops to six games.&lt;/li&gt;
&lt;li&gt;Or you skip the chips entirely and type into the search box, which reads the write-ups as well as the titles.&lt;/li&gt;
&lt;li&gt;You hit Details on a card to read the full description and the sourced player quotes, complaints included.&lt;/li&gt;
&lt;li&gt;You hit Play. External games open in a new tab, and Poople opens in place.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;There is no account, no sign-up wall, and no step where the page asks for an email before it shows you the list.&lt;/p&gt;
&lt;h3 id=&quot;how-a-game-gets-in&quot;&gt;How a game gets in&lt;/h3&gt;
&lt;p&gt;The bar is the four traits above: a daily reset, the same puzzle worldwide, free in a browser, and one clear win condition. On top of that it has to be worth two honest sentences.&lt;/p&gt;
&lt;p&gt;The most recent batch is a fair sample of what that filter does in practice. I started from a list of 49 domains and shipped 10. Every domain was actually loaded, including a headless browser pass for the single-page apps that hand &lt;code&gt;curl&lt;/code&gt; an empty shell. Here is what got cut:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Eight were already listed.&lt;/strong&gt; One of those was the same game running on a second domain.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Five were year channels of one game.&lt;/strong&gt; Heardle Decades runs 70s, 80s, 90s, 00s, and 20s on separate subdomains. Those five collapse into a single entry.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Eleven failed the dle test.&lt;/strong&gt; A dictionary, an encyclopedia, a chess platform, two newspapers, a game-length database. rngdle was the interesting call: it updates daily and it ends in -dle, and it rolls a random number with no reasoning step, so it stayed out.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Four were multi-game portals.&lt;/strong&gt; A portal does not get a card. Individual games inside one can, which is why Connections deep links into the NYT games section and Songless deep links into lessgames.com.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The 13 that passed the filter and still missed this round are written down with a reason each, so the next batch starts from a list instead of from scratch.&lt;/p&gt;
&lt;h3 id=&quot;stack-notes-for-the-engineers-in-the-room&quot;&gt;Stack notes for the engineers in the room&lt;/h3&gt;
&lt;p&gt;Next.js 15 with the App Router, deployed to Cloudflare through OpenNext, with the page on a one-hour ISR revalidate. Copy and translations run through next-intl.&lt;/p&gt;
&lt;p&gt;Every game is a typed TypeScript module, one file per game, and the &lt;code&gt;category&lt;/code&gt; field is typed against the union of the six real category slugs. A typo in a category name fails the build rather than quietly rendering an empty section. Search and filtering are two &lt;code&gt;useMemo&lt;/code&gt; passes over that array, one to filter and one to group by category in the declared order. At 31 entries there is no network round trip and no need for a debounce.&lt;/p&gt;
&lt;p&gt;Two details took longer than expected.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Keeping outbound links crawlable.&lt;/strong&gt; The full write-up and the reviews live in a modal, and it would have been easy to put the outbound link in there too. Each card keeps its own anchor in the DOM instead, so the outbound links are still there for a crawler that never clicks anything. Those anchors carry &lt;code&gt;rel=&quot;nofollow noopener&quot;&lt;/code&gt; plus a &lt;code&gt;ref&lt;/code&gt; query parameter, so the destination site can see where the traffic came from in its own logs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The repeated-label problem.&lt;/strong&gt; &quot;Details&quot; and &quot;Play&quot; appear on all 31 cards. As DOM text, those two words outranked the actual subject of the page in word frequency, which is a strange way to lose to yourself. They now render through CSS &lt;code&gt;content: attr(data-label)&lt;/code&gt;, with the accessible name preserved on &lt;code&gt;aria-label&lt;/code&gt;, so screen readers still announce each button while the body copy reads like a page about dle games.&lt;/p&gt;
&lt;p&gt;Structured data is one JSON-LD &lt;code&gt;@graph&lt;/code&gt;: WebSite, Organization, WebPage, an ItemList of all 31 games, the FAQ block, and the breadcrumb trail.&lt;/p&gt;
&lt;p&gt;On the roadmap: more batches, which will probably push the category count past six, and a small JSON endpoint for the directory so people can build their own lineup trackers and streak dashboards on top of it. That endpoint does not exist yet.&lt;/p&gt;
&lt;h3 id=&quot;price&quot;&gt;Price&lt;/h3&gt;
&lt;p&gt;Free, no account, nothing to install. That goes for the directory and for Poople.&lt;/p&gt;
&lt;h3 id=&quot;try-it&quot;&gt;Try it&lt;/h3&gt;
&lt;p&gt;The directory is at &lt;a rel=&quot;nofollow&quot; href=&quot;https://pooplegame.com/dle-games&quot;&gt;https://pooplegame.com/dle-games&lt;/a&gt;, and Poople itself is at &lt;a rel=&quot;nofollow&quot; href=&quot;https://pooplegame.com&quot;&gt;https://pooplegame.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Two things I would genuinely like to hear. First, which dle games are actually in your daily rotation, because the ones people stick with are rarely the ones with the biggest search volume. Second, for the developers here, would a JSON endpoint of the directory be worth building, or is that a solution looking for a problem? Missing games and bad difficulty calls are both fair game in the comments.&lt;/p&gt;
</description>
<category>Launches</category>
<guid isPermaLink="true">https://coderlegion.com/24163/daily-dle-games</guid>
<pubDate>Wed, 05 Aug 2026 15:10:05 +0000</pubDate>
</item>
<item>
<title>A Platform That Hosts and Showcases GitHub Repositories for Developers</title>
<link>https://coderlegion.com/10161/a-platform-that-hosts-and-showcases-github-repositories-for-developers</link>
<description>&lt;p&gt;While planning to build a website to showcase my own software projects, I decided to expand the idea and create a community-driven platform. On this platform, not only my projects but also GitHub repositories from other developers can be shared and promoted.&lt;/p&gt;
&lt;p&gt;The main purpose of this platform is to allow developers to showcase their GitHub repositories through my website. Users will be able to submit their repository links, and I will provide a form of hosting and exposure for these projects. This way, repositories can reach a wider audience and be collected in a single central place.&lt;/p&gt;
&lt;p&gt;Each project will have its own dedicated page, including a project description, used technologies, tags, GitHub links, and optional screenshots. Visitors will be able to easily explore projects, filter them by categories, and quickly find what interests them.&lt;/p&gt;
&lt;p&gt;This system also aims to support open-source culture. By sharing their projects, developers can receive feedback, attract contributors, and gain more visibility and stars on GitHub.&lt;/p&gt;
&lt;p&gt;In conclusion, this platform will serve as a showcase where developers can present their work, discover new projects, and interact with the community. By hosting and promoting GitHub repositories, the website aims to create a strong and collaborative space for developers.&lt;/p&gt;
&lt;p&gt;By Ömür Eymen Öztürk | Github:EymenOzt&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/10161/a-platform-that-hosts-and-showcases-github-repositories-for-developers</guid>
<pubDate>Wed, 21 Jan 2026 10:25:56 +0000</pubDate>
</item>
<item>
<title>Grocery Store App</title>
<link>https://coderlegion.com/10046/grocery-store-app</link>
<description>&lt;p&gt; Grocery Store Management App (v1.1.1)&lt;/p&gt;
&lt;p&gt;A grocery/store management application developed using Python and Tkinter, featuring a clean and user-friendly interface.&lt;br&gt;
Includes product management, cart operations, and order history.&lt;br&gt;
 If you like the project, please leave a ⭐ star on the repository!&lt;/p&gt;
&lt;p&gt; YouTube Demo Video:&lt;br&gt;
 Watch the YouTube video to see how the application works.&lt;/p&gt;
&lt;p&gt;Your feedback and improvement suggestions are highly appreciated &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;By Ömür Eymen Öztürk | GitHub: EymenOzt&lt;/strong&gt;&lt;/p&gt;
</description>
<category>Launches</category>
<guid isPermaLink="true">https://coderlegion.com/10046/grocery-store-app</guid>
<pubDate>Tue, 20 Jan 2026 11:58:25 +0000</pubDate>
</item>
<item>
<title>Grocery Store Management App | Python GUI Project (Open Source)</title>
<link>https://coderlegion.com/10047/grocery-store-management-app-python-gui-project-open-source</link>
<description>&lt;p&gt;By Ömür Eymen Öztürk | Github:EymenOzt&lt;/p&gt;
&lt;p&gt; Download the application:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.mediafire.com/file/hvq19ka5liopet3/Grocery_Store_v.1.1.1.rar/file&quot;&gt;https://www.mediafire.com/file/hvq19ka5liopet3/Grocery_Store_v.1.1.1.rar/file&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; Open Source GitHub Repository:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/EymenOzt/Grocery_Store_Management_V1.1&quot;&gt;https://github.com/EymenOzt/Grocery_Store_Management_V1.1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;️ VirusTotal Scan:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.virustotal.com/gui/file/9cdd7163390bf1e777d926e5ab11595adb75d7bb8d37794c06380a835d25e5b7/detection&quot;&gt;https://www.virustotal.com/gui/file/9cdd7163390bf1e777d926e5ab11595adb75d7bb8d37794c06380a835d25e5b7/detection&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video, I introduce my Grocery Store Management application developed using Python and Tkinter.&lt;/p&gt;
&lt;p&gt;This project is designed to simulate a small grocery store system with a clean and user-friendly GUI. It is suitable for beginners who want to learn Python GUI development and basic data management.&lt;/p&gt;
&lt;p&gt; Features:&lt;br&gt;
Add and delete products&lt;br&gt;
Search products easily&lt;br&gt;
Add/remove items from cart&lt;br&gt;
Complete shopping and save order history&lt;br&gt;
JSON-based data storage&lt;br&gt;
Modern Tkinter GUI layout&lt;/p&gt;
&lt;p&gt;This project is fully open source. Feel free to explore the code, suggest new features, or contribute!&lt;/p&gt;
&lt;p&gt;If you like Python, GUI apps, or beginner-friendly projects, don’t forget to like and subscribe &lt;/p&gt;
</description>
<category>Videos</category>
<guid isPermaLink="true">https://coderlegion.com/10047/grocery-store-management-app-python-gui-project-open-source</guid>
<pubDate>Tue, 20 Jan 2026 11:57:53 +0000</pubDate>
</item>
<item>
<title>ShipWithAI #10 — Accept Stripe Payments in 4 Steps (MVP-Ready)</title>
<link>https://coderlegion.com/7081/shipwithai-10-accept-stripe-payments-in-4-steps-mvp-ready</link>
<description>&lt;p&gt;Get subscription payments working in your side project without building custom checkout flows.&lt;/p&gt;
&lt;p&gt;Steps:&lt;/p&gt;
&lt;p&gt;• Embed Stripe's pricing table component with your user's ID as client_reference_id and their email&lt;/p&gt;
&lt;p&gt;• Set up checkout.session.completed webhook to capture subscription_id and link it to your user in your database&lt;/p&gt;
&lt;p&gt;• Listen to customer.subscription.created, updated, and deleted webhooks to keep local subscription status in sync&lt;/p&gt;
&lt;p&gt;• Add Stripe's customer portal link so users can manage their own subscriptions, upgrades, and cancellations&lt;/p&gt;
&lt;p&gt;Gotchas:&lt;/p&gt;
&lt;p&gt;• Skipping client_reference_id breaks everything—you won't know which user owns which subscription&lt;/p&gt;
&lt;p&gt;• Don't query Stripe's API on every request to check subscription status—maintain a local copy instead&lt;/p&gt;
&lt;p&gt;Do this today:&lt;/p&gt;
&lt;p&gt;• Copy Stripe's pricing table script into your app and pass user ID + email&lt;/p&gt;
&lt;p&gt;• Create one webhook endpoint for checkout.session.completed&lt;/p&gt;
&lt;p&gt;• Store subscription_id with your user record when checkout completes&lt;/p&gt;
&lt;p&gt;Full guide → &lt;a rel=&quot;nofollow&quot; href=&quot;https://shipwithai.substack.com/p/add-stripe-payments-in-4-steps-mvp?utm_source=linkedin&amp;amp;utm_medium=legion_newsletter&amp;amp;utm_campaign=20251108&quot;&gt;https://shipwithai.substack.com/p/add-stripe-payments-in-4-steps-mvp?utm_source=linkedin&amp;amp;utm_medium=legion_newsletter&amp;amp;utm_campaign=20251108&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/7081/shipwithai-10-accept-stripe-payments-in-4-steps-mvp-ready</guid>
<pubDate>Sat, 08 Nov 2025 09:40:24 +0000</pubDate>
</item>
<item>
<title>ShipWithAI #9 — Validate Your Side Project Idea in 30 Minutes</title>
<link>https://coderlegion.com/6108/shipwithai-9-validate-your-side-project-idea-in-30-minutes</link>
<description>&lt;p&gt;Make sure your next AI side project is worth building before you write a single line of code.&lt;/p&gt;
&lt;p&gt;Steps:&lt;/p&gt;
&lt;p&gt;• Write down your idea — even one sentence is enough.&lt;/p&gt;
&lt;p&gt;• Score it across 10 factors: urgency, market size, pricing, CAC, delivery cost, uniqueness, speed to market, upfront investment, upsell potential, and evergreen potential.&lt;/p&gt;
&lt;p&gt;• Let AI generate scores and short explanations for each factor.&lt;/p&gt;
&lt;p&gt;• Review the total score (out of 100) and read the AI’s summary.&lt;/p&gt;
&lt;p&gt;• Compare several ideas using the same framework to spot your strongest one.&lt;/p&gt;
&lt;p&gt;• Use the results to decide: pivot, refine, or start building.&lt;/p&gt;
&lt;p&gt;Gotchas:&lt;/p&gt;
&lt;p&gt;• Don’t skip evaluation and jump straight into coding — it wastes time.&lt;/p&gt;
&lt;p&gt;• Don’t rely on gut feeling alone; structured scoring gives clarity.&lt;/p&gt;
&lt;p&gt;Do this today:&lt;/p&gt;
&lt;p&gt;• Pick one idea you’ve been thinking about.&lt;/p&gt;
&lt;p&gt;• Run it through the 10-factor evaluation prompt.&lt;/p&gt;
&lt;p&gt;• Use the total score to decide if it’s worth pursuing.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://shipwithai.substack.com/p/10-ways-to-evaluate-your-ideas-potentialeven?utm_source=linkedin&amp;amp;utm_medium=legion_newsletter&amp;amp;utm_campaign=20251006&quot;&gt;Full guide →&lt;/a&gt;&lt;/p&gt;
</description>
<category>AI</category>
<guid isPermaLink="true">https://coderlegion.com/6108/shipwithai-9-validate-your-side-project-idea-in-30-minutes</guid>
<pubDate>Mon, 06 Oct 2025 07:39:25 +0000</pubDate>
</item>
<item>
<title>Built a youtube video downloader tool, to download YouTube videos directly from CLI</title>
<link>https://coderlegion.com/5792/built-a-youtube-video-downloader-tool-to-download-youtube-videos-directly-from-cli</link>
<description>&lt;p&gt;The ytconverter repository, maintained by kaifcodec, is a Python-based project dedicated to provide a tool for converting YouTube videos into various formats. Given its 100% Python composition, it likely leverages popular libraries and frameworks within the Python ecosystem to handle video downloading, format conversion, metadata handling&lt;/p&gt;
&lt;p&gt;Github &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/kaifcodec/ytconverter&quot;&gt;Click to get into the repo&lt;/a&gt;&lt;/p&gt;
</description>
<category>Command Line Tools</category>
<guid isPermaLink="true">https://coderlegion.com/5792/built-a-youtube-video-downloader-tool-to-download-youtube-videos-directly-from-cli</guid>
<pubDate>Tue, 30 Sep 2025 02:51:20 +0000</pubDate>
</item>
<item>
<title>4 Steps To Make Any Feature Production Ready With AI</title>
<link>https://coderlegion.com/5449/4-steps-to-make-any-feature-production-ready-with-ai</link>
<description>&lt;p&gt;Stop wrestling with bloated AI prompts and build features users actually want.&lt;br&gt;
Steps:&lt;br&gt;
• Build the MVP: Create core functionality with basic data models and CRUD operations&lt;br&gt;
• Enhance with validation: Add input checks, error handling, and user experience improvements&lt;br&gt;
• Expand capabilities: Add related features like editing, deleting, or notifications within the same scope&lt;br&gt;
• Refine the polish: Improve UI/UX, mobile responsiveness, and visual consistency for production&lt;/p&gt;
&lt;p&gt;Gotchas:&lt;br&gt;
• Don't try to build everything at once—AI works best with focused, incremental tasks&lt;br&gt;
• Avoid expanding beyond one feature per cycle or you'll break unrelated code&lt;/p&gt;
&lt;p&gt;Do this today:&lt;br&gt;
• Pick one feature idea and write down the core user scenario in one sentence&lt;br&gt;
• Define the absolute minimum version (just the essential action)&lt;br&gt;
• Create a simple data model with 3-4 fields maximum&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://shipwithai.substack.com/p/hold-my-beer-4-steps-to-make-any?utm_source=linkedin&amp;amp;utm_medium=legion_newsletter&amp;amp;utm_campaign=20250918&quot;&gt;Full guide&lt;/a&gt;&lt;/p&gt;
</description>
<category>AI</category>
<guid isPermaLink="true">https://coderlegion.com/5449/4-steps-to-make-any-feature-production-ready-with-ai</guid>
<pubDate>Thu, 18 Sep 2025 18:36:46 +0000</pubDate>
</item>
<item>
<title>I built a free tool to practice the hardest part of coding interviews: choosing the right algorithm</title>
<link>https://coderlegion.com/4996/built-free-tool-practice-the-hardest-part-coding-interviews-choosing-the-right-algorithm</link>
<description>&lt;h3 id=&quot;beyond-implementation-i-built-a-tool-to-master-algorithm-selection-for-coding-interviews&quot;&gt;Beyond Implementation: I Built a Tool to Master Algorithm Selection for Coding Interviews&lt;/h3&gt;
&lt;p&gt;Every developer who has prepared for a technical interview knows the routine: grind through problems, practice implementing sorting algorithms from scratch, and try to wrap your head around dynamic programming. But there’s a crucial step that often gets less attention than it deserves: the moment you read a problem and have to decide which algorithm to use in the first place.&lt;/p&gt;
&lt;p&gt;This is where the real challenge often lies. It’s not just about knowing how to write a BFS traversal; it’s about recognizing that a problem asking for the &quot;shortest path in an unweighted graph&quot; is a signal to use BFS. This pattern-matching skill is what separates a good candidate from a great one.&lt;/p&gt;
&lt;p&gt;To address this specific gap, I built &lt;strong&gt;Think2Algo&lt;/strong&gt;, a web platform designed to train that exact &quot;algorithmic intuition.&quot;&lt;/p&gt;
&lt;h4 id=&quot;the-problem-from-how-to-which-&quot;&gt;The Problem: From &quot;How&quot; to &quot;Which&quot;&lt;/h4&gt;
&lt;p&gt;While practicing, I found myself getting stuck not on the implementation details but on the initial decision-making. I’d see a problem and think, &quot;Should this be solved with a sliding window, or is it a two-pointers problem? Is this a classic case for backtracking?&quot; The cost of choosing the wrong path is significant, both in an interview and in real-world development.&lt;/p&gt;
&lt;p&gt;I realized what I needed was a way to practice this diagnostic step in isolation. I didn't want to just solve another problem; I wanted to build a mental map that connected problem types to algorithmic solutions.&lt;/p&gt;
&lt;h3 id=&quot;the-solution-think2algo&quot;&gt;The Solution: Think2Algo&lt;/h3&gt;
&lt;p&gt;Think2Algo is an interactive learning tool that flips the script. Instead of asking you to code a solution immediately, it presents you with a problem and forces you to first select the most appropriate algorithm. It’s a &quot;flashcard&quot; system for high-level problem-solving.&lt;/p&gt;
&lt;p&gt;The core workflow is simple:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Read a typical interview-style problem.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Analyze its constraints and requirements.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose the most suitable algorithm from a list.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Get immediate feedback on your choice, along with a detailed&lt;br&gt;
explanation of why a particular algorithm is the best fit.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This process helps reinforce the patterns, keywords, and signals associated with each algorithm, making the selection process faster and more accurate over time.&lt;/p&gt;
&lt;h4 id=&quot;key-features&quot;&gt;Key Features&lt;/h4&gt;
&lt;p&gt;To support this learning model, I built out a few core features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Interactive Challenges:&lt;/strong&gt; A collection of problems where the primary goal is to match the problem to the right algorithm, complete&lt;br&gt;
with difficulty levels.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Detailed Algorithm Guides:&lt;/strong&gt; For each algorithm, there’s a dedicated page explaining what it is, its Big O complexity, and—most&lt;br&gt;
importantly—a &quot;When to Use It&quot; section with common keywords and&lt;br&gt;
problem types.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Code Templates:&lt;/strong&gt; Once you've made the connection, you can view clean, commented code templates in both Python and JavaScript to see&lt;br&gt;
the implementation.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bilingual Support:&lt;/strong&gt; The entire platform is available in both English and Portuguese to reach a wider audience.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For those interested in the technical side, the project was a great opportunity to work with a modern web stack:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Framework:&lt;/strong&gt; Next.js (using the App Router)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Language:&lt;/strong&gt; TypeScript&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UI:&lt;/strong&gt; React&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Styling:&lt;/strong&gt; Tailwind CSS with ShadCN for UI components&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Internationalization (i18n):&lt;/strong&gt; React Context API to manage language state.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The focus was on creating a clean, fast, and fully responsive user interface that works seamlessly on both desktop and mobile devices.&lt;/p&gt;
&lt;h4 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h4&gt;
&lt;p&gt;Building Think2Algo was a rewarding experience. It helped me solidify my own understanding of algorithms and create a tool that I hope can help other developers bridge the gap between theory and application.&lt;/p&gt;
&lt;p&gt;I would appreciate any feedback from the CoderLegion community.&lt;/p&gt;
&lt;p&gt;You can try out the live version here: &lt;a rel=&quot;nofollow&quot; href=&quot;https://think2algo.vercel.app/&quot;&gt;https://think2algo.vercel.app/&lt;/a&gt;&lt;/p&gt;
</description>
<category>Frontend Dev</category>
<guid isPermaLink="true">https://coderlegion.com/4996/built-free-tool-practice-the-hardest-part-coding-interviews-choosing-the-right-algorithm</guid>
<pubDate>Mon, 25 Aug 2025 19:58:10 +0000</pubDate>
</item>
</channel>
</rss>