My NeighborHub

A WeChat Mini Program connecting overseas Chinese communities — secondhand marketplace, local service recommendations, and neighbor-to-neighbor mutual aid.

My NeighborHub — neighbor-recommended professionals, scoped to your community

Where mutual support happens

Moving to a new city, you ask around in WeChat groups for a reliable plumber or a Chinese-speaking electrician. The messages scroll away. Someone responds — but you have no idea if they're trustworthy. A friend gives you a phone number. You write it on a sticky note and lose it a week later.

Every overseas Chinese community member has lived through this.

My NeighborHub (乡邻社) is a WeChat Mini Program built for this exact problem. It gives your neighborhood's trust and information a permanent home — no download, no separate app, no account to remember. If you have WeChat, you're already in.


Designed around how neighbors actually help each other

Find a reliable pro — without the guesswork

Every service professional on the platform was put there by a real neighbor who hired them. Not an ad. Not a listing purchased by a business. A neighbor who said "this person was good," then took five minutes to write down their name, number, and what they do.

Plumbers, electricians, landscapers, movers, cleaners, handymen — each one comes with a contact and written reviews from people in your zip code who've actually used them.

There are no star ratings. Stars flatten nuance into a number. Instead, neighbors leave freeform text: "Arrived on time, explained the problem clearly, speaks Mandarin, reasonable pricing." That's the kind of signal that actually informs a decision.

One tap to contact

Every listing and contractor profile surfaces contact information — phone number, WeChat ID, WeChat QR code — without requiring you to log in or pay. Tap a phone number and your phone calls. There's no friction between "I found what I need" and "I'm getting in touch."

Your community in your language

My NeighborHub is fully bilingual. Switch between English and Chinese from the settings page — the entire interface, every label, every prompt, every legal document follows. First-generation immigrants and their American-raised children can use the same app without compromise.


Community isolation — your content stays in your zip code

A platform you can trust

Trust is the hardest thing to build in a community platform. My NeighborHub approaches it as a systems problem, not a policy problem.

Verified Neighbor

Complete your profile — avatar, nickname, phone number, and zip code — and post five or more listings or recommendations to earn the Verified Neighbor badge. It appears on every card you post, signaling to other neighbors that you're a real, invested member of the community. Not an account made to spam. Not a bot. A neighbor.

Your content only reaches your community

Everything on the platform is scoped by zip code. You see listings from your zip code. Your posts are visible to your zip code. Neighbors in a different community see nothing of yours — not because of a setting, but because the system was built that way from the ground up. Row Level Security at the database layer enforces this on every query. It's not a filter you can accidentally bypass.

Automatic content moderation — before anything goes live

Every listing and contractor recommendation passes through an automated review pipeline before it becomes visible in the community feed. When you post, the content goes into a pending state. Behind the scenes, the platform calls WeChat's official Content Security API to check text and images for prohibited content. If everything passes, the post goes live. If something is flagged, you see the specific reason on your profile page and can fix and resubmit.

This isn't a general-purpose spam filter. It's WeChat's own moderation infrastructure — the same system that governs content across the entire WeChat ecosystem — running on every piece of content that enters My NeighborHub.

The review takes seconds, not days. And it runs entirely in the background. You post, you see "submitted for review," and the post appears in the community feed shortly after. No waiting room, no moderation queue to check back on.

For lower-stakes real-time content — reviews, nicknames, avatars — moderation is synchronous: the content is checked before it's saved, and blocked content is returned to the user with a specific explanation rather than silently dropped.

Transparent rejection, not silent removal

If a post doesn't pass review, you're told exactly why. "The title contains prohibited content." "The second image was flagged." You can fix the specific issue and resubmit with one tap. The same automated review runs again on the updated content. Nothing gets stuck, and nobody is left wondering what happened.


Content review pipeline — every post passes WeChat's Safety API before going live

Design Language: The Digital Veranda

The interface is built around one metaphor: the front porch of an American home.

A porch is neither inside nor outside — semi-open, warm, unhurried. Neighbors stop to chat. You can sit alone with the afternoon. Community happens here without being forced.

That feeling became a set of deliberate design constraints:

Warmth over utility. The primary color is amber (#ff9500), a gradient from deep brown to bright gold. Not cold tech blue — sunlight on wooden porch boards. Text is deep charcoal, never pure black. Pure black is too aggressive for a place built on neighborly trust.

Invisible structure. The entire interface bans 1px dividers. Visual hierarchy is expressed through tonal elevation — surfaces sit at different background levels, so you always know where you are without ever seeing a hard boundary.

Soft at every edge. Cards use 24px corner radii, inputs 8px, the smallest targets 4px. Nothing is sharp. The rounded-corner system isn't cosmetic; it shapes the emotional register of every interaction.

Consistency by construction. Every color token, spacing step, shadow, and radius is defined once in a design token file and referenced everywhere. The visual language holds together because it structurally can't drift.


Architecture

My NeighborHub is built on the WeChat Mini Program native framework with a Supabase backend. The architecture is shaped by two hard constraints: WeChat's runtime has no DOM and no npm ecosystem, and the community it serves crosses language and trust boundaries that most platforms ignore.

No passwords, ever

WeChat doesn't expose phone numbers or emails to third-party apps — only an opaque OpenID. Rather than building a separate account system, My NeighborHub uses a shadow account pattern: each WeChat OpenID maps to a Supabase user via an Edge Function, which issues a signed JWT on every login. No password, no email verification, no SMS code. Authentication derives entirely from the WeChat identity you already have.

Token expiry is invisible. A three-stage recovery chain handles it — local token validation → silent refresh → silent re-login via wx.login() — without ever interrupting the user.

Trust enforced at the database, not the application

Content isolation is enforced by Row Level Security at the database layer. No API call can return content outside the requesting user's community, regardless of what parameters are passed. The boundary is structural — not a filter, not a convention, not something that can be misconfigured.

The same architecture makes adding a new community trivial. There's no tenant configuration, no infrastructure change. A user enters a new zip code and that community exists.

A layered component model

At the base are Behaviors — mixins that inject shared logic (toasts, dialogs, card interactions) into any Page or Component. Above that is a library of self-contained components — listing cards, contractor cards, review panels — each owning its markup, styles, and state. Pages are thin orchestrators that compose components and handle routing.

A listing card looks and behaves the same on the home feed, in search results, in the user's profile, and in a shared link preview. Always the same component, always the same normalized data shape.

Real-time community metrics

The Community Data Center subscribes to database change events via Supabase's real-time layer. View counts, contact clicks, engagement rates — they update in place as they happen. Community managers see a live picture: which categories are heating up, which professionals are being contacted, how this week compares to last.


Privacy by Default

All content is scoped to your zip code. Your exact address is never displayed publicly. Zip code is the only geographic data the platform requires to join.

Account deletion is atomic: listings, favorites, reviews, uploaded images, and the authentication record are all removed in a single operation. Nothing lingers.


Open Source

My NeighborHub is released under the MIT license. The full source is available on GitHub.