Overview
Machi is a city-life community product I build and run solo. The Web client uses Next.js, while a Python backend exposes the shared API used by Web, iOS and Android.
The Web client and shared backend for Machi, a city-life community platform covering posts, housing, second-hand listings, jobs, messages, notifications, membership and media upload.
Tech Stack
My Role
Product design, full-stack architecture, Web client, Python API, database, deployment and operations
Problem
Web, iOS and Android needed to share the same data facts while keeping platform-specific interaction patterns.
Solution
I centralized accounts, feed, posts, messages, notifications, media and membership in one API, with compatible DTOs for all clients.
Result
Built the foundation: 80+ REST + SSE endpoints, 19 tables, media upload, soft delete, cursor pagination and multi-client sync.
Machi is a city-life community product I build and run solo. The Web client uses Next.js, while a Python backend exposes the shared API used by Web, iOS and Android.
Machi is a city-life community product I build and run solo. It brings housing, second-hand listings, jobs, local services, Q&A, messages, notifications and membership into one city space.
I handle product planning, Web development, the shared backend, database design, API contracts, deployment and operations.
Machi Web taught me that full-stack work is not just writing frontend and backend. It is keeping users, data, permissions, media, notifications and deployment reliable inside one product.
Next.js Web 客户端调用统一 Python API;后端负责认证、业务数据、SSE 和媒体上传签名;部署层由 Nginx、systemd 和 AWS 资源承载。
拆解 Machi Web 如何用 Next.js、React、TypeScript、Python、SQLite、REST API 与 SSE 支撑 Web/iOS 双端同步。
For: 需要让 Web 与 App 共享同一套 API 的开发者
我组织 Next.js 项目时,会先分清路由、数据层、前台组件、后台组件和通用 UI,避免项目长大后所有代码挤在一起。
For: 正在搭建长期项目的开发者