Lissys Kicks

Buy your next pair, or bring your current ones back to life — all in one place.

Or message @lissyskicks directly on Instagram

📍Southern Maine 👟 Buy, sell & restore sneakers

📸 Everything through Instagram DM


ABOUT LISSYS KICKS

Lissys Kicks brings together my passion for selling sneakers and bringing worn pairs back to life. I personally select the sneakers I sell and take a detailed, hands-on approach to cleaning and restoration. Whether you're looking for your next pair or want to refresh your favorites, I'm here to help.

Two sides of the same sneaker obsession

🛍️
Sneaker Sales

Individual pairs from my own personal collection — hand-picked, sized, and priced individually. First come, first served.

(function () { const carousel = document.querySelector('.featured-carousel'); const slides = carousel.querySelectorAll('.featured-slide'); const dots = document.querySelectorAll('.featured-dot'); function updateDots() { const rect = carousel.getBoundingClientRect(); const center = rect.left + carousel.clientWidth / 2; let closest = 0; let distance = Infinity; slides.forEach((slide, i) => { const r = slide.getBoundingClientRect(); const slideCenter = r.left + r.width / 2; const d = Math.abs(center - slideCenter); if (d < distance) { distance = d; closest = i; } }); dots.forEach((dot, i) => { dot.classList.toggle('active', i === closest); }); } carousel.addEventListener('scroll', updateDots); updateDots(); document.getElementById('shopButton').addEventListener('click', function () { window.top.location.href = 'https://lissyskicks.carrd.co/#inventory'; }); })(); (function() { const carousel = document.querySelector('.featured-carousel'); const slides = carousel.querySelectorAll('.featured-slide'); const dots = document.querySelectorAll('.featured-dot'); function updateFeaturedDots() { const carouselRect = carousel.getBoundingClientRect(); const center = carouselRect.left + carousel.clientWidth / 2; let closestIndex = 0; let closestDistance = Infinity; slides.forEach((slide, index) => { const rect = slide.getBoundingClientRect(); const slideCenter = rect.left + rect.width / 2; const distance = Math.abs(center - slideCenter); if (distance < closestDistance) { closestDistance = distance; closestIndex = index; } }); dots.forEach((dot, index) => { dot.classList.toggle('active', index === closestIndex); }); } carousel.addEventListener('scroll', updateFeaturedDots); window.addEventListener('resize', updateFeaturedDots); updateFeaturedDots(); })();

🧼
Cleaning & Restoration

Detailed, hands-on sneaker cleaning and restoration for sneaker lovers throughout Southern Maine — every pair treated with care.

LeatherSuedeNubuckMeshRubber MidsolesFabric

SOCIAL PROOF

Trusted by thousands of buyers

10,600+ items sold with a 5.0-star rating — 7,100+ followers trust Lissy Kicks. Verify it yourself on Whatnot.

5.0★
STAR RATING
10.6K
ITEMS SOLD
2K+
REVIEWS
7.1K
FOLLOWERS

SHOP SNEAKERS

From the personal collection

Individual pairs, sold on a first come, first served basis. To purchase, DM @lissyskicks on Instagram with the sneaker name and size.

📌 More pairs added regularly — check back or follow @lissyskicks for new drops.


SNEAKER RESTORATION

Choose the level of care your sneakers need. Add-ons let you customize further.

Simple, straightforward pricing

Basic Clean

$25

Exterior, midsole & outsole cleaning

Laces cleaned

Best for lightly worn sneakers

Deep Clean

$35

Full exterior + detailed midsole/outsole

Tongue, laces & interior cleaned

Best for dirty or heavily worn sneakers

Restoration

STARTING AT

$50

Deep clean + de-yellowing, suede/leather treatment

Crease reduction when possible

Price varies depending on condition & work required

Add-On Services

Sole icing / de-yellowing. $15


Suede/nubuck restoration. $15


Extra-heavy stain treatment $10


Lace replacement $8


Odor treatment $8


Additional icing session $10

Prices may vary based on material, condition, age & work required — final price confirmed before starting.


BEFORE & AFTER

Real restorations, real results

Swipe through recent transformations — every photo below is a real Lissy Kicks restoration.

