Leetty: The Smart Marketplace Transforming Secondhand from Market to Showcase

Don't just sell your unused items. With Leetty, build your showcase, trade, create hidden opportunities, and offer an AI-powered showcase experience.

Ceyhun Enki Aksan
Ceyhun Enki Aksan Entrepreneur, Maker

What is Leetty?

Build your showcase, sell, or trade. The most practical way to transform what waits on the shelf into what you need.

Most secondhand platforms start with the same assumption: More listings, more chaos.

Leetty (Pronounced: /ˈliːti/) advocates the exact opposite.

Every product is not a listing, but a showcase piece, and every user is not a seller, but a maker.

Leetty is not an ordinary marketplace established to sell or trade unused items1. It is a platform based on curation, focused on the showcase, and resolving trust at the system level. It is the most practical way to deliver your surplus materials or valuable items you are unaware of to those who need them. Because a standard ecommerce platform does not treat such products as value.

My goal with this project was not to replicate the market noise of classified sites, but to transform secondhand into a showcase experience and products into value.

Leetty donation and community feature

Why Not Just Another Marketplace?

Today, there are five fundamental problems in secondhand platforms:

  1. Everyone speaks the same language, no one stands out
  2. Trust feels like an afterthought
  3. Real-life scenarios like trade and hand delivery remain half baked
  4. Product listings lack structure and curation
  5. Sales take priority over value transfer

Leetty solves these problems not in design, but in business rules.

No sellers, there are makers. No listings, there are showcases. No random lists, there is smart sorting.

This approach is not just a UI matter. The badge system, credit architecture, Zula, smart trade, and security layers are all designed according to this perspective.

Leetty photo adding interface

Showcase Philosophy

Adding a product in Leetty is not entering a listing.

The product is treated not as a card, but as an exhibition piece. Therefore:

  • The interface recedes with flat and clean design
  • Every showcase looks consistent with the 60-30-10 color rule
  • Creator language is used instead of seller language
  • Collection stands out, not the product

As a result, the buyer does not search for products, they browse showcases.

The entire design process was primarily handled in Figma. The coding process was conducted with Claude. A structure ready for international expansion was created with Turkish and English interface support, and TRY and USD currency support.

Leetty trade and community features

Project Architecture and Technologies Used

Main Services and API Integrations

  • Backend: The project’s backend is developed with Python language and Django 5 framework. Django REST Framework is used for RESTful API, and Simple JWT for authentication. Celery workers are used for asynchronous tasks (AI image generation, notifications), and Redis is used for message broker and cache.
  • Frontend: React 19 library, Vite build tool, and Tailwind CSS were preferred for a modern and fast user experience. Zustand is used for state management.
  • Database: PostgreSQL is used in both development and production environments. Strategic indexes and GIN indexes (for badge queries) have been applied for performance optimization.
  • Payment Infrastructure: iyzico Marketplace Solution integration is used for secure and fast payments. This securely manages the money flow between buyer and seller.
  • Shipping and Logistics: Shipping processes are automated with Geliver API and OTO API. However, the structure provides multi and extensible shipping company support. Integration with different providers can be provided in the future based on shipping movements. Sellers can choose their preferred shipping company (HepsiJet, Aras, Yurtiçi, PTT, etc.). Desi calculation is done automatically and the instant shipping price is shown.

Infrastructure and Additional Services

  • Cloudflare Ecosystem:

    • R2 Object Storage: Product images and media files are stored in S3-compatible R2. Secure access is provided via Presigned URLs.
    • Workers + KV: Serverless functions for spam mail control and scheduled tasks (cron jobs).
    • Workers AI: Smart content generation and moderation with LLM models (Llama 3.1 70B).
    • Turnstile: User-friendly bot protection instead of CAPTCHA. Protects forms from spam together with rate limiting.
    • CDN: Fast content delivery with global edge network.
    • Zaraz: Server-side tag manager. Privacy-first event sending to Mixpanel and GA4.
  • Fal AI: Flux and Nano Banana Pro models for image generation. Upgrades product photos to professional studio quality.

  • Redis: Message broker for Celery task queue, Django cache backend, and session storage. Low latency with private network on Railway.

  • Resend: Transactional email sending. Account verification, order notifications, and password reset emails.

  • Google Maps API: Places API integration for address autocomplete and location selection.

  • Railway: Railway platform was preferred for production deployment. Management ease is provided by connecting directly to the container via SSH.

  • Sentry: Error monitoring and performance tracking. Full visibility with Celery and Redis integrations.

  • Microsoft Clarity: Session recordings, heatmaps, and user behavior analysis.

