Systems Design

Designing Practical, Scalable Systems

I use systems thinking to connect product goals with technical architecture. This includes understanding users, modeling data, designing services, and making trade-offs between simplicity, scalability, trust, and delivery speed.

Trusted Carpool Network

A verification-first commuter matching platform designed to improve trust and safety for daily commuters.

Product StrategyUser FlowsSystem ArchitecturePostgreSQL

Key Design Decisions

PostgreSQL over MongoDB

Decision

Use PostgreSQL as the primary database.

Reason

The platform contains strong relationships between users, rides, bookings, payments, and verification records that benefit from relational modeling.

Trade-off

Reduced schema flexibility compared to MongoDB, but stronger data integrity, consistency, and transactional support.

Verification-First Approach

Decision

Prioritize identity verification before ride matching.

Reason

Trust and safety are core requirements for commuters sharing rides with people they may not know.

Trade-off

Additional onboarding steps may reduce sign-up speed, but significantly increase trust and platform safety.

Route-Based Matching

Decision

Match commuters based on recurring routes and schedules.

Reason

The primary use case is daily commuting rather than on-demand transportation.

Trade-off

Less flexibility than ride-hailing platforms, but improved matching quality and predictable commuting experiences.

Low-Connectivity Design

Decision

Design workflows that tolerate unreliable network conditions.

Reason

Many commuters may experience poor connectivity during travel or in areas with weak network coverage.

Trade-off

Additional implementation complexity, but a more reliable user experience in real-world conditions.

Design Artifacts

User Flow Diagram

Shows how riders and drivers move from registration to verification, ride creation, matching, booking, and confirmation.

User Flow Diagrams

These flows show how users register, select rides, book trips, and complete payment within the Trusted Carpool Network.

User Registration & Verification

Shows how users create an account, submit verification details, and become eligible to participate in trusted ride matching.

User registration and verification flow

Select Ride Flow

Shows how a commuter searches available rides, reviews route details, and selects a suitable ride option.

Select ride flow

Booking & Payment Flow

Shows how a rider books a selected ride, confirms trip details, and completes payment.

Booking and payment flow

System Architecture

Shows how the frontend, authentication service, matching service, notification service, payment flow, and database communicate.

Trusted Carpool System Architecture Diagram

Entity Relationship Diagram

Shows the relational database structure for users, rides, bookings, payments, verification records, and driver profiles.

Entity Relationship Diagram