← Swipe to see more →
const carousel = document.querySelector('.lissy-carousel'); const slides = document.querySelectorAll('.lissy-slide'); const dots = document.querySelectorAll('.dot'); function updateDots() { const center = carousel.scrollLeft + carousel.clientWidth / 2; let closestIndex = 0; let closestDistance = Infinity; slides.forEach((slide, index) => { const slideCenter = slide.offsetLeft + slide.offsetWidth / 2; const distance = Math.abs(center - slideCenter); if (distance < closestDistance) { closestDistance = distance; closestIndex = index; } }); dots.forEach((dot, index) => { dot.classList.toggle('active', index === closestIndex); }); } carousel.addEventListener('scroll', updateDots); window.addEventListener('resize', updateDots); updateDots();

HOW IT WORKS

Booking is simple

1

Send Photos on Instagram

DM @lissyskicks a few clear photos of your sneakers so I can see what they need.

2

Get a Recommendation & Price

I'll reply with a recommended service and price based on your sneakers' condition.

3

Drop Off or Ship

We'll arrange drop-off or shipping details together, whatever works for you.

4

Pick Up Your Fresh Kicks

I restore your sneakers and reach out on Instagram the moment they're ready.


💬 A note on results

Every sneaker is different. Final results depend on the sneaker's age, materials, existing stains, previous treatments, and any pre-existing damage. Not every stain, scratch, yellowed sole, or damaged material can be completely restored — but every pair receives careful, detailed attention to get the best possible result.

FAQ

Frequently asked questions

How long does turnaround take?+
Turnaround depends on the condition of the sneakers and the services needed. Most pairs are completed within a few days. More involved restorations or multiple icing sessions may take longer. I’ll give you an estimated turnaround time when I review your photos.
What materials do you work with?+
I work with leather, suede, nubuck, mesh, fabric, rubber midsoles, and many other common sneaker materials. I review each pair first so I can choose the safest cleaning and restoration method for the materials involved.
Can every stain, scratch, or yellowed sole be completely removed?+
Not always. Results depend on the sneaker’s age, material, previous treatments, stains, oxidation, and any existing damage. My goal is always to get the best possible improvement without damaging the sneaker.
How do I get a quote?+
Send clear photos of your sneakers to @lissyskicks on Instagram. I’ll review the condition, recommend the appropriate service, and give you a price before any work begins.

Ready to get your sneakers cleaned?

Send a few photos of your sneakers on Instagram and I'll get back to you with a recommendation and price.

@lissyskicks on Instagram

Booking & quotes are handled primarily through Instagram DM — no calls needed. Don't have Instagram? Email [email protected] instead.


Lissys Kicks

Sneaker Sales, Cleaning & Restoration · Southern Maine
Backup contact: [email protected]

Size 7.5 & under

← Swipe to see more →
(function() { const carousel = document.querySelector('.under75-carousel'); const slides = carousel.querySelectorAll('.under75-slide'); const dots = document.querySelectorAll('.under75-dot'); function updateUnder75Dots() { const carouselRect = carousel.getBoundingClientRect(); const center = carouselRect.left + carousel.clientWidth / 2; let closestIndex = 0; let closestDistance = Infinity; slides.forEach((slide, index) => { const rect = slide.getBoundingClientRect(); const slideCenter = rect.left + rect.width / 2; const distance = Math.abs(center - slideCenter); if (distance < closestDistance) { closestDistance = distance; closestIndex = index; } }); dots.forEach((dot, index) => { dot.classList.toggle('active', index === closestIndex); }); } carousel.addEventListener('scroll', updateUnder75Dots); window.addEventListener('resize', updateUnder75Dots); updateUnder75Dots(); })();

Size 89.5

← Swipe to see more →
(function() { const carousel = document.querySelector('.size895-carousel'); const slides = carousel.querySelectorAll('.size895-slide'); const dots = document.querySelectorAll('.size895-dot'); function updateSize895Dots() { const carouselRect = carousel.getBoundingClientRect(); const center = carouselRect.left + carousel.clientWidth / 2; let closestIndex = 0; let closestDistance = Infinity; slides.forEach((slide, index) => { const rect = slide.getBoundingClientRect(); const slideCenter = rect.left + rect.width / 2; const distance = Math.abs(center - slideCenter); if (distance < closestDistance) { closestDistance = distance; closestIndex = index; } }); dots.forEach((dot, index) => { dot.classList.toggle('active', index === closestIndex); }); } carousel.addEventListener('scroll', updateSize895Dots); window.addEventListener('resize', updateSize895Dots); updateSize895Dots(); })();