Platform Features

Leetty Magic AI photo enhancement

Magic AI: Not Taking Photos, But Presenting

Most secondhand sales fail because of poor quality photos.

Leetty solves this—not by forcing you to set up a studio, but with AI.

Magic AI transforms an ordinary phone photo into a showcase-ready presentation. It offers six styles: Basic Enhancement, Professional Product Photo, Clean Background, Vivid Colors. For the indecisive, I’m Feeling Lucky applies all optimizations in one click. For the creative, Custom Request lets you write your own prompt.

Previews are free—credits are only spent when you select a result. No penalty for experimenting. This small design choice reflects the fairness built-into the entire system.

Leetty validation and badge system

Badge System: Building Trust with Gamification

Every user automatically earns badges based on their actions. Complete iyzico KYC verification to become a Verified Creator. Make 10+ successful sales to earn Master Curator. Deliver more than half your sales by hand to unlock Local Hero. Dreamer goes to wishlist collectors, Philanthropist to those sharing free items, and Phenomenon to community ambassadors.

These badges are calculated in real-time and tamper-proof—transaction history is immutable, wishlist creation is rate-limited, and every change is logged in the audit trail.

Zula: Hiding What Others Can’t See

In Leetty, some products are intentionally hidden—they don’t appear in feeds or search results. Only those with the direct link can find them.

For those who discover these hidden gems, Zula comes into play.

Zula doesn’t pressure you to buy immediately. It gives you time to decide, but makes that time meaningful. The FOMO mechanism is controlled and fair—with countdowns, extension credits, and trade options.

  1. Discover an UNLISTED product via direct link
  2. Stash it for 24 hours (hide it temporarily in your Zula)
  3. Countdown begins—decide before time runs out
  4. Buy with cash via Move to Cart or make a hybrid payment via Offer Trade
  5. Extend the timer by +24 hours for 1 credit (up to 3 times)

Smart Trade: Cash + Product Combination

Leetty’s trade system is not a simple “product swap”. With Smart Trade:

  • You can set 0-100% of the product value as the trade ratio
  • You can accept products from specific categories
  • The value difference (overage) is paid in cash
  • Netting calculation is done automatically

For example: You list a ₺1,000 product with a 50% trade ratio. The buyer can offer ₺400 worth of items from your specified category + ₺100 cash. The buyer can also browse your inventory, propose alternative items (within the category), and negotiate—approving or rejecting parts of the offer.

Radar: Smart Product Tracking

Add products that are not in the system but interest you to Radar and get notified primarily when the product is added.

  • Price Change: Get notified when the product price drops
  • Stock Status: Get notified when an out of stock product becomes active again
  • Daily Scan: The system checks automatically every day
  • Smart Match: Suggestion when new products appear in the same category

Smart Showcase: Smart Product Recommendation

The “Seller’s Other Products” section isn’t a random list. A weighted scoring algorithm runs behind the scenes: items from the same collection rank highest, followed by same city hand delivery or free items, then same category products. Trade enabled items get a bonus. The result? Only the most relevant recommendations surface.

Trust and Security

Privacy Protection

  • Zone Protection: Safeguards location privacy—no full addresses shared. Only city/district level matching.
  • Blind Indexing: Email addresses, physical addresses, and phone numbers are HMAC hashed. Even in a database breach, personal data stays protected.
  • Handover Code: One-time 6-digit verification for hand delivery meetups. Buyer shows code, seller confirms. Zero risk of handing over to the wrong person.

Security Mechanisms

  • Rate Limiting: Smart throttling in API requests. Protection against brute force attacks.
  • 14 Day Hold: Payments are held securely at iyzico. Money is safe until approval and return processes are completed.
Leetty sale, trade and community events

Community Features

Freebox and Charity Sales

Leetty is not just commerce—it’s a community and kindness platform:

