HomeWorks
ExperimentsWriting

© 2025 Guo Ying. Made with midnight builds.

Works>

Yibu 一步 — Social Platform

2025
Yibu 一步 — Social Platform
SocialNext.jsReal-timeFull-stack

"Connect, share, and discover — your social experience reimagined." Profiles, a three-column feed with tabs, compose, likes and replies, trending, and a premium upsell card. Dark-first design with a light-mode sign-in split-screen.

Visit Website Source on GitHub
Status
Prototype
Role
Full-stack developer
Platform
Web (responsive)
Stack
Next.js · React · TypeScript · Tailwind CSS · WebSocket

The idea

Yibu ("one step") is a microblogging platform: post a thought, follow people, scroll a timeline. The familiar grammar — because the point is the product work around it, not the format.

A feed is a pipeline

The feed is not a component, it is a pipeline: fetch → normalize → sort → virtualize. Every post is a typed Post record, the timeline is an infinite scroll over a cursor, and only visible rows are mounted as DOM nodes.

type FeedRequest = { cursor: string | null; tab: 'for-you' | 'following' };
type FeedResponse = { posts: Post[]; nextCursor: string | null };

// The tab is part of the query key — switching tabs refetches,
// not recomputes.
queryKey: ['feed', tab, cursor],

Dark-first, deliberately

The default theme is dark. Every card, badge, and input was specced in dark mode first; light mode is the accent. The premium upsell card is deliberately inverted — one white surface in a black feed pulls the eye exactly once.

The split-screen login

The sign-in page is two panels: the brand story on black, the form on white. It was the first place I put real design intent — and the last place I'd cut it. Login flows are a portfolio's most-read page; they deserve the budget.