Size 10-10.5

← Swipe to see more →
(function() { const carousel = document.querySelector('.size10105-carousel'); const slides = carousel.querySelectorAll('.size10105-slide'); const dots = document.querySelectorAll('.size10105-dot'); function updateSize10105Dots() { const carouselRect = carousel.getBoundingClientRect(); const center = carouselRect.left + carousel.clientWidth / 2; let closestIndex = 0; let closestDistance = Infinity; slides.forEach((slide, index) => { const rect = slide.getBoundingClientRect(); const slideCenter = rect.left + rect.width / 2; const distance = Math.abs(center - slideCenter); if (distance < closestDistance) { closestDistance = distance; closestIndex = index; } }); dots.forEach((dot, index) => { dot.classList.toggle('active', index === closestIndex); }); } carousel.addEventListener('scroll', updateSize10105Dots); window.addEventListener('resize', updateSize10105Dots); updateSize10105Dots(); })();

Size11-11.5

← Swipe to see more →
(function() { const carousel = document.querySelector('.size11115-carousel'); const slides = carousel.querySelectorAll('.size11115-slide'); const dots = document.querySelectorAll('.size11115-dot'); function updateSize11115Dots() { const carouselRect = carousel.getBoundingClientRect(); const center = carouselRect.left + carousel.clientWidth / 2; let closestIndex = 0; let closestDistance = Infinity; slides.forEach((slide, index) => { const rect = slide.getBoundingClientRect(); const slideCenter = rect.left + rect.width / 2; const distance = Math.abs(center - slideCenter); if (distance < closestDistance) { closestDistance = distance; closestIndex = index; } }); dots.forEach((dot, index) => { dot.classList.toggle('active', index === closestIndex); }); } carousel.addEventListener('scroll', updateSize11115Dots); window.addEventListener('resize', updateSize11115Dots); updateSize11115Dots(); })();

Size 12-12.5

← Swipe to see more →
(function() { const carousel = document.querySelector('.size12125-carousel'); const slides = carousel.querySelectorAll('.size12125-slide'); const dots = document.querySelectorAll('.size12125-dot'); function updateSize12125Dots() { const carouselRect = carousel.getBoundingClientRect(); const center = carouselRect.left + carousel.clientWidth / 2; let closestIndex = 0; let closestDistance = Infinity; slides.forEach((slide, index) => { const rect = slide.getBoundingClientRect(); const slideCenter = rect.left + rect.width / 2; const distance = Math.abs(center - slideCenter); if (distance < closestDistance) { closestDistance = distance; closestIndex = index; } }); dots.forEach((dot, index) => { dot.classList.toggle('active', index === closestIndex); }); } carousel.addEventListener('scroll', updateSize12125Dots); window.addEventListener('resize', updateSize12125Dots); updateSize12125Dots(); })();

Size 13+

← Swipe to see more →
(function() { const carousel = document.querySelector('.size13plus-carousel'); const slides = carousel.querySelectorAll('.size13plus-slide'); const dots = document.querySelectorAll('.size13plus-dot'); function updateSize13PlusDots() { const carouselRect = carousel.getBoundingClientRect(); const center = carouselRect.left + carousel.clientWidth / 2; let closestIndex = 0; let closestDistance = Infinity; slides.forEach((slide, index) => { const rect = slide.getBoundingClientRect(); const slideCenter = rect.left + rect.width / 2; const distance = Math.abs(center - slideCenter); if (distance < closestDistance) { closestDistance = distance; closestIndex = index; } }); dots.forEach((dot, index) => { dot.classList.toggle('active', index === closestIndex); }); } carousel.addEventListener('scroll', updateSize13PlusDots); window.addEventListener('resize', updateSize13PlusDots); updateSize13PlusDots(); })();