Freebox (FREEBOX): Share items you no longer use but others might value—completely free. When you set the price to 0 TL, it automatically switches to “Freebox” mode. These items are prioritized for users in the same city.

Charity Sale (CHARITY_SALE): Donate a portion of your sale to a foundation of your choice. Select from platform approved charities, and when the sale completes, the donation amount is automatically calculated and transferred.

Fair Use Rule: You can list up to 5 Freebox or Charity Sale items per month. This prevents system abuse while encouraging genuine generosity. These items are not eligible for trade.

Integration with Blog

Leetty Blog is at the intersection of content and commerce:

AI Cover Image: AI-powered cover image generation for blog posts. Cloudflare Workers AI (Llama 3.1) generates 3 different prompts from the article content, Fal AI (Flux) creates photorealistic images from these prompts.

Related Products: Keyword and category-based product recommendations for the blog post. In a “3D Printing Guide” article, 3D printing products on the platform are automatically shown.

Radar Pre-selection: The “Add to Radar” button in the blog post comes pre-selected according to the category of the article. The reader can be informed about new products in that category with a single click.

Slot and Credit System

Leetty follows a “start free, pay as you grow” model. Every new user gets 5 welcome credits (valid for 90 days).

3-Slot Rule

For each product, the first 3 images, 3 categories, and 3 collections are free. Additional slots cost 1 credit. Once unlocked, slots are permanent—no repeat charges.

Limits

To prevent spam: Daily 10 activations, total 100 products, 10 drafts, 6 AI previews per product.

Fixed vs Temporary Credits

With CreditBatch architecture, each credit package is tracked separately. Purchased and referral credits are permanent; welcome, sale/trade rewards expire over time. Spending order: temporary credits first (closest to expiration), then permanent ones—so nothing goes to waste.

Ways to Earn Credits

Earn 1 credit per successful sale or trade (max 5 of each per month). Invite a friend and earn 1 permanent credit when they make their first purchase.

API Success Principle

All paid operations use atomic transactions: credits are deducted only on success, untouched on error, and refunded on timeout.

Smart Archive

Automated archiving preserves database performance: products inactive for 10 days revert to DRAFT, completed orders archive after 90 days, expired Zula records clean up hourly. Operations trigger via Celery and/or Cloudflare Workers.

Product Visibility Options

VisibilityIn FeedIn SearchDirect Link
PUBLICYesYesYes
FOLLOWERS_ONLYFollowersNoFollowers
COLLECTIONNoNoYes
UNLISTEDNoNoYes (With Zula)

Current Scope and Expansion Plan

Leetty is currently active in select provinces and districts. The strategy is “depth first, then breadth”—deliver a flawless experience in a focused area before expanding. As the community grows and processes mature, coverage will scale gradually.

Benefits of this approach:

  • Realistic distances for hand delivery meetups
  • Stronger local community and trust
  • Optimized shipping costs
  • Rapid iteration via tight feedback loops

Project Goals

MVP (Minimum Viable Product) Goals

  • User: Reaching 1,000 active users
  • Transaction: Completing the first 100 successful sales and trades
  • Community: 50 sellers actively listing products and interacting
  • Scope: Expansion to new cities after building a strong community in existing cities

Mid-Term (1 Year)

  • Mobile App: Publishing iOS and Android applications developed with Capacitor
  • Growth: 10,000 active users and 1,000 successful monthly transactions
  • Features: Development of features within the scope of Phase 2 and Phase 3

Long-Term (2+ Years)

  • International Market: Activation of English and USD features and first country expansion
  • Artificial Intelligence: Enriching user experience with personalized product recommendations and smart search features
  • Sustainability: Contributing to a sustainable consumption model by spreading secondhand and trade culture

Test Infrastructure

As a solo entrepreneur and solo developer, I need every change to be safe. That’s why I built comprehensive test coverage:

Backend: Unit/integration tests with Django TestCase, realistic Turkish/English test data via Factory Boy + Faker. Race conditions, credit manipulation, and all business rules are auto-verified.

Frontend: E2E tests with Playwright—login/register flows, order journeys, trade scenarios, webhook edge cases. API mocks for isolated testing.

Abuse Tests: Dedicated tests for every exploit scenario—referral loop detection, fake payment signature verification, disposable email blocking, phantom reserve cleanup, AI leech protection, and more. Even rare edge cases like “Ping-Pong Cartel” (max 1 reward/month per pair) and “Sale Loop” (circular transaction detection) are covered.

