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.
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.

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

Booking & Payment Flow
Shows how a rider books a selected ride, confirms trip details, and completes payment.

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

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