easy-to-host social platforms for everyone
Current version: 1.1.1A
This is a project where anyone can easily fork/clone and deploy their own versions of this platform. This GitHub repository provides a sort of boilerplate template for making your own such platforms, in a way. Unlike Mastodon and other open-source and decentralized or fediverse alternatives like this, the code is compiled into a static site, meaning it can be easily hosted on most free hosting providers for $0. All it needs is a database connection via Supabase. The content behaves as if it is dynamic and real-time, thanks to both Vercel (as what we have used) and Supabase's real-time API features. Also to get started on developing your own version of LiaoTian, it's much simpler than most other "templates" out there, since it uses only a small number of files for its actual codebase (as of now). The word "LiaoTian" comes from the Chinese/Mandarin word "聊天" for "chatting to relieve boredom", formulated during November 2025 when the founder of this project (@dwmk) was going through a hype for Chinese culture.
If you just want to create an account on Liaoverse (our official deployment) then sign up here.
- Fork this repository to your GitHub account.
- Connect this repository to your Vercel account.
- Create a Supabase database. Initialize with the SQL commands stored in
supabase/init_it_all.sql. - Insert the environment variables
VITE_SUPABASE_URLandVITE_SUPABASE_ANON_KEYon Vercel according to your Supabase API connection system (choose App:NextJS). Also needVITE_TENOR_API_KEYfrom Google Developer Console for allowing sending GIFs. - If all steps are correct, you should be able to see your own instance of LiaoTian ready and deployed! Have fun customizing it to your needs.
- Currently, the following features can be customized by inserting/modifying the following environment vaiables on your deployment (e.g. Vercel):
VITE_FOLLOW_ONLY_FEED=true(will show only followed users' posts in the feed),falseor missing (will show all posts from all users)
- Also you can modify
src/index.cssto customize the color palettes and themes to your wish.
- Post on the feed and customize profiles like X/Twitter
- Messaging like Telegram/WhatsApp
- User following/followers
- User profiles via url parameters (e.g. /?liaotian)
- Animated GIFs eligible for profile customization
- Upload files (max 10 MB, or as configured)
- Upload images, videos, documents (txt, pdf, doc/x)
- User settings (to change username, email, password, etc.)
- User verification requests
- Custom themes
- Custom pages/sections
- Deleting own posts from profile, via 3-dots context menu per post
- Replying to messages
- Online status green dots
- Host audio and video calls
- Comments and replies on posts (in a comment modal)
- Multiple tabs on Profile for posts, media, and likes. Media tab is in a classic Instagram-like grid.
- Multiple tabs on Feed for posts and shots ("shorts/"reels") in TikTok-like swipe navigation UI.
- Platform data statistics page (accessible on /stats)
- Voice messages
- Web visitor analytics via Vercel
- Posting on Status (similar to FB/IG story) + view detecting and replying via Messages logic
- Status archive
- custom SVG loading animations
- Notification system (with "clear all" button to easily clear from database, too)
- Message read receipts (checkmarks)
- Groupchat functionality with 2 modes - singular channel (like WhatsApp, Messenger, Telegram) or multi channel (like Discord, Slack, Matrix).
- Reactions for messages
- Paste from clipboard to messages
- Public post sharing via context menu
- Gazebo joining Welcome page
- Embed links (in Feed, Messages, Gazebos) and YouTube videos (in Feed)
- Create and manage groups
- Custom ringtone & calltone for Calls in Messages
- Special event/party mode (activated via App.tsx)
- Sending GIFs via Tenor (in Messages only)
- Reposting others' posts
- Custom badges
- Mobile-friendly UI layout
- Posting long-form content, e.g. blogs
- Hashtags
- Custom sounds, e.g. notifications, clicks, etc.
- Privacy settings for posts + "emergency profile shutdown" option to temporarily make only posts have "only me" level privacy.
- Add Discord-like activity detection for desktop client by identifying window titles or otherwise, for showing what game users are currently playing, etc.
- Add more sidebars for navigation to further secondary sections (Discover, Groups, Users, Trends).
- Link-in-bio builder
- Live streaming (from story? like early IG?)
- Cookie “__cf_bm” has been rejected for invalid domain. Browser console error logs sometimes.
- audio and video calling may require a turn server
- Gazebo VC video and screen sharing issues (local works fine)
- Groups need better UI/UX for modification, post flairs in feed, etc.
- Forums need better UI/UX and allow media attachments
- Reposts don't show up on Profiles
- Message editing/deleting issues (locally works, not on DB)
Content Security Policy of your site blocks the use of 'eval' in JavaScript`
The Content Security Policy (CSP) prevents the evaluation of arbitrary strings as JavaScript to make it more difficult for an attacker to inject unathorized code on your site.
To solve this issue, avoid using eval(), new Function(), setTimeout([string], ...) and setInterval([string], ...) for evaluating strings.
If you absolutely must: you can enable string evaluation by adding unsafe-eval as an allowed source in a script-src directive.
⚠️ Allowing string evaluation comes at the risk of inline script injection.
1 directive
Source location Directive Status
script-src blocked
Learn more: Content Security Policy - EvalLiaoTian is a digital product brand/project by Mux ZiZhiZhe Co. under HuanMux.
By cloning this repository and hosting/working on your own instance, you agree NOT to re-use the same brand name "LiaoTian"/"Liaoverse" or any of the identifying features (e.g. logo, wordmark, etc.) for very obvious reasons (e.g. misrepresentation). If you wish to create your own social platform using this template, you must customize your own version with your own unique product name, icon/logo, tagline, etc.
This project is now live on ProductHunt.