Test coverage goal: 90%+ in critical workflows

Development Tools

I built custom tooling to accelerate solo development:

OpenSpec: Spec-driven development system. Every feature flows through proposal → design → spec → tasks. All business rules documented across 30+ spec files2.

Claude Code Skills & Hooks: AI assisted workflows—/fix for bug protocols, /refactor for zero regression rewrites, /bump for semantic versioning, /migrate for database migrations, /db-sync for prod to local sync. Pre commit hooks enforce quality3. All custom skills and hooks are shared open source in the claude-plugins repository.

Protocol Documents: Standardized procedures like FIX_PROTOCOL (root cause analysis), REFACTOR_PROTOCOL (4 phase approach), PERFORMANCE_PROTOCOL (memory optimization).

Technology Choices

Backend: Django Ecosystem

I chose Django 5 and Django REST Framework. Why? Fast prototyping, built-in admin panel, and a mature ecosystem are essential for a solo team. Simple JWT got authentication done in an hour.

Celery workers are lifesavers for async tasks—AI image generation, email notifications, archiving—all running silently in the background. Redis serves as message broker, cache, and session store. Railway’s private network keeps latency under 5ms.

Frontend: Modern Stack

React 19 + Vite + Tailwind CSS. Vite’s hot reload is 3x faster than alternatives. Zustand handles state management—simpler than Redux, zero boilerplate.

Every Figma design translated 1:1 to Tailwind components.

Database: PostgreSQL Optimization

PostgreSQL in both production and development. GIN indexes for badge queries, strategic indexes for weighted scoring. One optimization cut badge query time from 400ms to 12ms.

Cloudflare Ecosystem: Almost Everything

R2 Object Storage: S3-compatible but bandwidth is free. Secure access with Presigned URLs. Workers + KV: Spam mail control and cron jobs. Zero maintenance cost because it’s serverless. Workers AI: Prompt generation with Llama 3.1 70B. API cost is 1/10 of classic LLMs. Turnstile: User-friendly bot protection instead of CAPTCHA. Zero spam with rate limiting. Zaraz: Server-side tag manager. Privacy-first event tracking.

Artificial Intelligence: Fal AI

Image generation with Flux and Nano Banana Pro models. Webhook system is asynchronous—notification when result arrives without user waiting.

Payment and Logistics: Specific to Turkey

iyzico Marketplace: Sub-merchant onboarding, escrow system, automatic commission deduction. 14-day money hold rule built-in. Geliver API + OTO API: Shipping company selection, desi calculation, instant price, label creation. All automatic.

Monitoring and Analytics

Sentry: Error monitoring and performance. Full visibility with Celery and Redis integration. Microsoft Clarity: Session recordings, heatmaps. I see what users are really doing.

Test and CI

Playwright: E2E tests. Auth flow, order flows, trade flows—every critical user journey is under test. Factory Boy + Faker: Realistic Turkish/English test data in Backend. Tests are very close to production.

Hosting: Railway

I can connect directly to the container via SSH. Migrations, shell commands, logs—all 1 line. With Railway’s private network, Redis latency < 5ms.

Design System

Figma → Tailwind CSS: Flat & Clean, WCAG 2.1 AA compliant. Every component was designed in Figma first, then coded. Design-code consistency is 100%.

Why So Much Detail?

Because Leetty is a production-ready MVP, not a demo.

Features like tamper-proof badges, atomic credit transactions, trade netting calculations, abuse prevention tests, and archiving rules—these are typically postponed in marketplaces. Not here. I clarified the core logic and focus in October, started development in November, and shipped the MVP on January 1, 2026.

Leetty aims to make secondhand not a “last resort”, but a conscious choice. Consume less. Trade smarter. Highlight real value.

What did I build? Not just a marketplace—a system. Who is it for? Not everyone looking to sell. For those who circulate value, not just goods. Why is it different? Because trust, design, and business logic are built from the same foundation.

Project development process and roadmap can be tracked via GitHub Projects.

Footnotes

  1. What is Leetty?
  2. OpenSpec. A lightweight spec-driven framework
  3. Claude Code Skills & Hooks