Skip to main content
Kandi Patterns home page showing recent patterns

Kandi Patterns

YiiLaravelPHPMySQLjQueryReact

Kandi Patterns is a bead pattern website that lets users create and share bead patterns using a React pattern maker. Social features include a forum, user profiles, friends, and private messaging. I originally started this website on Joomla in 2010 and it has since attracted around 200,000 registered users without any paid advertising, currently receiving 1-1.5 million monthly visits. I’m currently migrating the main site from Yii Framework to Laravel 12.

Features

  • Bead pattern maker with private and public pattern settings, and multiple pattern types
  • User votes determine which patterns get published. Votes are weighted based on user quality.
  • Browse and search patterns by keywords, tags, and categories
  • Image gallery for sharing photos of beaded crafts
  • User profiles with friends, messaging, and a gallery of uploaded content
  • Amazon S3 image hosting - for both photo uploads and storing pattern images
  • Reporting and moderation tools for user safety
  • Uses Cloudflare and Akismet for security and spam protection
  • Custom Yii CLI commands for mass pattern approvals based on chosen criteria
  • Hosted on a Linode VPN

Technical Details

The main website uses Yii Framework with a MySQL database and a Sphinx search server. The pattern maker has a React frontend with a separate Laravel REST API that handles image processing and uploads.