Seamless Point
All-in-one platform for logistics, utility payments, and on-demand technical services.

Seamless Point is a comprehensive web platform built to unify everyday essential services. Users can effortlessly schedule nationwide and international package deliveries, securely pay for utility bills and data bundles, and connect with vetted technicians on demand. By consolidating these disparate services into a single interface, it provides a frictionless user experience powered by a robust Next.js frontend communicating with a scalable external API.
The application leverages the Next.js App Router for optimal routing and rendering. Next.js Server Actions securely communicate with the external backend API, handling authentication, data fetching, and business logic encapsulation. Global UI state is managed by Zustand, while TanStack Query handles server state, caching, and optimistic updates for dashboard metrics. Payment processing is integrated via Paystack, with a custom mathematics module that accurately pre-computes complex local and international fee structures (kobo math) on the edge. Authentication flows use a mix of local JWTs and Google OAuth.
Architecture
Chose
Decoupled Next.js frontend communicating with an external backend API
Why
Allowed the frontend to focus purely on UI/UX, caching, and client state management, while the backend independently scales to handle heavy transaction loads and third-party webhooks for logistics and utility payments.
Trade-off
Requires strict synchronisation between frontend TypeScript interfaces and backend API contracts, increasing overhead for type sharing.
State Management
Chose
TanStack Query alongside Zustand
Why
Zustand provides a lightweight, boilerplate-free solution for localised UI states (multi-step forms, modals), while TanStack Query exclusively manages asynchronous server state, ensuring efficient caching and reducing redundant network requests.
Trade-off
Introduces two separate state management paradigms, requiring clear architectural boundaries on what state lives where.
Payment Integration
Chose
Custom Paystack fee computation logic on the client
Why
Ensures the UI accurately displays gross and net charges to users in real-time (handling local caps, waivers, and international flat rates) before initiating the transaction with the payment gateway.
Trade-off
Adds computation complexity to the frontend that must be kept precisely in sync with Paystack's official pricing structures to prevent discrepancies.
Implement real-time tracking for logistics and delivery requests using WebSockets
Transition to a strictly typed monorepo (e.g., Turborepo) to natively share TypeScript interfaces between frontend and backend
Expand automated test coverage using Playwright for end-to-end critical user flows