Just shipped something I'm genuinely proud of, I call it AlgoTracker I've always struggled to truly understand Big O Notation just by reading about it. So I built a visual tool to help me see it in action. What it does: Linear Search O(N) and Binary Search O(log N) Selection Sort and Insertion Sort O(N²) A time complexity graph that runs each algorithm, measures how long it takes, and compares them visually based on input size A step-by-step visualizer so you can watch exactly how data gets sorted or searched The time complexity graph is my favourite feature, you can literally see which algorithm is faster as you increase the data size. Built it using Recharts for the graph visuals. This project started as a learning tool for myself, but I think it could help any developer who learns better by seeing rather than just reading. Live demo: https://lnkd.in/djuGe-tJ GitHub: https://lnkd.in/dmrribMi Built with React · Tailwind CSS v4 · Recharts · Node.js #webdeveloper #javascript #react #buildinpublic #opensource
More Relevant Posts
-
JavaScript 𝗮𝗿𝗿𝗮𝘆𝘀 come with powerful built-in methods, but I used to just 𝗺𝗲𝗺𝗼𝗿𝗶𝘇𝗲 them. Things changed when I understood one simple idea Each method solves a specific kind of problem. For example, 𝗳𝗼𝗿𝗘𝗮𝗰𝗵() lets you run a function on every element: const numbers = [1, 2, 3, 4]; numbers.𝗳𝗼𝗿𝗘𝗮𝗰𝗵(num => console.log(num * 2)); // Output: 2 4 6 8 Instead of reading more, I built a small project 🎯 𝗔𝗿𝗿𝗮𝘆 𝗠𝗲𝘁𝗵𝗼𝗱𝘀 𝗘𝘅𝗽𝗹𝗼𝗿𝗲𝗿 Click a number Try different methods See what actually happens 🌐 Live Demo: https://lnkd.in/gNyt8cqT 💻 Code: https://lnkd.in/gUV5R5rs 💡 What it covers: • 𝗽𝘂𝘀𝗵() / 𝗽𝗼𝗽() → add/remove (end) • 𝘀𝗵𝗶𝗳𝘁() / 𝘂𝗻𝘀𝗵𝗶𝗳𝘁() → add/remove (start) • 𝗺𝗮𝗽() → transform • 𝗳𝗶𝗹𝘁𝗲𝗿() → select • 𝗿𝗲𝗱𝘂𝗰𝗲() → combine • 𝗳𝗼𝗿𝗘𝗮𝗰𝗵() → iterate ✨ Biggest takeaway: Stop memorizing methods. Start thinking: “𝗪𝗵𝗮𝘁 𝗱𝗼 𝗜 𝘄𝗮𝗻𝘁 𝘁𝗼 𝗱𝗼 𝘄𝗶𝘁𝗵 𝗺𝘆 𝗱𝗮𝘁𝗮?” A big thank you to Sheryians Coding School, Harsh Vandana Sharma, Ankur Prajapati, Sarthak Sharma for the guidance and inspiration 🙌 Built using HTML, CSS & JavaScript 🚀 #JavaScript #WebDevelopment #LearnByBuilding #Frontend #ArraysInJs #Arrays #JavaScriptMastery #LearnByAction
To view or add a comment, sign in
-
Built a LeetCode Stats Tracker using HTML, CSS & JavaScript! I recently worked on a mini project where I created a LeetMetric Dashboard that allows users to: 🔍 Enter a LeetCode username 📊 Fetch problem-solving stats (Easy / Medium / Hard) 🎯 Display results in a clean circular progress UI 💡 What I learned during this project: Handling API requests (fetch) in JavaScript Dealing with real-world issues like CORS errors & unstable APIs Debugging common mistakes (DOM selection, string handling, etc.) Improving UI using CSS flexbox & conic-gradient ⚠️ Biggest challenge: Public APIs were not reliable, so I had to switch approaches and understand how real APIs and browser restrictions work. ✨ This project helped me move from just writing code → to actually debugging like a developer 🛠️ Tech Stack: HTML | CSS | JavaScript 📌 Next step: Planning to add animations, better UI, and more detailed stats! #JavaScript #WebDevelopment #Frontend #Coding #LearningByDoing #100DaysOfCode
To view or add a comment, sign in
-
Day 09 (Project) : Fetching Real-World Data with JavaScript! 🌐💾 I’m excited to share my latest project—a dynamic "User Data List" application built with HTML, CSS, and JavaScript! This project was a deep dive into how modern web applications communicate with external servers. Key features of this project: • 📡 Fetch API: Implemented asynchronous requests to retrieve user information from a REST API. • ⏳ Loading State: Added a "Loading..." indicator to improve user experience while data is being fetched. • 📊 Dynamic Table Generation: Used JavaScript to iterate through the retrieved data and populate a clean, organized HTML table. • 🎨 Responsive UI: Designed a simple and intuitive interface for seamless data viewing. Mastering the Fetch API is a major step in my journey toward building full-stack applications. It’s amazing to see how a few lines of code can connect a webpage to a world of data! #JavaScript #WebDevelopment #FetchAPI #CodingJourney #FrontendDeveloper #Programming #TechSkills #LearningByDoing #Amarjeet Sir Gravity Coding
To view or add a comment, sign in
-
🚀 map() vs. forEach(): Do you know the difference? The Hook: One of the first things we learn in JavaScript is how to loop through arrays. But using the wrong method can lead to "hidden" bugs that are a nightmare to fix. 🛑 🔍 The Simple Difference: ✅ .map() is for Creating. Use it when you want to take an array and turn it into a new one (like doubling prices or changing names). It doesn't touch the original data. ✅ .forEach() is for Doing. Use it when you want to "do something" for each item, like printing a message in the console or saving data to a database. It doesn't give you anything back. 💡 Why should you care? 1. Clean Code: .map() is shorter and easier to read. 2. React Friendly: Modern frameworks love .map() because it creates new data instead of changing the old data (this is called Immutability). 3. Avoid Bugs: When you use .forEach() to build a new list, you have to create an empty array first and "push" items into it. It’s extra work and easy to mess up! ⚡ THE CHALLENGE (Test your knowledge! 🧠) Look at the image below. Most developers get this wrong because they forget how JavaScript handles "missing" returns. What do you think is the output? A) [4, 6] B) [undefined, 4, 6] C) [1, 4, 6] D) Error Write your answer in the comments! I’ll be replying to see who got it right. 👇 #JavaScript #JS #softwareEngineer #CodingTips #LearnToCode #Javascriptcommunity #Programming #CleanCode #CodingTips
To view or add a comment, sign in
-
-
Life evolves and so do the universe, evolution doesn’t stops in the trajectory of frontend where we as developers generalise new enhancements. A precisely intriguing feature of JavaScript arrived recently Temporal API which is explained below: 🚀 ✨JavaScript’s Temporal API finally deposes the flawed Date object, introducing a robust, immutable engine for time-series data. It eliminates "off-by-one" month errors and complex millisecond math with dedicated types like PlainDate and ZonedDateTime. Developers can now handle Daylight Saving Time transitions and IANA time zones natively without bulky external libraries. Its built-in comparison methods and duration arithmetic bring long-awaited precision to complex scheduling logic. This shift signifies a leap toward human-readable code that respects the nuances of global calendars. Say goodbye to Moment.js—the future of JavaScript time is type-safe, scalable, and standardized. The Magic in Action: The Magic in Action: ✨ // Adding 1 month to Jan 31st no longer "overflows" into March! 🏗️ const jan31 = Temporal.PlainDate.from('2026-01-31'); 🧪 const nextMonth = jan31.add({ months: 1 }); 📟 console.log(nextMonth.toString()); 💡 // Result: "2026-02-28" (Smart & Precise) #JavaScript #WebDev #Coding #TemporalAPI #SoftwareEngineering
To view or add a comment, sign in
-
6 days ago I made a post on: 📌 "Something i figured in JavaScript today that A.I code misinterprets." I am about to share that now, pay close attention. As a developer using JavaScript, this is in connecting with the scopes of JavaScript. The Scope of JavaScript refers to the visibility of variable and functions within a program of codes. Which are: 1. Global scope: this variable is visible anywhere in the javascript program. 2. Function scope: this is a variable created when a function is declared and it's variable and functions are only visible withing that function. A sample of it is: Function funName(){ var fs = "..." alert (fs); console.log(fs); } funName(); Now looking at this, A.I codes misinterprets the function scopes and genrate codes that carries just global scopes or even most times Interchange function scopes with global scopes when giving a variable function. 📌 The risk of this common error in our program will not appear at the beginning of the project but during debugging and code maintenance. Wonder why JavaScript bugs gives you sleepless nights? This is one of the main reasons. This is a call for developers and vibe coders to learn the intimate differences between GLOBAL SCOPE VARIABLES and FUNCION SCOPE VARIABLES. You A.I JavaScript code can cause you harm later if you do not learn this earlier. 📌 A.I. frequently misunderstands Hoisting and the Temporal Dead Zone (TDZ) when creating nested functions. It often defaults to legacy var logic within closure loops (because the bulk of the training data still uses it) rather than modern let/const for block scoping. It optimizes for visual syntax, not runtime safety. Automation without technical intuition creates technical debt. Want more daily strategy from the cutting edge of web infrastructure? connect with snow works #WorksTechnology #JavaScriptMastery #CodingArchitecture #AIPerformance #TechnicalIntuition #WebArchitecture #SoftwareDesign #WebDevStrategy
To view or add a comment, sign in
-
-
𝗪𝗵𝗮𝘁'𝘀 𝗗𝗧𝗢𝘀 𝗶𝗻 𝗡𝗲𝘀𝘁 𝗷𝘀 In NestJS, a 𝗗𝗧𝗢 (Data Transfer Object) is an object that defines how data is sent over the network. Think of it as a contract or a blueprint that specifies exactly what data a client (like a mobile app or a browser) must send to your server. While DTOs are a general software pattern, NestJS uses them powerfully to handle validation and type safety. 𝟭. 𝗪𝗵𝘆 𝗱𝗼 𝘄𝗲 𝘂𝘀𝗲 𝗗𝗧𝗢𝘀? Without a DTO, your application wouldn't know if the incoming data is correct. If a user tries to register but sends a "username" as a number instead of a string, your database might crash. DTOs help prevent this by: 𝗩𝗮𝗹𝗶𝗱𝗮𝘁𝗶𝗼𝗻: Ensuring the data has the right format, length, and type. 𝗗𝗮𝘁𝗮 𝗧𝗿𝗮𝗻𝘀𝗳𝗼𝗿𝗺𝗮𝘁𝗶𝗼𝗻: Stripping away unwanted data that the client shouldn't be sending (e.g., trying to set their own isAdmin status). 𝗧𝘆𝗽𝗲 𝗦𝗮𝗳𝗲𝘁𝘆: Providing IntelliSense and auto-completion in your code so you know exactly what properties exist on the request body. 𝟮. 𝗖𝗹𝗮𝘀𝘀𝗲𝘀 𝘃𝘀. 𝗜𝗻𝘁𝗲𝗿𝗳𝗮𝗰𝗲𝘀 In NestJS, it is highly recommended to use Classes for DTOs rather than Interfaces. 𝗜𝗻𝘁𝗲𝗿𝗳𝗮𝗰𝗲𝘀 are removed during JavaScript compilation, meaning NestJS cannot check them at runtime. 𝗖𝗹𝗮𝘀𝘀𝗲𝘀 are preserved in the final code, allowing NestJS to use Pipe validation to check data as it arrives. #Programming #BackendDevelopment #TypeScript #NestJS
To view or add a comment, sign in
-
💡 JavaScript Essentials for Every Developer: Map vs Set While preparing for DSA rounds and real-world problem solving, I revisited two powerful JavaScript data structures — Set and Map. Sharing a quick breakdown 👇 🔹 Set Stores only unique values Automatically removes duplicates Useful for: Removing duplicates from arrays Checking existence efficiently (O(1)) Example: const unique = [...new Set([1,2,2,3])]; // [1,2,3] 🔹 Map Stores key-value pairs Keys can be of any type Maintains insertion order Useful for: Fast lookups Counting frequency Problems like Two Sum Example: const map = new Map(); map.set("a", 1); map.set("b", 2); ⚔️ Set vs Map Set → Only values (no duplicates) Map → Key → Value mapping 🚀 Where I see them used most: Set → Sliding window problems, uniqueness checks Map → Caching, indexing, and optimization problems 🎯 Takeaway: Understanding when to use Map vs Set can significantly improve both performance and code clarity. If you're preparing for interviews — don’t skip these! #JavaScript #FrontendDevelopment #DSA #React #WebDevelopment #CodingInterview
To view or add a comment, sign in
-
🚀 Understanding Factory Functions in JavaScript Ever felt confused using constructors and the new keyword? 🤔 That’s where Factory Functions make life easier! 👉 A Factory Function is simply a function that creates and returns objects. 💡 Why use Factory Functions? ✔️ No need for new keyword ✔️ Easy to understand (perfect for beginners) ✔️ Avoids this confusion ✔️ Helps in writing clean and reusable code ✔️ Supports data hiding using closures 🧠 Example: function createUser(name, age) { return { name, age, greet() { console.log("Hello " + name); } }; } const user = createUser("Sushant", 21); user.greet(); ⚠️ One downside: Methods are not shared (can use more memory) 🎯 Conclusion: Factory Functions are a great way to start writing clean and maintainable JavaScript code without complexity. #JavaScript #WebDevelopment #FrontendDeveloper #CodingJourney #LearnToCode #100DaysOfCode
To view or add a comment, sign in
-
-
🟨 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗗𝗮𝘆 𝟱𝟱: 𝗥𝗲𝗳𝗲𝗿𝗲𝗻𝘁𝗶𝗮𝗹 𝗜𝗻𝘁𝗲𝗴𝗿𝗶𝘁𝘆 (𝗪𝗵𝘆 𝗬𝗼𝘂𝗿 𝗥𝗲𝗮𝗰𝘁 𝗖𝗼𝗺𝗽𝗼𝗻𝗲𝗻𝘁 𝗥𝗲-𝗿𝗲𝗻𝗱𝗲𝗿𝘀) Sometimes your React component re-renders… even when the data looks the same. 🔹 𝗧𝗵𝗲 𝗣𝗿𝗼𝗯𝗹𝗲𝗺 𝗜 𝗙𝗮𝗰𝗲𝗱 I had a useEffect running again and again, even though the value wasn’t changing. 🔹 𝗧𝗵𝗲 𝗖𝗼𝗿𝗲 𝗥𝗲𝗮𝘀𝗼𝗻 In JavaScript, objects and arrays are compared by reference, not value. const a = { value: 10 }; const b = { value: 10 }; console.log(a === b); // false Even though values are same → references are different. 🔹 𝗧𝗵𝗲 𝗥𝗲𝗮𝗰𝘁 𝗕𝗲𝗵𝗮𝘃𝗶𝗼𝗿 React relies on shallow comparison in: • useEffect dependency array • React.memo • useCallback / useMemo const data = { value: 10 }; useEffect(() => { console.log("Runs every render!");* }, [data]); Here: • data is recreated on every render • new reference each time • effect keeps running → 🔁 🔹 𝗢𝗻𝗲 𝗪𝗮𝘆 𝘁𝗼 𝗙𝗶𝘅 𝗜𝘁 const data = useMemo(() => ({ value: 10 }), []); Now: • reference is stable • effect runs only when needed ✅ 🔹 𝗞𝗲𝘆 𝗧𝗮𝗸𝗲𝗮𝘄𝗮𝘆 React doesn’t check deep equality — it checks references. Same value ≠ same reference. 💬 GitHub example in the comments. #JavaScript #React #Frontend #100DaysOfCode #Day55
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development