Skip to content
Web application
All projects

SpandToon

A publishing platform that adapts quickly to multiple manga and webtoon sites: each site comes up from the same core with its own brand, theme and modules. Reader, panel, gamification and ads in one package.

Role
Sole developer
Duration
6 weeks, 2026
Built with
Next.js, React, Tailwind CSS, MySQL
SpandToon home page

Sorun

Why it exists

Groups that publish series either build every site from scratch or live within the limits of a ready-made theme. The reader side is little more than "stack the pages", the panel cannot handle bulk uploads, and ads, membership and community get patched on later.

Yaklaşım

A platform, not a site

I built the system from scratch: 24 modules toggle from the panel, and every install runs with its own brand and its own database.

SpandToon is not one site; it is the core that produces sites. Brand, theme, copy and modules come from settings, so a new manga or webtoon site is prepared from the same platform without writing code. A site built on it is live today; at its owner's request I do not share the address.

Nasıl çalışıyor

From upload to reader

  1. Upload

    Chapters upload in bulk; a dropped upload resumes.

    ZIP, in chunks
  2. Schedule

    A chapter goes live at the chosen time.

    draft, publish date
  3. Optimise

    Images are compressed and readied for the CDN.

    WebP
  4. Protect

    Pages are served through expiring links.

    signed links
  5. Read

    Readers continue where they left off.

    vertical or paged

Teknik özet

Technical summary
App
Next.js 15, React 19, TypeScript
Interface
Tailwind 4, shadcn/ui
Data
MySQL, Drizzle ORM
Cache
Redis
Storage
Local disk, Cloudflare R2 or Bunny
Panel
38 screens, 5 roles

Önemli değişiklik

Scale and protection

  • A hundred reads, one write. Views are buffered in memory and written in batches; a popular chapter never chokes the database, and the same reader reopening a page is not counted twice.
  • Protected yet fast images. Chapter pages are served through expiring signed links; signatures are generated per time window, so the CDN cache stays intact.
  • Load test. The cached home page served about 30k requests per second from a single server, with zero errors at 4,000 concurrent connections.
  • Real traffic. On a site running this platform, with 3,000 chapters published, 840 readers read at the same time; a single 4-core, 8 GB RAM server served them without lag or waiting.

Sonuç

concurrent readers
3,000 chapters, 4 cores / 8 GB RAM
840
requests/s, one server
0 errors at 4,000 connections
~30k
toggleable modules
24
from first commit to live
6 weeks
admin screens
38
mini games
badges, quests, daily rewards
4

Ekranlar

Ne öğrendim

Writing a site and writing the system that builds sites are different jobs. Once every feature is a module, a new install changes settings, not code, and maintenance stays in a single codebase.

The next branch is your project

Tell me in a few sentences what you want to build. I usually reply the same day, the next day at the latest.

Right now I am open to new work: freelance projects, remote or on site in Istanbul. A web platform, a model to train or a stubborn device; whichever it is, write or call.