💭 During my LeetCode grind, I ran into a real problem… You keep solving problems daily… but after a few days, you can’t even remember what you solved. No proper way to revise, no clean tracking, nothing structured. So I started looking for tools that could help me track my submissions… but honestly, I found nothing that actually solved this properly. Then I went hunting for APIs 👀 I came across a few options — but they had issues: • Strict rate limits • Not reliable enough for real projects • Not scalable if a user has a lot of submissions None of them felt “production-ready”. Finally, I dug deeper and reached the LeetCode GraphQL API… It was powerful — but not straightforward. Still, I decided to build on top of it and make it usable. And that’s how this came to life 👇 ✨ LeetTrack — a simple LeetCode progress tracker 🔗 https://lnkd.in/dPJYR32Z 🚀 What it does: • 📅 Revision Mode → revisit problems from any date range • 📊 Clean dashboard to actually see your progress • 📌 Easy / Medium / Hard breakdown • 🧾 Recent submissions, properly structured ⚡ Zero friction: • No login required • Just enter your username and start instantly ⚙️ How it works: • Fetches your latest 20 submissions initially (API limitation) • Then keeps auto-syncing in the background • Builds your own personal dataset over time 🛠️ Built using: • Backend: Pure Java + MongoDB • Frontend: Next.js + Tailwind CSS • Deployment: Render + Vercel 📌 Code : Frontend Repo: https://lnkd.in/dJCejDSw Backend Repo: https://lnkd.in/daiNFrf3 Built this to solve a real problem I personally faced — simple, useful, and no unnecessary complexity. If you’re grinding LeetCode, this might actually help you stay consistent 👇 Would love your feedback 🙌 #LeetCode #FullStack #Java #NextJS #WebDevelopment #CodingJourney #Projects
LeetCode Progress Tracker: LeetTrack
More Relevant Posts
-
Every junior developer goes through a phase where they want to rewrite everything in the hot new framework. I've been there. "This would be so much cleaner in Rust." "We should migrate to Next.js." "Why aren't we using X yet?" Here's what nobody tells you about stack migrations: the code is the easy part. The hard part is all the institutional knowledge baked into the old system that nobody wrote down. The edge cases the current team doesn't even remember handling. The three lines of config that prevent a production incident every quarter. I ship projects in Rust, TypeScript, and Python — sometimes all three in the same service. Not because I can't pick a lane, but because each one solves a specific problem well. The trick isn't finding the perfect stack. It's knowing when a tool has genuinely run out of road vs. when you're just bored. Before you rewrite, ask yourself: am I solving a real technical constraint, or am I chasing novelty? Both are valid reasons, but only one actually ships. #webdev #developer
To view or add a comment, sign in
-
The most dangerous programmer you will ever meet is "You, six months ago." I recently had to go back to some complex API logic I wrote about half a year ago. I stared at the screen and had only one question: “Who wrote this? And what were they thinking?” We always promise ourselves that we’ll optimize, document, and clean things up "later." But in production, "later" is just a polite way of saying "never." We focus so much on making the system fast for the end-user, that we forget to make it sustainable for the developer. When I look at backend codebases now, whether Node.js or TypeScript. I don't just see requests and responses. I see debt. To stop that debt from crashing our productivity, I’ve adopted a "Future-Self First" philosophy: 1️⃣ Comments explain 'Why,' not 'What'. count += 1 // Increment count is useless. // This uses a local count to avoid locking the distributed DB row on every hit is useful. Future-Me needs to know the rationale for the weird logic I had to implement. 2️⃣ Naming is the best documentation. It takes five extra seconds to rename a variable from temp_id to pending_user_activation_uuid. It saves an hour of debug time six months from now. 3️⃣ Refactor before the feature is "done." If I see a messy nested if/else block, I refactor it before opening the PR. Because I know once I merge it, I will never touch it again. 4️⃣ Tests are "specifications," not just "checks." I don’t just write tests to get to 80% coverage. I write tests so that when I change a library or upgrade a framework in two years, I know exactly what I’m about to break. Good engineering isn’t just about writing code that a computer can understand today. It’s about writing code that a human can maintain tomorrow. Be kind to your future self. Write the code they would be proud of. How do you make sure your code remains maintainable for your team (or yourself) a year from now? Let me know in the comments. 👇 #softwareengineering #backend #cleancode #productivity #developerlife #nodejs #typescript
To view or add a comment, sign in
-
-
🚀 Skill Boosters — Notes #6: Struggling to understand how Node.js handles multiple requests? Let’s simplify it 👇 Link: https://lnkd.in/ebN-Cdmy In Node.js, everything revolves around a few powerful concepts: 👉 Event Loop 👉 Single Thread 👉 Asynchronous Programming 👉 Event-Driven Architecture 💡 Here’s the magic: Node.js is single-threaded, yet it can handle thousands of users at the same time. How? Because it doesn’t wait. 🔄 Event Loop Think of it as a manager that keeps checking: “Is the main thread free?” “Yes? Let’s execute the next task.” ⚡ Async > Sync Instead of blocking: ✔ Sends heavy tasks (API, DB, file) to background ✔ Continues handling other requests ✔ Comes back when task is done 🧵 Single Thread ≠ Slow Node.js uses: 👉 Single thread for execution 👉 + Background threads (libuv) for heavy work 🎧 Event-Driven System Everything is based on events: Request comes → event triggered Task completes → callback executed 🔥 Real Power This combination makes Node.js: ✔ Fast ✔ Scalable ✔ Perfect for APIs & real-time apps 💭 One Line Takeaway: 👉 Node.js= Single Thread + Event Loop + Async = High Performance Backend If you're building backend systems, mastering this is a game changer. 💬 What confused you the most about Node.js earlier? Event loop or async? #NodeJS #BackendDevelopment #JavaScript #WebDevelopment #SystemDesign #Programming
To view or add a comment, sign in
-
-
🚀 Discovering the Secrets of Migrating to TypeScript in Node.js Projects In the world of backend development, the transition to languages with strict typing can transform the efficiency and maintainability of the code. Recently, we explored how a W-Code team implemented TypeScript in an existing Node.js project, addressing common challenges and reaping tangible benefits. 💡 Key Benefits of Strict Typing - 🔹 Improves early error detection during development, reducing runtime bugs by up to 40%. - 🔹 Facilitates collaboration in large teams, with safer autocompletion and refactoring in editors like VS Code. - 🔹 Speeds up onboarding for new developers by making the code more readable and predictable. ⚙️ Practical Steps for Implementation - 🔹 Start with a gradual configuration: set up tsconfig.json for JS compatibility and migrate files module by module. - 🔹 Integrate tools like ESLint and Prettier to maintain consistency, and use DefinitelyTyped for external libraries. - 🔹 Test thoroughly with Jest or Mocha adapted to TS, monitoring the impact on build performance. 🔒 Challenges and Solutions Found - 🔹 Handling legacy dependencies: convert dynamic types to explicit interfaces to avoid unnecessary overhead. - 🔹 Performance optimization: use ts-node for development and transpile to pure JS in production with tools like Babel. - 🔹 Scalability: in large projects, adopt monorepos with Lerna or Yarn Workspaces to manage the migration without interruptions. This approach not only elevates the quality of the software but also prepares the ground for future expansions, such as integration with frameworks like NestJS. For more information, visit: https://enigmasecurity.cl If this content inspired you, consider donating to the Enigma Security community to continue supporting with more technical news: https://lnkd.in/er_qUAQh Connect with me on LinkedIn to discuss more about backend development: https://lnkd.in/eXXHi_Rr #NodeJS #TypeScript #SoftwareDevelopment #Backend #Programming #TechTips 📅 Wed, 15 Apr 2026 08:43:47 GMT 🔗Subscribe to the Membership: https://lnkd.in/eh_rNRyt
To view or add a comment, sign in
-
-
🚀 Discovering the Secrets of Migrating to TypeScript in Node.js Projects In the world of backend development, the transition to languages with strict typing can transform the efficiency and maintainability of the code. Recently, we explored how a W-Code team implemented TypeScript in an existing Node.js project, addressing common challenges and reaping tangible benefits. 💡 Key Benefits of Strict Typing - 🔹 Improves early error detection during development, reducing runtime bugs by up to 40%. - 🔹 Facilitates collaboration in large teams, with safer autocompletion and refactoring in editors like VS Code. - 🔹 Speeds up onboarding for new developers by making the code more readable and predictable. ⚙️ Practical Steps for Implementation - 🔹 Start with a gradual configuration: set up tsconfig.json for JS compatibility and migrate files module by module. - 🔹 Integrate tools like ESLint and Prettier to maintain consistency, and use DefinitelyTyped for external libraries. - 🔹 Test thoroughly with Jest or Mocha adapted to TS, monitoring the impact on build performance. 🔒 Challenges and Solutions Found - 🔹 Handling legacy dependencies: convert dynamic types to explicit interfaces to avoid unnecessary overhead. - 🔹 Performance optimization: use ts-node for development and transpile to pure JS in production with tools like Babel. - 🔹 Scalability: in large projects, adopt monorepos with Lerna or Yarn Workspaces to manage the migration without interruptions. This approach not only elevates the quality of the software but also prepares the ground for future expansions, such as integration with frameworks like NestJS. For more information, visit: https://enigmasecurity.cl If this content inspired you, consider donating to the Enigma Security community to continue supporting with more technical news: https://lnkd.in/evtXjJTA Connect with me on LinkedIn to discuss more about backend development: https://lnkd.in/ex7ST38j #NodeJS #TypeScript #SoftwareDevelopment #Backend #Programming #TechTips 📅 Wed, 15 Apr 2026 08:43:47 GMT 🔗Subscribe to the Membership: https://lnkd.in/eh_rNRyt
To view or add a comment, sign in
-
-
Most production bugs I’ve seen around environment variables aren’t caused by missing values. They’re caused by misunderstanding what environment variables actually are. A few things that have burned teams I know: - Environment variables are an OS primitive. Every process gets a flat key-value copy of its parent’s environment. A copy, not a reference. What your child process changes, your parent never sees. - Your .env file does nothing on its own. Something has to read it. And most tools, including dotenv, will NOT overwrite a variable that already exists. So if your shell profile already exports DATABASE_URL, your .env is silently ignored. This is probably the most common “works on my machine” culprit. - Docker starts with a clean slate. It does not inherit your shell environment. If you’re not explicitly passing variables with -e or –env-file, the container doesn’t know they exist. - React’s process.env is not real runtime config. The bundler replaces every reference with a literal string at build time. That value is now hardcoded in the JavaScript your users download. If you put a secret in REACT_APP_anything or NEXT_PUBLIC_anything, it is not a secret anymore. - Build time and runtime are fundamentally different. A frontend bundle bakes values in at build time. An Express server reads the actual process environment when it starts. You can change a backend variable and restart. You cannot do that with a bundled frontend without rebuilding. Deleted a committed secret in the next commit? The key is still in git history. git show will find it. The only fix is to rotate the credential. The mental model that fixes most of this: secrets always runtime, never build time, never committed to source code. #SoftwareEngineering #DevOps #WebDevelopment #BackendDevelopment #JavaScript #Docker #NodeJS #EngineeringLeadership
To view or add a comment, sign in
-
-
🚨 I thought TypeScript was overrated… until I realized I was using it wrong At first — I loved it. Then — I hated it. Now — I finally understand it. When I started using TypeScript in real projects, it felt like things got worse: harder to read harder to maintain more friction than value For a long time I thought: 👉 “TypeScript is overhyped and makes real projects worse.” I was wrong. 💡 The turning point I joined a project where TypeScript just worked. Clean. Readable. Predictable. That’s when I realized: The problem wasn’t TypeScript. The problem was how we used it. ❌ What went wrong 1. Types mixed with logic Huge inline types + deep destructuring = unreadable code 👉 Extract types. Name things. 2. Types as API contract Works only in fullstack TS (e.g. Next.js) 👉 Otherwise: types ≠ runtime validation 3. Fake type safety any, as, @ts-ignore everywhere 👉 At that point TS becomes decoration 4. Mindset issues Blaming JS for no types while praising Python for the same thing 👉 leads to inconsistent decisions ✅ What I believe now TypeScript is just a tool. Used well: ✔ reduces bugs ✔ improves readability Used poorly: 👉 slows you down and adds complexity 🔑 The real lesson TypeScript doesn’t fix architecture. It amplifies it. What was your journey with TypeScript? #typescript #javascript #react #frontend #webdevelopment #softwareengineering #programming #cleanCode #architecture #developers
To view or add a comment, sign in
-
𝗜 𝘀𝗽𝗲𝗻𝘁 𝟯 𝗵𝗼𝘂𝗿𝘀 𝗱𝗲𝗯𝘂𝗴𝗴𝗶𝗻𝗴 𝗔𝗻𝗴𝘂𝗹𝗮𝗿. 𝗧𝗵𝗲 𝗽𝗿𝗼𝗯𝗹𝗲𝗺 𝘄𝗮𝘀 𝗮 𝘀𝗶𝗻𝗴𝗹𝗲 𝘄𝗼𝗿𝗱: 𝗮𝗻𝘆. 🤦♂️ TypeScript evangelist on my team. Told juniors to "always type everything." Then I did this: // ❌ "Just for now" — famous last words getUserData(): any { return this.http.get('/api/user'); } - "Just for now" became 4 months of 𝗮𝗻𝘆 quietly spreading through the codebase like a virus. - No errors. No warnings. Just TypeScript politely stepping aside while I shot myself in the foot. - The bug? A backend team renamed 𝘂𝘀𝗲𝗿.𝗳𝘂𝗹𝗹𝗡𝗮𝗺𝗲 to 𝘂𝘀𝗲𝗿.𝗳𝘂𝗹𝗹_𝗻𝗮𝗺𝗲. TypeScript should've screamed. Instead, it shrugged — because any told it to stay out. - We found it in production. Via a client email. // ✅ What "just for now" should actually look like interface User { id: number; full_name: string; email: string; } getUser(): Observable<User> { return this.http.get<User>('/api/user'); } -Now if the backend changes that field — TypeScript breaks the build before it breaks the client. 𝗧𝗵𝗲 𝗿𝗲𝗮𝗹 𝗹𝗲𝘀𝘀𝗼𝗻: 𝗮𝗻𝘆 isn't a type. It's a debt you take on with zero interest rate — until suddenly it compounds all at once. The worst bugs aren't the ones TypeScript catches. They're the ones you told TypeScript to ignore. 💬 𝗛𝗼𝘄 𝗺𝗮𝗻𝘆 𝗮𝗻𝘆 𝘁𝘆𝗽𝗲𝘀 𝗮𝗿𝗲 𝗵𝗶𝗱𝗶𝗻𝗴 𝗶𝗻 𝘆𝗼𝘂𝗿 𝗰𝗼𝗱𝗲𝗯𝗮𝘀𝗲 𝗿𝗶𝗴𝗵𝘁 𝗻𝗼𝘄? 𝗕𝗲 𝗵𝗼𝗻𝗲𝘀𝘁. 𝗡𝗼𝗯𝗼𝗱𝘆'𝘀 𝗷𝘂𝗱𝗴𝗶𝗻𝗴. #TypeScript #Angular #Frontend #WebDevelopment #CleanCode #SoftwareEngineering
To view or add a comment, sign in
-
Your agent writes better TypeScript than Go. Here's why that might not matter. Models generate code based on what they saw during training. JS/TS dominates GitHub and Stack Overflow by volume. Every frontier model scores best on JS/TS. Go has decent but noticeably smaller representation. Agents writing Go get the happy path right, but routinely produce subtle concurrency bugs: goroutine leaks, unbuffered channel deadlocks, error wrapping that compiles fine but loses the sentinel value. But training data is only one dimension. There are others that pull in the opposite direction. Go's verbosity turns out to help. `if err != nil { return err }` is so uniform across codebases that agents reproduce it perfectly. TypeScript has throw, Result types, error-first callbacks, .catch chains, try/catch with async/await. More flexibility, more room for inconsistency. Agents writing Go default to goroutines because concurrency is the path of least resistance. Agents writing Node default to sequential code. The language shapes the architecture the agent produces. I've been thinking about this for a while and wrote up my thoughts. Link in the first comment. #CodingAgents #GoLang #TypeScript #DevTools #SoftwareEngineering
To view or add a comment, sign in
-
I'm currently focusing on my backend journey 🚀 No fancy designs for now just logic, APIs, and making things actually work. Today I built a Color Scheme Generator from scratch using vanilla JavaScript. It connects to a real API, fetches live data, and displays a full color palette on the page. Small project. Big lesson. I learned: → How to call an external API with fetch() → How async/await works and why it matters → How to dynamically create and update the DOM → How to read API documentation and use it Every project teaches me something new — and I'm just getting started. 🔗 GitHub: https://lnkd.in/dVxnrRWU #JavaScript #Backend #100DaysOfCode #WebDevelopment #Learning
To view or add a comment, sign in
Explore related topics
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