Inspiration
Coming from a family business that involves regular shipping and packaging, we’ve witnessed firsthand how tedious and error-prone the manual packing process can be. Packing efficiently to save space, reduce costs, and maintain product safety often took hours of trial and error. This motivated us to build ShipWise, an automated solution that alleviates the stress of manual calculations. Initially coded in C++, we transitioned to JavaScript to enhance accessibility and usability. A key feature we introduced was ensuring the **correct orientation of products, particularly for fragile or orientation-sensitive items, adding a practical edge to our solution.
What it does
ShipWise is a smart packaging assistant that:
- Determines the optimal carton size based on the products to be shipped.
- Ensures products are packed in the correct orientation based on their fragility and design.
- Checks for weight limits, preventing overloading and damage during transit.
- Optimizes space usage, considering buffer zones for packaging materials.
- Offers an inventory management system for carton tracking and adjustments.
How we built it
ShipWise was initially developed in C++ for its computational efficiency. However, to make the tool more accessible, we migrated to JavaScript, integrating it with an interactive user interface. Key steps included:
- Designing a robust packing algorithm that accounts for size, weight, and orientation constraints.
- Implementing unit conversion logic to handle varied user inputs (cm, inches, kg, etc.).
- Validating the system using real-world shipping datasets and benchmarks.
Challenges we ran into
- Developing orientation constraints for different product types, such as restricting flipping for TVs or fridges while allowing flexibility for clothes or books.
- Transitioning from C++ to JavaScript without compromising algorithm accuracy.
- Ensuring the system performs well under real-world scenarios, managing both large datasets and varied carton inventories.
Accomplishments that we're proud of
- Successfully integrating orientation-based packing into the algorithm, making it adaptable for diverse product types.
- Creating a dynamic inventory system, allowing users to modify carton availability as needed.
- Migrating from C++ to JavaScript, achieving a user-friendly interface without sacrificing performance.
- Validating the tool with real-world datasets, proving its reliability and efficiency.
What we learned
- The importance of factoring in orientation constraints, weight distribution, and buffer zones for real-world shipping scenarios.
- How transitioning to a more user-focused platform (JavaScript) can broaden the system’s accessibility.
- The value of iterative development and feedback in refining features for practical use.
What's next for ShipWise
- Expanding the system to handle multi-carton packing, optimizing for complex shipments.
- Integrating APIs for real-time shipping cost and delivery time comparisons.
- Introducing sustainability features, such as suggesting eco-friendly packaging options.
- Incorporating user insights to further enhance customization and adaptability.
Built With
- cpp
- express.js
- mongodb
- node.js
- react
- tailwind
Log in or sign up for Devpost to join the conversation.