[{"data":1,"prerenderedAt":147},["ShallowReactive",2],{"project-musialtech":3},{"id":4,"title":5,"available":6,"badges":7,"body":9,"client":132,"date":133,"description":134,"development":6,"duration":132,"extension":135,"image":136,"meta":137,"navigation":138,"path":139,"preview_type":132,"privacy":132,"role":132,"seo":140,"short_description":141,"status":132,"stem":142,"technology":143,"url":127,"weight":145,"__hash__":146},"projects/projects/musialtech.md","MusialTech",false,[8],"code",{"type":10,"value":11,"toc":126},"minimark",[12,23,28,78,82,109,123],[13,14,15,18,19,22],"p",{},[16,17,5],"strong",{}," is a custom ",[16,20,21],{},"e-commerce operations tool"," I built for a Shoper-based online store that was wasting hours every day on repetitive product management work. The shop sells thousands of SKUs sourced from multiple wholesalers, and the owner was manually comparing wholesale price files against live store prices, looking for products that had gone below minimum margin, and updating them one by one. This app automates that entire workflow.",[24,25,27],"h2",{"id":26},"what-it-does","What it does",[29,30,31,42,48,54,60,66,72],"ul",{},[32,33,34,37,38,41],"li",{},[16,35,36],{},"Automated product synchronization"," - connects to the ",[16,39,40],{},"Shoper API",", pulls the full product catalog, and syncs it with wholesale supplier files (downloaded automatically from wholesaler endpoints). The sync is incremental - only changed fields get updated, so thousands of products process in minutes instead of hours.",[32,43,44,47],{},[16,45,46],{},"Minimum price monitoring"," - every product has a configurable minimum margin. The app continuously flags any SKU where the current price dropped below profitability, so the owner never accidentally sells at a loss.",[32,49,50,53],{},[16,51,52],{},"Pricing strategy engine"," - configurable rules for how prices should react to wholesale changes. Raise margins automatically when wholesale costs drop, hold prices steady during supplier volatility, or match competitor pricing within defined bounds.",[32,55,56,59],{},[16,57,58],{},"Important products watchlist"," - mark your bestsellers and high-revenue SKUs for extra attention. These get monitored more aggressively and surface in a dedicated dashboard.",[32,61,62,65],{},[16,63,64],{},"Operation history and logs"," - every sync, price change, and data import is logged. Full audit trail for what the app did, when, and why.",[32,67,68,71],{},[16,69,70],{},"Recent changes view"," - see what's moved in the last hour, day, or week at a glance. Catch unexpected price swings before customers do.",[32,73,74,77],{},[16,75,76],{},"Built-in guide"," - in-app documentation so the owner can onboard employees without a 1:1 training session.",[24,79,81],{"id":80},"tech","Tech",[13,83,84,85,88,89,92,93,96,97,100,101,104,105,108],{},"The ",[16,86,87],{},"backend"," is a Node.js service built with ",[16,90,91],{},"Express",", with ",[8,94,95],{},"axios"," and ",[8,98,99],{},"superagent-throttle"," for respectful API calls (throttled so we don't hammer the Shoper API or supplier endpoints), ",[8,102,103],{},"xml2js"," for parsing wholesale XML feeds, and ",[8,106,107],{},"helmet"," for basic security hardening. File downloads, XML parsing, and database synchronization are split into clean modules so adding a new wholesaler is a matter of writing one new connector.",[13,110,84,111,114,115,118,119,122],{},[16,112,113],{},"frontend"," is a ",[16,116,117],{},"Nuxt 2"," SPA with ",[16,120,121],{},"PrimeVue"," for the UI components - data tables, dialogs, toast notifications, and form inputs. The app has dedicated pages for products, minimum prices, wholesalers, pricing strategy, important products, logs, and recent activity, all behind a login screen.",[13,124,125],{},"This was a real internal tool for a real business. Built to solve a specific workflow problem, iterated on with the owner based on actual daily use, and measured in time saved rather than features shipped.",{"title":127,"searchDepth":128,"depth":128,"links":129},"",2,[130,131],{"id":26,"depth":128,"text":27},{"id":80,"depth":128,"text":81},null,"2021-01-15","MusialTech is a custom e-commerce operations tool I built for a Shoper-based online store that was wasting hours every day on repetitive product management work. The shop sells thousands of SKUs sourced from multiple wholesalers, and the owner was manually comparing wholesale price files against live store prices, looking for products that had gone below minimum margin, and updating them one by one. This app automates that entire workflow.","md","musialtech.png",{},true,"/projects/musialtech",{"title":5,"description":134},"App for managing, tracking, and updating products in a Shoper-based store","projects/musialtech",[144],"javascript",10,"48DXd8hBg7MaI6hMK_mTu3x20-7Z5F7Qt8WlWBteexU",1776886072690]