diySSD
  • Product
    Catalog Buyer Guides Out of Stock
  • Pricing
    All Retailers Amazon Best Buy B&H Manufacturer Newegg
  • Blog
    Posts
  • Support
    FAQ

Product

Catalog Buyer Guides Out of Stock

Pricing

All Retailers Amazon Best Buy B&H Manufacturer Newegg

Blog

Posts

Support

FAQ
/* ========================================================================== DIYSSD NAVIGATION - CSS VARIABLES ========================================================================== */ :root { /* Charcoal Scale */ --charcoal-050: #f5f5f5; --charcoal-100: #e6e6e6; --charcoal-200: #cccccc; --charcoal-300: #adadad; --charcoal-500: #7a7a7a; --charcoal-700: #565656; --charcoal-800: #474747; --charcoal-900: #3a3a3a; --charcoal-950: #2c2c2c; /* Accent Colors - WCAG AA Compliant */ --ocean-blue: #245270; --ocean-blue-rgb: 36, 82, 112; --terracotta: #c7522a; --golden-sand: #e5b363; --forest-green: #5d8a66; --dusty-plum: #8b5a8b; /* Accessibility */ --focus-ring-color: var(--ocean-blue); --focus-ring-width: 3px; --focus-ring-offset: 2px; --touch-target-min: 44px; /* Transitions */ --transition-speed: 0.2s; --transition-easing: cubic-bezier(0.4, 0, 0.2, 1); } /* Reduced Motion Support */ @media (prefers-reduced-motion: reduce) { :root { --transition-speed: 0.01ms; } * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } } /* ========================================================================== NAVIGATION CONTAINER ========================================================================== */ .diyssd-nav-container { position: relative; width: 100%; background: #ffffff; border-bottom: 1px solid var(--charcoal-200); z-index: 1000; } /* ========================================================================== MAIN NAVIGATION ========================================================================== */ .diyssd-nav { display: flex; align-items: center; justify-content: space-between; max-width: 1440px; margin: 0 auto; padding: 0.75rem 1.5rem; height: 4rem; background: #ffffff; /* Performance: GPU acceleration for smoother rendering */ transform: translateZ(0); backface-visibility: hidden; } /* ========================================================================== LOGO SECTION ========================================================================== */ .diyssd-nav-left { flex: 1; display: flex; align-items: center; min-width: 0; } .diyssd-logo { font-family: "Oswald", sans-serif; font-weight: 800; font-size: 36px; color: #2d5a7b; text-decoration: none; display: block; /* Performance: Prevent paint on hover */ will-change: opacity; } .diyssd-logo:hover { opacity: 0.8; } .diyssd-logo:focus-visible { outline: var(--focus-ring-width) solid var(--focus-ring-color); outline-offset: var(--focus-ring-offset); border-radius: 4px; } /* ========================================================================== MENU CONTAINER ========================================================================== */ .diyssd-nav-right { flex: 0 0 auto; display: flex; align-items: center; gap: 0.75rem; height: 100%; } /* ========================================================================== DESKTOP MENU ========================================================================== */ .diyssd-desktop-menu { display: none; align-items: center; gap: 0rem; list-style: none; margin: 0; padding: 0; height: 100%; } @media (min-width: 769px) { .diyssd-desktop-menu { display: flex; } } /* ========================================================================== MENU ITEMS ========================================================================== */ .diyssd-menu-item { position: relative; display: flex; align-items: center; height: 100%; /* Performance: Can't use contain here as it breaks dropdown positioning */ } .diyssd-menu-link { display: flex; align-items: center; padding: 0.75rem 1rem; min-height: var(--touch-target-min); color: var(--charcoal-900); text-decoration: none; font-size: 0.9375rem; font-weight: 500; white-space: nowrap; border-radius: 4px; transition: all var(--transition-speed) var(--transition-easing); cursor: pointer; /* Performance: Hint for background color changes */ will-change: background-color, color; } .diyssd-menu-link:hover { color: var(--ocean-blue); background-color: var(--charcoal-050); } .diyssd-menu-link:focus { outline: none; } .diyssd-menu-link:focus-visible { outline: var(--focus-ring-width) solid var(--focus-ring-color); outline-offset: calc(var(--focus-ring-offset) * -1); } .diyssd-menu-link.has-dropdown::after { content: "▼"; margin-left: 0.5rem; font-size: 0.625rem; transition: transform var(--transition-speed) var(--transition-easing); display: inline-block; /* Performance: Use transform for rotation */ will-change: transform; } .diyssd-menu-item:hover .diyssd-menu-link.has-dropdown::after { transform: rotate(180deg); } /* ========================================================================== MENU DIVIDER ========================================================================== */ .diyssd-menu-divider { width: 1px; height: 1.5rem; background-color: var(--charcoal-200); margin: 0; } /* ========================================================================== DROPDOWN MENU ========================================================================== */ .diyssd-dropdown { position: absolute; top: calc(100% + 0.5rem); left: 50%; min-width: 200px; background: #ffffff; border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); padding: 0.5rem; opacity: 0; visibility: hidden; /* Performance: Use transform for animation instead of top/left */ transform: translateX(-50%) translateY(-8px); transition: opacity var(--transition-speed) var(--transition-easing), visibility var(--transition-speed) var(--transition-easing), transform var(--transition-speed) var(--transition-easing); z-index: 1001; /* Performance: GPU acceleration */ will-change: opacity, transform; backface-visibility: hidden; } .diyssd-menu-item:hover .diyssd-dropdown { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); } .diyssd-dropdown-link { display: flex; align-items: center; padding: 0.75rem; min-height: var(--touch-target-min); color: var(--charcoal-900); text-decoration: none; font-size: 0.875rem; font-weight: 500; border-radius: 4px; transition: all var(--transition-speed) var(--transition-easing); /* Performance: Hint for hover state */ will-change: background-color, color; } .diyssd-dropdown-link:hover { color: var(--ocean-blue); background-color: var(--charcoal-050); } .diyssd-dropdown-link:focus { outline: none; } .diyssd-dropdown-link:focus-visible { outline: var(--focus-ring-width) solid var(--focus-ring-color); outline-offset: calc(var(--focus-ring-offset) * -1); } .diyssd-dropdown-link:active { background-color: var(--charcoal-050); } .diyssd-dropdown-link.active { color: var(--terracotta); background-color: rgba(199, 82, 42, 0.08); font-weight: 600; } /* ========================================================================== MOBILE TOGGLE BUTTON ========================================================================== */ .diyssd-mobile-toggle { display: flex; flex-direction: column; justify-content: space-around; width: var(--touch-target-min); height: var(--touch-target-min); padding: 0.75rem; background: transparent; border: none; cursor: pointer; border-radius: 4px; transition: background-color var(--transition-speed) var(--transition-easing); /* Performance: Hint for background changes */ will-change: background-color; } .diyssd-mobile-toggle:hover { background-color: var(--charcoal-050); } .diyssd-mobile-toggle:focus { outline: none; } .diyssd-mobile-toggle:focus-visible { outline: var(--focus-ring-width) solid var(--focus-ring-color); outline-offset: calc(var(--focus-ring-offset) * -1); } .diyssd-mobile-toggle span { display: block; width: 100%; height: 2px; background-color: var(--charcoal-900); border-radius: 2px; transition: all var(--transition-speed) var(--transition-easing); /* Performance: GPU acceleration for transforms */ will-change: transform, opacity; backface-visibility: hidden; } .diyssd-mobile-toggle.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); } .diyssd-mobile-toggle.active span:nth-child(2) { opacity: 0; } .diyssd-mobile-toggle.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); } @media (min-width: 769px) { .diyssd-mobile-toggle { display: none; } } /* ========================================================================== MOBILE OVERLAY ========================================================================== */ .diyssd-mobile-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); opacity: 0; visibility: hidden; transition: opacity var(--transition-speed) var(--transition-easing), visibility var(--transition-speed) var(--transition-easing); z-index: 1001; /* Performance: GPU acceleration */ will-change: opacity; backface-visibility: hidden; } .diyssd-mobile-overlay.active { opacity: 1; visibility: visible; } @media (min-width: 769px) { .diyssd-mobile-overlay { display: none; } } /* ========================================================================== MOBILE MENU ========================================================================== */ .diyssd-mobile-menu { position: fixed; top: 0; right: 0; width: 85%; max-width: 320px; height: 100%; background: #ffffff; /* Performance: Use transform instead of right property */ transform: translateX(100%); transition: transform var(--transition-speed) var(--transition-easing); z-index: 1002; overflow-y: auto; box-shadow: -4px 0 12px rgba(0, 0, 0, 0.15); /* Performance: GPU acceleration */ will-change: transform; backface-visibility: hidden; /* Performance: Enable hardware scrolling */ -webkit-overflow-scrolling: touch; } .diyssd-mobile-menu.active { transform: translateX(0); } @media (min-width: 769px) { .diyssd-mobile-menu { display: none; } } /* ========================================================================== MOBILE HEADER ========================================================================== */ .diyssd-mobile-header { display: flex; align-items: center; justify-content: flex-end; padding: 0.6rem 1rem; border-bottom: 1px solid var(--charcoal-200); } .diyssd-mobile-close { display: flex; align-items: center; justify-content: center; width: var(--touch-target-min); height: var(--touch-target-min); padding: 0; background: transparent; border: none; cursor: pointer; border-radius: 4px; font-size: 1.5rem; color: var(--charcoal-900); transition: background-color var(--transition-speed) var(--transition-easing); /* Performance: Hint for background changes */ will-change: background-color; } .diyssd-mobile-close:hover { background-color: var(--charcoal-050); } .diyssd-mobile-close:focus { outline: none; } .diyssd-mobile-close:focus-visible { outline: var(--focus-ring-width) solid var(--focus-ring-color); outline-offset: calc(var(--focus-ring-offset) * -1); } /* ========================================================================== MOBILE CONTENT ========================================================================== */ .diyssd-mobile-content { padding: 1rem; } .diyssd-mobile-section { margin-bottom: 1rem; } .diyssd-mobile-section:last-child { margin-bottom: 0; } .diyssd-mobile-heading { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--charcoal-500); margin: 0 0 0.5rem 0; } .diyssd-mobile-divider { height: 1px; background-color: var(--charcoal-200); margin-bottom: 0.75rem; } .diyssd-mobile-link { display: flex; align-items: center; padding: 0 0.75rem; /* margin-bottom: 0.25rem; */ min-height: var(--touch-target-min); color: var(--charcoal-900); text-decoration: none; font-size: 0.875rem; font-weight: 500; border-radius: 4px; transition: all var(--transition-speed) var(--transition-easing); /* Performance: Hint for interactive states */ will-change: background-color, color, transform; } .diyssd-mobile-link:hover { color: var(--ocean-blue); background-color: var(--charcoal-050); } .diyssd-mobile-link:focus { outline: none; } .diyssd-mobile-link:focus-visible { outline: var(--focus-ring-width) solid var(--focus-ring-color); outline-offset: calc(var(--focus-ring-offset) * -1); } .diyssd-mobile-link:active { background-color: var(--charcoal-050); /* Performance: Use transform for visual feedback */ transform: translateX(2px); } .diyssd-mobile-link.active { color: var(--terracotta); background-color: rgba(199, 82, 42, 0.08); font-weight: 600; } /* ========================================================================== UTILITY CLASSES ========================================================================== */ body.diyssd-menu-open { overflow: hidden; } @media (prefers-contrast: high) { .diyssd-nav { border-bottom-width: 2px; } .diyssd-menu-link:focus-visible, .diyssd-dropdown-link:focus-visible, .diyssd-mobile-link:focus-visible { outline-width: 4px; } }
Advertisement

Frequently Asked Questions

/* Global reset for consistent box-sizing */ * { box-sizing: border-box; } /* Container for the entire TOC component */ .toc-embed-wrapper .toc-container { max-width: 800px; margin: 40px auto; } /* Individual collapsible item styling */ .toc-embed-wrapper .toc-item { background: #fff; border-radius: 16px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); margin-bottom: 18px; overflow: hidden; /* Prevents content from breaking border radius */ transition: box-shadow 0.2s ease; /* Smooth hover effect */ } /* Hover effect for entire item */ .toc-embed-wrapper .toc-item:hover { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); } /* Toggle button styling - removes default button appearance */ .toc-embed-wrapper .toc-toggle { background: none; border: none; width: 100%; display: flex; justify-content: space-between; align-items: center; font-size: 1.15rem; font-weight: 500; cursor: pointer; padding: 24px 28px; outline: none; color: #1a1a1a; transition: background-color 0.2s ease; } /* Button hover state */ .toc-embed-wrapper .toc-toggle:hover { background-color: #e2e1df; } /* Keyboard focus accessibility - only visible when navigating with tab */ .toc-embed-wrapper .toc-toggle:focus-visible { outline: 2px solid #007acc; outline-offset: -2px; } /* Question text styling */ .toc-embed-wrapper .toc-question { flex: 1; /* Takes up remaining space */ font-weight: 400; text-align: left; margin: 0; } /* Plus/minus icon styling */ .toc-embed-wrapper .toc-icon { font-size: 1.8rem; font-weight: 300; transition: transform 0.3s ease, color 0.2s ease; /* Smooth rotation and color change */ margin-left: 20px; color: #666; flex-shrink: 0; /* Prevents icon from shrinking */ width: 24px; text-align: center; } /* Icon state when expanded - rotates 45deg to create X from + */ .toc-embed-wrapper .toc-toggle[aria-expanded="true"] .toc-icon { transform: rotate(45deg); color: #28a745; /* Green color when open */ } /* Answer content container - hidden by default */ .toc-embed-wrapper .toc-answer { padding: 0 28px 24px 28px; font-size: 1rem; color: #444; line-height: 1.6; display: none; /* Hidden by default */ animation: slideDown 0.3s ease-out; /* Smooth entrance animation */ } /* Show class for JavaScript toggle */ .toc-embed-wrapper .toc-answer.show { display: block; } /* Slide down animation for smooth reveal */ @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } /* Simple ordered list styling for h2 headers only */ .toc-embed-wrapper .toc-answer ol { list-style-type: none; /* Remove default numbering */ padding-left: 0; /* Remove default padding */ margin: 0.8em 0; /* Vertical spacing */ counter-reset: main-counter; /* Counter for main items */ } /* List items (h2 headers) */ .toc-embed-wrapper .toc-answer ol li { counter-increment: main-counter; position: relative; margin: 0.6em 0; padding-left: 0.3em; /* Small padding for better text alignment */ } .toc-embed-wrapper .toc-answer ol li::before { content: counter(main-counter) ". "; color: #007acc; font-weight: 600; margin-right: 0.5em; } /* TOC link styling */ .toc-embed-wrapper .toc-answer a { text-decoration: none; color: #444; transition: color 0.2s ease; } .toc-embed-wrapper .toc-answer a:hover { color: #007acc; text-decoration: underline; } /* Empty state styling */ .toc-embed-wrapper .toc-empty { padding: 20px 28px; color: #888; font-style: italic; text-align: center; } /* Responsive design for mobile devices */ @media (max-width: 768px) { .toc-embed-wrapper .toc-container { margin: 20px auto; padding: 0 16px; /* Side padding on mobile */ } .toc-embed-wrapper .toc-toggle { padding: 20px 22px; /* Reduced padding on mobile */ font-size: 1.1rem; /* Slightly smaller font */ } .toc-embed-wrapper .toc-answer { padding: 0 22px 20px 22px; /* Matched reduced padding */ font-size: 0.95rem; /* Smaller text on mobile */ } .toc-embed-wrapper .toc-icon { font-size: 1.6rem; /* Smaller icon on mobile */ margin-left: 16px; } }

Question: 

Why is pricing now called estimated pricing?

Answer:

Our prices are updated in batches, so the numbers reflect the moment they were last refreshed. Because affiliate prices can shift between updates, they may not always match exactly. Since our prices are meant as a guideline rather than exact figures, we now call them ‘estimated (Est.) pricing’ to make that clearer. To keep things simple, we also removed the cents.

Question: 

I’m confused, which price list should I use?

Answer:

All Retailers

Your go to is the “All Retailers” price list. It contains all products across all retailers. It also contains all the tools:

  • Filter by Brand

  • Filter by Interface

  • Filter by Capacity

  • Filter by Cooling

  • Filter by Compatibility

  • DIY Filters

  • Custom Sorting

  • Search

The other price lists are specific to a particular retailer. The manufacturer price list is the Manufacturer Direct outlets.

Question: 

Where is the home button located?

Answer:

Home Page Logo | DIY SSD

Just click the diySSD logo at the top-left of any page to return to the homepage. This works the same way most websites do - the logo always takes you home. No need to hunt for a separate "home" button.

Question: 

Why do some retailers want you to add an item to the cart before showing the sale price?

Answer:

It's all about MAP - Minimum Advertised Price policies from manufacturers. These policies set the lowest price retailers can advertise, but not necessarily what they can sell at.

By hiding the price until you add it to cart, retailers can technically sell below MAP without violating their agreements with manufacturers. It also makes it harder for competitors and price-tracking bots to monitor their actual prices.

Why retailers like it:

  • Circumvents MAP restrictions while staying compliant

  • Protects brand value and prevents a race to the bottom

  • Adds friction that supposedly increases purchase likelihood

  • Makes price comparison more difficult

diySSD's take: We think this practice is user-hostile. Retailers should just post their best price upfront instead of making you jump through hoops. That's why our price tracking shows you the real numbers without the games.

Question: 

Why do some retail links display multiple product models?

Answer:

Some retailers group similar products under a single product page - think of it like a "family page" where you can choose between different capacities, colors, or configurations.

For example, clicking a link for a 1TB Samsung T7 might land you on a page where you can also select the 2TB or 4TB version. Or a WD Black SN850X link might show options for the standard version, the heatsink version, or different storage sizes.

What this means for you: When you click a price link from diySSD, you might need to select the specific capacity or model variant you're looking for once you reach the retailer's site. The price we show corresponds to the exact model and capacity listed, but the retailer's page may default to a different option.

Pro tip: Always double-check you've selected the right capacity before adding to cart.

Question: 

How are product discounts calculated?

Answer:

We calculate discounts by comparing the current price to the manufacturer's suggested retail price (MSRP) - that's the strike-through price you see on product listings.

The math is simple:

Discount % = (MSRP - Current Price) / MSRP × 100

For example, if a drive has an MSRP of $100 and is currently selling for $75, that's a 25% discount.

Important context:

  • MSRP is the baseline - It's what the manufacturer says the product "should" cost, not necessarily what retailers ever actually charged

  • Discounts vary by retailer - The same drive might be 20% off at one store and 35% off at another

  • Bigger isn't always better - A 40% discount on an overpriced drive might still be a worse deal than a 15% discount on a competitively-priced alternative

Our take: Discount percentages are useful for spotting sales, but don't let them be your only decision factor. A massive discount on a mediocre SSD is still a mediocre SSD. Focus on the actual price and whether the drive meets your needs.

Question: 

How are retailers selected?

Answer:

Short answer: we track wherever the drive is actually available for sale.

You'll typically see prices from Amazon, B&H Photo, Best Buy, and Newegg since these are the major players that consistently stock SSDs. For specific products like Raspberry Pi accessories, we include certified retailers. And sometimes we'll link directly to manufacturer stores when they offer competitive pricing.

Our approach:

  • No preferential treatment - We don't prioritize one retailer over another or get paid to push you toward specific stores

  • Availability drives inclusion - If a reputable retailer stocks the drive, we track it

  • You decide where to buy - We just show you the options and current prices

Choosing a retailer: Consider factors beyond just price - shipping costs, return policies, customer service reputation, and whether you already have a membership (like Amazon Prime) that might save you money or hassle.

What we don't do: We don't include sketchy third-party marketplace sellers, gray market importers, or retailers with terrible reputations. If a deal seems too good to be true on a site you've never heard of, it probably is.

Advertisement
About
Privacy
Terms
© 2024, 2025 - All Rights Reserved
Brand Logo Icon | DIY SSD