🚀 Just shipped something I'm really proud of!
Meet Production Planner — a full-stack Auto Planning & Scheduling web app I built from scratch to solve a real-world problem. 👇
💡 The Problem:
Manufacturing teams waste hours every week on manual production planning — tracking inventory, calculating orders, scheduling machines. It's repetitive, error-prone, and slow.
⚙️ The Solution I Built:
📊 Real-time Dashboard with daily insights
📦 Product & Inventory Management
⚠️ Low Stock Alerts — never run out again
📈 Auto-generate Demand Forecasts
🗂️ Smart Production Order creation
🗓️ Machine-wise Schedule generation
🔧 Full Machine Management module
One platform. Zero manual planning. ✅
🛠️ Tech Stack:
» 🟢 Node.js + Express.js — robust REST backend
» 🍃 MongoDB — flexible NoSQL database
» 🎨 Vanilla CSS — clean, custom styling from scratch
» 📄 EJS Templates — dynamic server-side rendering
» ☁️ Vercel — seamless deployment
No fancy frameworks. Just solid fundamentals — and I loved every bit of it.
This project taught me how to think like a product engineer, not just a developer — designing flows, structuring data models, and building something that actually solves a real problem.
👉 Live Demo: https://lnkd.in/gBeY6i4z
I'd love your feedback — what would you add or improve? Drop it in the comments! 👇🙌
Thank you!
#webdevelopment#fullstackdeveloper#nodejs#expressjs#mongodb#ejs#vanillacss#javascript#sideproject#programming#tech#vercel#softwareengineering
Hello everyone, welcome back. This is Kapil Gupta. So today I want to talk about a project I recently built and honestly, it's the one I'm pretty proud of. It's called a production planner and automatic production Planning and scheduling System. Now, before you think this sounds boring, the problem it solves is actually really interesting. Imagine you're running a garment factory. You have got products, machines, workers, and deadlines. Every single week someone has to sit down and figure out how much do we produce, when do we produce it, and which machine handles which order. Most small factories still do this manually using a spreadsheet, gas work, phone calls, etc. I built a system. It does all of that automatically. So the system has three core components. Each one feeds into the next. First, it forecasts demand. It looks at past sale and predicts how much you'll need next month. Second, it plans production. It checks your current stock and finds the gap and automatically creates production order. Third, it's scheduled those order across your machine. It decide which machine runs which job and at which time. 3 steps, fully automated end to end. The take state is not just with X space on the back end. MongoDB has the databases and ejs templates for the front end with a clean dark Navy glass morphism UI. But honestly, the most interesting part of this project isn't the text, it's the algorithm implemented inside it. Let's start with forecasting. I used a three period moving average algorithm. It sounds fancy, but it's beautifully simple. You take cells from the last three months, add them up, and divide by three. That's your forecast. So if I solve 120 units in June, 114 July, and 113 August, my September forecast is 130 unit or sum divided by three. Now here's a small detail I really like solving. I used the ceiling function when rounding. If the average comes out to 129.7, round up to 130. You always round up. And the system is also gracefully degrading. If a product only has two months of history, it averages those two. It doesn't place. It works with whatever data is available. Once we have the forecast, the next step is figuring out how much to actually produce. This is called net requirement planning. The logic is simple. Net requirement equals forecast quantity, what you already have in store. So if I need 130 unit next month and I already have 30 in my warehouse, I only need to produce 100 if I already had 200 in each stock and net quantity is negative, meaning I have more than enough, the system escaped the product entirely. Knowing necessary production now here's a design decision I am proud of. My system has multiple size variant for product is small, large, medium, each with its own scale. But instead of generating 4 separate production order for 4 sizes, the system groups them all into one single production order for that product. Because that's how real factories work. You run one page for the whole product, not 4 separate machine job. The system mirrors actually factory logic, not just textbook logic. Now my favorite part, Scheduling. You have got production order, you have got machine. Now how do you decide which order goes to which which machine and when? I implemented the earliest due date algorithm, also called as AD. It's a classic form of operational search. The idea is simple, sort all pending orders by their deadline. Earliest deadline goes first always. Then assign each order to whichever machine is free the soonest. And after every assignment add a 15 minute buffer before the next joke for setup, cleaning, configuration and all the real world stuff textbooks ignore. Now why did he specifically? Because it's mathematically proven to minimize maximize lateness. Out of all possible scheduling sequences, EDT guarantees the one where your worst case LED delivery as the smallest possible. That's not just a heuristic, that's a proven result from scheduling theory. The system also has a real time dashboard. Text shows total products, low stock alert, pending orders at a glance. There's a machine module where you can add machines shared shift capacity and toggle them offline. If a machine breaks down you mark it offline and the scheduler automatically redistribute everything so the remaining machine and there's utilization based code showing each machines load percentage labeled as idle, normal height or over schedule. So a manager instantly knows if they're running the floor efficiently. So to wrap it up all. You define your products and inventory the system forecast demands, calculate net requirement, generate production order, schedule them across machine using add and gives your live dashboard to monitor everything. What used to take of pack trip planner hours every week, this system does in second. The GitHub link is in the description. You can clone it, run on one seat command and have the whole thing running in under 5 minutes. If you enjoyed this, hit the like button, subscribe for more projects like this and drop your question in the comments. I read everything, thanks for watching. See you in the.
🚀 Introducing SparesMaster — and here's the honest story behind it.
A full-stack web application for managing machine spare parts inventory. No bloated frameworks. No external database servers. Just clean, production-grade engineering.
🔧 What is it?
SparesMaster helps industrial maintenance teams track, monitor, and optimize their spare parts inventory in real time. Live dashboards, smart reorder alerts, urgency scoring, and demand estimation. All in one place. All blazing fast.
💻 What I actually built:
→ A Node.js + Express.js REST API with full CRUD, rate limiting, and structured error handling
→ An embedded SQLite database (zero config — no PostgreSQL, no MySQL headaches)
→ A TypeScript frontend compiled to vanilla JS, clean CSP-compliant SPA architecture
→ An Optimization Engine with 6 features: reorder suggestions, urgency scoring, criticality rankings, demand estimation, days-to-stockout projection, and grouped alerts
→ Production-hardened with Helmet.js security headers, Winston logging, and Morgan HTTP logging
→ Deployed live on Render with persistent disk support for SQLite
🤝 Real talk about teamwork:
Building this with a partner taught me more than any solo project ever could.
We split ownership clearly. I took the backend API and optimization engine while my partner handled the frontend architecture and UI design system.
We used GitHub not just for version control, but as our actual communication layer.
The hard part? Syncing on decisions mid-build. We constantly asked: "does this API response shape work for what you're rendering on the frontend?" That back-and-forth made us both better engineers.
⚡ What I learned:
→ SQLite is wildly underrated for project-scale apps
→ TypeScript catches bugs before they embarrass you in production
→ Naming your commit messages well is an act of kindness to future you
→ Clean API design is only half the job — documentation is the other half
🔗 Links:
GitHub → https://lnkd.in/gHBZeyBS
Live App → https://lnkd.in/gPDyJKcN
Demo Video → https://lnkd.in/g9h4jPFF#BuildingInPublic#WebDevelopment#NodeJS#FullStack#TypeScript#SQLite#ExpressJS#OpenSource#StudentDeveloper#LPU#SoftwareEngineering#100DaysOfCode#JavaScript#BackendDevelopment
𝗖𝘂𝗿𝘀𝗼𝗿 𝘃𝘀 𝗢𝗳𝗳𝘀𝗲𝘁 𝗣𝗮𝗴𝗶𝗻𝗮𝘁𝗶𝗼𝗻 𝗪𝗵𝘆 𝗬𝗼𝘂𝗿 𝗔𝗣𝗜 𝗡𝗲𝗲𝗱𝘀 𝗮𝗻 𝗨𝗽𝗴𝗿𝗮𝗱𝗲
If you're still using offset pagination…
your API might already be slowing down
Offset Pagination (The Old Way)
𝘎𝘌𝘛 /𝘶𝘴𝘦𝘳𝘴?𝘱𝘢𝘨𝘦=3&𝘭𝘪𝘮𝘪𝘵=10
Looks simple, but:
• Gets slower as data grows
• Can return duplicate or missing records
• Breaks when data updates in real-time
Cursor Pagination (The Upgrade)
𝘎𝘌𝘛 /𝘶𝘴𝘦𝘳𝘴?𝘤𝘶𝘳𝘴𝘰𝘳=𝘢𝘣𝘤123
Instead of pages, it uses a reference point (cursor).
Why Cursor Pagination Wins
• Faster queries (no row skipping)
• Consistent results
• Scales to millions of records
• Perfect for feeds, chats, notifications
If you're building:
Infinite scroll
Notifications
Real-time apps
𝗢𝗳𝗳𝘀𝗲𝘁 𝗽𝗮𝗴𝗶𝗻𝗮𝘁𝗶𝗼𝗻 𝗶𝘀 𝗮 𝗯𝗮𝗱 𝗰𝗵𝗼𝗶𝗰𝗲.
Final Thought
Offset pagination is easy.
Cursor pagination is what production systems use.
If your app is growing…
this upgrade is not optional anymore.
#Backend#API#SystemDesign#WebDevelopment#Scalability#NodeJS#Database#SoftwareEngineering#NestJS#ExpressJS#FullStack#Frontend#Angular#ReactJS#Microservices#DistributedSystems#CloudComputing#Performance#AI#AIAgents#AIEngineering#WebArchitecture#RemoteWork#TechJobs#Developers#Coding
🚀 Recently built something that felt less like a “project” and more like a real product.
There were moments I questioned if I was doing it right… but I kept going
Behind every feature, there were hours of confusion, retries, and learning 👍
Introducing InsightFlow — a full stack data visualization platform designed to simulate how modern applications handle and present business data.
Tech Stack:
⚛️ React.js 🟢 Node.js + Express 🗄️ MongoDB 📊 Chart.js
📌 Key Features:
• Interactive dashboard with dynamic data
• API-driven architecture
• Clean and responsive UI
• Real-time-like data updates
• Structured backend for scalability
Challenges along the way:
• State management got messy
At one point, my React state had more mood swings than me on a Monday morning 🙂
• Debugging took longer than expected
Spent hours fixing an issue… turned out to be a small API route mistake.
• Making data meaningful
Displaying data is easy. Making it useful and intuitive took real effort.
• Frontend ↔ Backend sync issues
When everything works individually… but not together 😅
💡 What I learned:
This wasn’t just about building an app — it was about building patience.
Worked with RESTful API design using Node.js and Express, focusing on clean routing and modular backend structure. Gained hands-on experience with MongoDB for schema design and optimized CRUD operations. Strengthened skills in asynchronous data handling and seamless frontend–backend integration. Also improved debugging practices and implemented data visualization to present insights effectively.
Not every day was productive, but every day taught me something.
Behind every feature, there were hours of confusion, debugging, and small wins.
This project wasn’t perfect — but it was progress.
And honestly, that’s what matters the most.
#FullStackDeveloper#ReactJS#NodeJS#WebDevelopment#SoftwareEngineering#BuildInPublic
🚀 How I Optimize Performance in ReactJS (Senior Developer Approach)
After working on large-scale apps like dashboards, data grids, and enterprise systems, I’ve learned one thing:
👉 Performance is not about tricks… it’s about strategy + measurement.
Here’s my real-world approach 👇
---
🔍 1. Don’t guess — Measure first
Before optimizing anything:
React DevTools Profiler
Chrome Performance tab
Lighthouse
👉 Find actual bottlenecks, not assumptions
---
⚡ 2. Control Re-Renders
Unnecessary re-renders = biggest performance killer
✔️ Use React.memo for pure components
✔️ Use useCallback for stable functions
✔️ Use useMemo for expensive calculations
👉 Optimize only where needed (overuse can backfire)
---
📦 3. Reduce Bundle Size
Large bundle = slow load
✔️ Code splitting (React.lazy)
✔️ Dynamic imports
✔️ Remove unused libraries
👉 Faster initial load = better UX
---
📊 4. Handle Large Data Efficiently
Rendering 1000+ rows? Don’t render everything
✔️ Use virtualization (react-window, AG Grid)
✔️ Server-side pagination & filtering
👉 Render only what user sees
---
⏳ 5. Optimize API Calls
✔️ Debounce search inputs
✔️ Use caching (React Query / TanStack Query)
✔️ Avoid duplicate API calls
👉 Less load on server + smoother UI
---
🧠 6. Smart State Management
✔️ Keep state close to component
✔️ Avoid unnecessary global state
✔️ Separate server state vs UI state
👉 Cleaner architecture = better performance
---
🖼️ 7. Optimize Assets
✔️ Lazy load images
✔️ Use WebP
✔️ Compress assets
👉 Small things = big impact
---
🔥 Final Thought
> “Premature optimization is bad, but ignoring performance is worse.”
As a Senior Engineer, my focus is:
👉 Measure → Identify → Optimize → Validate
---
💬 Curious to know:
What’s the biggest performance issue you’ve faced in React?
#ReactJS#Frontend#Performance#WebDevelopment#JavaScript#ReactDeveloper#SoftwareEngineering 🚀
Most React developers use data fetching libraries.
Very few actually understand what’s happening under the hood.
So I built something to fix that.
🚀 React Fetch Playground
A visual lab to see how data fetching really works.
🔗 https://lnkd.in/gsahNcJi
---
💭 You’ve probably used things like:
- caching
- staleTime
- background refetch
- retries
- optimistic updates
But have you ever seen them happen?
This tool makes it visible 👇
---
🧠 What makes it different
Instead of docs or theory, you get a real-time visual timeline:
→ request starts
→ data loads
→ cache becomes stale
→ background refetch kicks in
All happening live.
---
⚡ Play with it like a lab
- Switch between fetch / axios / custom hooks / TanStack Query
- Simulate failures and retries
- Control stale time and refetch intervals
- Inspect cache, query state, and network behavior
It’s basically DevTools for learning data fetching.
---
🔥 Why this matters (especially for senior FE roles)
Understanding this deeply helps you:
- avoid unnecessary re-renders
- design better caching strategies
- improve perceived performance
- debug production issues faster
This is the difference between using a library and thinking like a system designer.
---
📦 What’s next
- Extracting reusable hooks as a package
- Plugin system for other data libraries
- More advanced visualizations (cache graphs, render impact)
---
If you're preparing for frontend interviews or working on large-scale apps, this might be useful.
Would love your thoughts 👇
#React#FrontendEngineering#JavaScript#WebPerformance#SystemDesign#OpenSource#TanStackQuery#DevTools
This is what makes me be outstanding as a Frontend Developer
It's not AI powered stuff, it's something called Data Visualisation (DataViz). 65% of the population is a visual learner. So to prevent text, I will just drop a simple drawing about why Data Viz is important below.
This is not made in React, D3.js, Next.js or Frontend Framework (But I could!). Made with Pen, paper, ruler, data and good practices, in less than 5 minutes.
#dataviz#frontend#datavisualisation#charts
🚀 What is Frontend, Backend & Database? And How They Work in 3-Tier Architecture.
Ever wondered…
👉 When you click a button on a website, what actually happens behind the scenes?
Let’s break it down in the simplest way 👇
🔹 1. Frontend (UI) — What You See
👉 This is the part users interact with
Examples:
Login page
Buttons, forms, dashboards
💡 Tech: HTML, CSS, JavaScript
🔹 2. Backend (Logic) — The Brain
👉 Handles logic, processing, and decisions
For example:
Validates login credentials
Processes requests
Applies business rules
💡 Tech: Node.js, Java, Python
🔹 3. Database — The Storage
👉 Stores and manages data
Examples:
User details
Orders, transactions
💡 Tech: MySQL, MongoDB
🔄 How They Work Together (3-Tier Flow)
👉 Step 1: User interacts with Frontend
(e.g., clicks “Login”)
👉 Step 2: Frontend sends request to Backend
👉 Step 3: Backend processes logic
→ Talks to Database (fetch/store data)
👉 Step 4: Database returns data to Backend
👉 Step 5: Backend sends response to Frontend
👉 Step 6: Frontend shows result to user
💡 In short:
Frontend → Backend → Database → Backend → Frontend
🎯 Why this matters?
👉 This separation makes applications:
Scalable
Secure
Easy to manage
👉 And this is exactly why 3-Tier Architecture is widely used 🚀
📌 Think about it:
Every time you use an app…
👉 This flow is happening in milliseconds ⚡
#DevOps#Architecture#SystemDesign#CloudComputing#LearningJourney#Tech#DevOpsInsiders
🚀 Understanding MVC in Backend !
If you're learning backend development, you’ve probably heard of MVC — but what does it actually mean? 🤔 Let’s break it down in a simple way 👇
🔹 M = Model
This is your data layer.
♻️ It handles:
Database interaction
Data structure
Business logic
👉 Example: User data, product details, etc.
🔹 V = View
This is what the user sees.
♻️ It handles:
UI (HTML, templates, frontend output)
Displaying data
👉 Example: A webpage showing user profile
🔹 C = Controller
This is the brain 🧠 It connects Model + View.
♻️ It handles:
User requests
Processing logic
Sending data to View
👉 Example: When user clicks "Login", controller processes it
💡 How MVC Works Together:
User sends request
Controller receives it
Controller talks to Model (get/update data)
Model sends data back
Controller sends data to View
View shows it to user 🎉
🔥 Why MVC is important?
✔ Clean code structure
✔ Easy to maintain
✔ Scalable for large projects
✔ Team-friendly (frontend + backend separation)
💻 Example (Node.js):
Model → Database (MongoDB)
View → Frontend (HTML/CSS)
Controller → Express.js logic
Follow for more simple dev concepts 🚀
#WebDevelopment#Backend#JavaScript#NodeJS#MVC#LearnToCode
𝗬𝗼𝘂’𝗿𝗲 𝗙𝗲𝘁𝗰𝗵𝗶𝗻𝗴 𝗗𝗮𝘁𝗮… 𝗕𝘂𝘁 𝗪𝗵𝘆 𝗔𝗿𝗲 𝗬𝗼𝘂 𝗥𝗲𝗯𝘂𝗶𝗹𝗱𝗶𝗻𝗴 𝗘𝘃𝗲𝗿𝘆𝘁𝗵𝗶𝗻𝗴?
A lot of developers say:
“I use React.”
“I’m building with APIs.”
But when you check their code…
They’re manually handling everything:
Loading states.
Error states.
Refetching.
Caching.
Every. Single. Time.
𝗧𝗵𝗮𝘁’𝘀 𝗪𝗵𝗲𝗿𝗲 𝗧𝗮𝗻𝗦𝘁𝗮𝗰𝗸 𝗤𝘂𝗲𝗿𝘆 𝗖𝗼𝗺𝗲𝘀 𝗜𝗻
It’s not just a library.
It’s a 𝗱𝗮𝘁𝗮-𝗳𝗲𝘁𝗰𝗵𝗶𝗻𝗴 𝘀𝘆𝘀𝘁𝗲𝗺 built for modern React apps.
𝗧𝗵𝗲 𝗣𝗿𝗼𝗯𝗹𝗲𝗺 (𝗪𝗶𝘁𝗵𝗼𝘂𝘁 𝗜𝘁)
Fetching data in React manually looks simple…
Until it’s not.
You end up writing:
• isLoading logic
• try/catch error handling
• retry mechanisms
• caching logic
• syncing server + UI state
𝗔𝗻𝗱 𝘆𝗼𝘂 𝗿𝗲𝗽𝗲𝗮𝘁 𝗶𝘁 𝗲𝘃𝗲𝗿𝘆𝘄𝗵𝗲𝗿𝗲.
That’s not scalable.
𝗪𝗵𝗮𝘁 𝗧𝗮𝗻𝗦𝘁𝗮𝗰𝗸 𝗤𝘂𝗲𝗿𝘆 𝗗𝗼𝗲𝘀
It takes all that stress away.
Out of the box, you get:
𝗟𝗼𝗮𝗱𝗶𝗻𝗴 𝘀𝘁𝗮𝘁𝗲𝘀 → no manual flags
𝗘𝗿𝗿𝗼𝗿 𝗵𝗮𝗻𝗱𝗹𝗶𝗻𝗴 → clean and predictable
𝗖𝗮𝗰𝗵𝗶𝗻𝗴 → data is stored and reused
𝗔𝘂𝘁𝗼 𝗿𝗲𝗳𝗲𝘁𝗰𝗵𝗶𝗻𝗴 → keeps data fresh
𝗦𝘆𝗻𝗰𝗵𝗿𝗼𝗻𝗶𝘇𝗲𝗱 𝘀𝘁𝗮𝘁𝗲 → UI always matches server
All with a few lines.
𝗥𝗲𝗮𝗹-𝗟𝗶𝗳𝗲 𝗘𝘅𝗮𝗺𝗽𝗹𝗲
You’re building a dashboard.
Without TanStack Query:
You write 30–50 lines just to fetch and manage one API.
With it?
You write a hook → and everything works.
𝗟𝗲𝘀𝘀 𝗰𝗼𝗱𝗲. 𝗙𝗲𝘄𝗲𝗿 𝗯𝘂𝗴𝘀. 𝗙𝗮𝘀𝘁𝗲𝗿 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗺𝗲𝗻𝘁.
𝗪𝗵𝘆 𝗜𝘁’𝘀 𝗘𝘃𝗲𝗻 𝗠𝗼𝗿𝗲 𝗜𝗺𝗽𝗼𝗿𝘁𝗮𝗻𝘁 𝗡𝗼𝘄 (𝗔𝗜 𝗘𝗥𝗔)
With AI-powered apps…
You’re constantly fetching data:
-Chats
-Suggestions
-Predictions
=Real-time updates
If you handle all that manually?
You’ll slow yourself down.
𝗧𝗮𝗻𝗦𝘁𝗮𝗰𝗸 𝗤𝘂𝗲𝗿𝘆 𝗯𝗲𝗰𝗼𝗺𝗲𝘀 𝗮 𝗻𝗲𝗰𝗲𝘀𝘀𝗶𝘁𝘆.
Because in 2026…
Speed isn’t just about performance.
It’s about 𝗵𝗼𝘄 𝗳𝗮𝘀𝘁 𝘆𝗼𝘂 𝗯𝘂𝗶𝗹𝗱.
Have you used TanStack Query yet?
What was your experience? 👇
- Mustapha The Software Engineer
#ReactJS#TanStackQuery#WebDevelopment#FrontendDevelopment#SoftwareEngineering#JavaScript#BuildInPublic#TechIn2026
🚀 From Idea to Interface—Progress You Can See.
#Day2 of building DataVault—and today’s milestone feels real.
Alhamdulillah, I’ve successfully converted the entire UI into working code using React and Tailwind CSS. What started as a concept is now a fully functional front-end with a working dashboard.
💻 What’s done:
• Complete UI implementation using React + Tailwind CSS
• Clean, responsive design now fully interactive
• Dashboard functionality is up and running smoothly
This is a big step—because now DataVault isn’t just an idea or a design… it’s something you can actually use.
🔐 What’s next:
My next focus is implementing authentication to make the platform secure and accessible for real users. The goal is to ensure anyone can safely use DataVault to manage their data with confidence.
⏳ The 7-Day Challenge continues…
I’m confident that within the next 2 days, this will evolve into a fully working application.
🤝 I’d love your input:
If you have suggestions, features you’d like to see, or feedback—please share. Your insights can help shape this into something truly valuable.
Let’s keep building in public. Day 7 is getting closer. 🚀
#BuildInPublic#WebDevelopment#ArtificialIntelligence#SaaS#ReactJS#TailwindCSS#JWT#DataSecurity#Developers#TechJourney#NodeJS#Typescrit#JavaScript#vercel#framermotion
Nice, how should I download that?