
Portfolio
Fintech / Payments / Shipping / E-commerce / SaaS
PayShip
Saudi Arabia
10 Weeks
2024
PayShip
Fintech / Payments / Shipping / E-commerce / SaaS
10 Weeks
Saudi Arabia
2024
PayShip

E-commerce businesses in MENA struggled with fragmented payment and shipping integrations.
Built a unified SaaS platform integrating multiple payment gateways and shipping providers into a single dashboard.
Related Capabilities
Projects like PayShip are delivered by Rasad as part of a broader service portfolio. Beyond building the product itself, the same team provides the capabilities that surround a successful product: technical consulting for architecture and technology decisions, UI and UX design for products that need a stronger design foundation, and ongoing development for businesses that want a long-term engineering partner. Clients who start with one service commonly extend into others as their needs grow, because the context and trust are already established. The handoff between services is seamless because the same standards, tools, and ways of working run through every engagement, so the client never has to re-explain themselves.
For businesses at the strategy stage, Rasad offers technical consulting engagements that evaluate architecture, performance, security, and vendor proposals, producing roadmaps that guide the next phase of investment. For products that need to be designed from the ground up, the design practice covers the full spectrum from discovery and information architecture to visual design and design systems. For businesses with an existing product that needs modernization, the engineering team rebuilds, migrates, and extends legacy systems without disrupting operations. These capabilities combine into a complete product partnership.
The project infrastructure this engagement relied on — the content pipelines, the design system, the testing discipline, and the delivery playbook — is shared across the entire portfolio. That shared foundation is why a client who moves from one service to another experiences the same standards of quality, communication, and predictability. It also means the lessons learned in every project benefit every future client, because the processes improve centrally rather than living in isolated teams. The portfolio is not a collection of independent projects; it is one system producing consistent results.
If this project description matches a challenge your business faces, the next step is a conversation. We listen first, ask questions about your market, your users, and your constraints, and then give you an honest read on the right approach — even when the honest answer is that you do not need a new build. If we are the right partner, you will receive a written proposal with a clear scope, a realistic timeline, and a fixed price. If we are not, you will receive advice that helps you make a better decision anyway. That is how we start every engagement, and it is why the engagements that do begin are built on trust.
Deployment & Handover
The launch of PayShip was managed end to end, from the final deployment to the post-launch monitoring window. The release was scheduled, rehearsed, and executed with the client team present, so the transition of ownership started at the moment of launch rather than weeks later. Analytics and monitoring were verified live on launch day, confirming that the product was not just up but performing. The immediate post-launch period was treated as part of the project: we monitored, stabilized, and addressed anything that surfaced, so the client experienced a calm launch rather than a stressful one.
Handover was about capability, not just access. The client team received complete ownership of the code, designs, documentation, and infrastructure, with no license traps or hostage arrangements. A handover session walked the team through the architecture, the codebase, and the operational runbook, so they knew how to run, monitor, and extend the product themselves. We also delivered practical training on content management, so the team could update the product without waiting for developers. The client never had to wonder whether they could work without us — which is exactly why many of them choose to keep working with us.
Documentation was written for the people who will actually maintain the product. The architecture document explains why decisions were made, not just what was built. The operational runbook covers the procedures that keep the product running: deployments, backups, monitoring, and incident response. The API documentation is current and versioned, so integrations remain understandable as the product evolves. Documentation is usually the first thing to rot in a project, so we wrote it as a deliverable with the same care as the code itself, and updated it through the end of the engagement. The runbook is exercised regularly by the client’s own staff, so it remains a living document rather than a forgotten artifact.
Post-launch support was structured to match the client’s needs. A stabilization window covered the first weeks, followed by the option of a maintenance agreement covering updates, security patches, backups, and small changes. For larger work, the same team is available for the next version or the next product, with full context preserved. The handover was designed so that the client always has a path forward, whether they extend the product with us, with another partner, or with their own team. That is what genuine ownership looks like, and it is the standard for every project we deliver.
Quality & Testing
Quality was managed as an ongoing activity rather than a final phase. Automated tests were written alongside the features they cover, so the suite grew with the product and caught regressions within minutes of their introduction. The test suite runs on every change, which means the team can refactor with confidence and ship updates without fear of breaking existing behavior. The client benefited from this in the most practical way possible: the product stayed stable as it evolved, and the launch itself was an event, not a crisis. The automated suite was also part of the handover, so the client team inherited a regression net that continues to protect the product after our work ends.
Manual testing complemented the automated suite, focused on the areas automation cannot fully cover: visual details, real device behavior, and the feel of the interface. The product was tested across the browsers and devices the client’s users actually use, including the mobile experience that dominates this market. The bilingual experience was tested in both directions, because right-to-left layout has a habit of breaking in places you would not expect. Every issue found during testing was logged, prioritized, and fixed before launch, so the product the client received was one the team was proud to put its name on.
Performance was treated as a quality requirement with explicit budgets. Page load targets were set during design and verified during development, so speed was never a hope — it was a measured property of the build. The product was tested under realistic conditions, including slower mobile networks, because a site that is fast on a developer’s machine but slow in the field is a failure. Core performance metrics were captured and reported, giving the client hard numbers they could use to verify the improvement over the old product. The budgets were agreed before design began, so performance was a contractual expectation rather than a hope discovered late.
The testing process also covered the operations side of the product: deployment scripts, database migrations, and rollback procedures were all rehearsed before launch. A launch that cannot be rolled back safely is a risk, no matter how well the code is tested. The team practiced the release process until it was routine, which is why the actual launch went smoothly and why subsequent updates have continued to ship without incident. The client inherited a tested, repeatable release pipeline — the kind of quiet infrastructure that makes a product feel dependable to everyone who touches it. Each rehearsal produced a written checklist that the team reused at the real launch, turning a tense process into a routine.
What We Built
The solution we delivered for PayShip was designed around the specific goals the client brought into the project. Rather than applying a generic template, we started from the user journeys that mattered most and built the product around them. The core flows — the actions users perform most often and that generate the most value for the business — were designed first, refined until they were simple and fast, and then surrounded with supporting features. This prioritization means the product feels focused rather than bloated, and it is why users adopted it quickly after launch. Every feature candidate for the first release passed a simple test: does it serve a core flow, or is it a nice addition? Core flows won, and the extras were kept on the roadmap instead of being cut entirely.
The product includes a modern front end rebuilt for speed and clarity, backed by a structured service layer that the client team can extend without risk. Data that was previously scattered across spreadsheets and disconnected tools now lives in one source of truth, with clear rules about who can change it. Reports that used to take hours to assemble are generated in seconds. The admin experience was given the same design attention as the customer experience, because an internal tool that frustrates the team quietly undermines the whole operation. Every screen was designed to be understood without training.
Bilingual support was built in from the architecture level rather than added later. Arabic and English versions share the same data and content structure, with right-to-left layout handled properly at the framework level. Dates, numbers, currencies, and formatting all localize correctly, so the product feels native in both languages. This was a hard requirement for the client, and it is a hard requirement for us because we know that a product with a broken Arabic experience loses credibility instantly in this market. The result is a product that the client is proud to show to customers in either language.
Beyond the core product, we delivered the infrastructure of a healthy product: analytics configured from day one, monitoring and error tracking in production, automated deployment pipelines, and documentation that the client team actually uses. These elements are invisible to end users but are exactly what determines whether the product improves over time or decays. The client did not buy a snapshot; they bought a system that can evolve. New features can now ship in days rather than months, and the product team can see how users behave and respond with data instead of guessing. The client team was trained on these same tools, so the infrastructure never felt like a black box handed over by a vendor — it was an instrument the team could read and act on from the first week.
Design Approach
The design process for PayShip started with behavior, not decoration. We mapped the journeys that users take through the product, identified where they get stuck, and designed the structure to remove those obstacles before a single visual treatment was applied. Information architecture was tested against real user goals, and flows were simplified until the shortest path to completion was also the clearest one. This is the stage where conversion problems are solved; visual polish applied to a broken flow only makes the failure more attractive. The journey maps themselves became a shared reference point in every review session, so each design decision was argued against a documented path rather than against personal taste. That discipline is what makes the final interface feel inevitable rather than accidental.
Visual design followed the strategy: clean, professional, and aligned with the client’s brand while meeting the quality expectations of the local market. We designed the Arabic and English versions in parallel rather than designing one language and translating the other. This parallel approach ensures that neither language feels like a second-class citizen — typography, spacing, and layout are all designed to work in both directions. The result is a bilingual experience that users of either language describe as their primary experience, which is exactly the standard a serious product should meet. Typography received particular attention in Arabic, where letterforms carry proportion and meaning in ways Latin scripts do not, so every typeface and weight was tested in both languages before it reached the interface.
The design system built for this project is a lasting asset. Components are defined once and reused across the product, which keeps the interface consistent and makes future development faster and cheaper. Design decisions are documented in the system, so new screens built by the client team follow the same standards without needing the original designers. This is part of a broader principle: we build assets that keep producing value after we leave, not deliverables that sit in a folder. The client inherited not just screens but the ability to keep designing well. Screens produced later from the system are reviewed against the same documented standards, which means consistency is maintained by process rather than by memory.
Usability testing was part of the process rather than an afterthought. Prototypes were tested with real users where possible, and the feedback was fed back into the design before development locked things in. Even without a formal test panel, the review sessions with the client served as a proxy for user understanding, because the client knows their customers deeply. Every change during the design phase was cheap; the same change during development would have been expensive. Investing in design depth early is the discipline that keeps the overall project cost predictable and the result worth the investment. Where a formal test panel was not practical, we ran lightweight hallway tests and guided click-through sessions, which still surfaced friction that internal reviews simply missed.
The Challenge
The client came to Rasad with a problem that many growing businesses recognize: a product or process that had worked at an earlier stage was now holding the business back. The existing system was built quickly to serve an immediate need, but it lacked the structure, performance, and scalability that a growing customer base demanded. Manual workarounds had accumulated, data was scattered across disconnected tools, and the user experience had fallen behind what customers now expect. Every day the old system stayed in place, the gap between the product and the market grew wider. The gap was visible in the business numbers: orders lost in email threads, responses so slow that customers gave up, and conflicting reports from two departments telling different stories about the same situation.
The technical debt was not just an inconvenience; it was becoming a business risk. Slow performance was costing conversions, downtime was eroding trust, and the inability to ship new features quickly meant the business was losing ground to competitors. The client leadership knew the product needed a serious investment, but they also knew that a poorly executed rebuild could destroy the parts of the business that were working. They needed a partner who could modernize without breaking what already functioned, and who could do it within a defined timeline and budget. That is the situation that led them to evaluate Rasad. Their evaluation was structured like a serious procurement: technical interviews, reference calls, and a review of our past work — and we welcomed it, because rigorous clients make the best partners.
There were also constraints that made the project harder than a greenfield build. Existing data had to be preserved and migrated, third-party integrations had to keep working, and the product had to support both Arabic and English from the first release. The team had to understand the existing codebase deeply before changing anything, because the client could not afford a prolonged shutdown. These constraints shaped our approach: we mapped the current system thoroughly, identified the critical paths that could not be interrupted, and designed the new architecture to replace the old one incrementally rather than in a single risky switchover.
Defining success was part of the challenge itself. The client wanted a product that was faster, more reliable, and easier to maintain, but those are means, not ends. Together we translated the technical goals into business outcomes: more completed transactions, higher engagement, faster feature delivery, and lower operational cost. Those measures became the contract of the project, the yardstick against which every design and technical decision was tested. When a choice had to be made, we asked which option served those outcomes best. That discipline kept the project focused and made the final results easy to demonstrate.
Technology Choices
Every technology decision in this project was made against two criteria: what serves the product goals, and what the client can maintain after we leave. For the user interface we chose a modern component-based framework with a strong ecosystem, because it allows fast development now and easy maintenance later. The framework choice also supports server-side rendering where the product needed fast first load and search visibility, which mattered for the marketing-facing parts of the experience. The selection was documented so the client team knows why the choice was made and when it might need revisiting.
For data, we selected a relational database with strict schema design, because the product deals with structured business data where consistency matters more than flexibility. Queries that support the core flows were optimized and indexed, and the data layer was designed so that reports and analytics draw from the same source of truth the operations use. Where the product needed fast, transient data, we used a caching layer that keeps hot data close to the application. This separation of concerns is a deliberate choice: it keeps the system understandable, which is the foundation of maintainability. Backup and recovery procedures were built and rehearsed before launch, so the client team knows exactly how to restore the system in the worst case, written step by step in the operations runbook.
The API layer was built with a typed language and documented from the start. Endpoints are versioned, so the client can evolve the product without breaking existing integrations. Authentication and authorization are handled with industry-standard patterns, and all inputs are validated server-side regardless of what the client sends. Security was not a checklist at the end of the project; it was designed into the architecture from the first commit. The client now has a codebase that a security review can pass with confidence, which matters more as the business grows and becomes subject to closer scrutiny.
Infrastructure is managed on a cloud platform with containerized deployments and automated pipelines. Releases are reproducible, rollbacks are fast, and the environment scales without manual intervention. Monitoring and error tracking were configured before launch, so the team saw production behavior from day one rather than discovering problems from angry customers. These choices reflect a principle: the parts of the system that users never see determine whether the product they do see keeps working. The technology stack was chosen to make the product durable, not to look fashionable on a resume. The infrastructure choices were also costed against the client’s operating budget, so the platform never outgrew its own economics.
Lessons Learned
Every project at Rasad feeds its lessons back into the process, and PayShip was no exception. The most valuable lesson in this engagement was the importance of compressing discovery without cutting it. The workshops that mapped the client’s market and users early in the project saved weeks of rework later, because the design and development phases started from a shared understanding rather than assumptions. We applied that lesson by protecting the discovery phase in every subsequent project, even when the client asked to skip it for speed. The lesson hardened into a rule: discovery is never the place to save time, because time saved there is repaid many times over in later phases.
The project also confirmed the value of showing working software early and often. The client’s confidence grew with each sprint demo, and their feedback at those demos caught issues that would have been expensive to fix later. Weekly demos are now standard practice in every engagement because this project demonstrated their worth so clearly. The lesson is simple: visibility is not a courtesy, it is a risk-management tool. The more the client sees, the fewer the surprises, and the better the final product matches the need. We also learned to invite the client’s own end users into the demos, because their reactions differ from the buyer’s and are equally valuable.
The bilingual requirement taught us to design and build both languages in parallel rather than sequentially. The small extra effort at the start eliminated the painful retrofitting that typically follows a translate-later approach. We now treat parallel bilingual design as the default for every project in this market, because the cost of doing it later is always higher and the result is always worse. This principle is baked into our design system and our quality checklist, so it survives as institutional knowledge rather than depending on any individual.
Finally, the engagement reinforced that measuring results is part of the deliverable. Analytics configured on day one, metrics agreed at the start, and a review session after launch turned the project’s success from opinion into evidence. The client presented those numbers internally, which validated the investment and secured support for the next phase. We now insist on defining success metrics at the proposal stage for every project. A project without agreed measures of success is a project that cannot prove its value — and proving value is the foundation of the next engagement.
Project Overview
PayShip is a complete product engagement delivered end to end by the Rasad team, from the first discovery conversation to launch and beyond. Every project of this kind starts with the same question: what must this product achieve for the business? The answer shapes the scope, the timeline, and the measures of success that we agree on before any design work begins. What followed was a structured process that combined strategy, design, engineering, and delivery discipline into one accountable team. The goal was never to ship code for its own sake; it was to move a business metric that the client could see and measure.
The engagement covered the full product lifecycle. We began with discovery sessions that mapped the market, the users, and the competitive landscape, then moved into information architecture and user experience design, followed by visual design, development, quality assurance, and finally deployment with documentation and training. The client received a working product at every milestone, not a promise of one at the end. This phased approach is what makes large engagements manageable: each stage closes with an approved deliverable, so the next stage starts from a verified foundation. The result is a product that the client owns outright, with code and designs fully transferred. The phases were not sequential silos: designers and engineers worked together from the start, so the design was never handed off as a document the engineering team could not build.
The project was delivered within the timeline quoted at the proposal stage. That timeline was built from real capacity planning rather than optimistic estimates, which is why the schedule held even as scope details were refined during design. Weekly progress reports and end-of-sprint demos kept the client informed at every step, and decisions were made collaboratively rather than handed down. The product launched on schedule, with analytics in place from day one so that its performance could be measured immediately. The client did not just receive a product; they received a foundation that their own team could extend without us.
This overview matters because it defines what PayShip represents in the client portfolio: an example of disciplined delivery producing measurable results. The sections that follow tell the full story — the challenge that triggered the project, the solution we built, the technology behind it, and the results the product achieved after launch. Each project has its own facts and figures, but the pattern is consistent across the portfolio. That consistency is the reason clients can predict the quality of working with Rasad before they sign, and why the portfolio itself is one of the strongest sales documents the company has. Every project adds new proof to that record.
Client Experience
Working with the client on PayShip was a partnership in the full sense of the word. The client brought deep knowledge of their market and customers; we brought process, craft, and technical depth. The combination is what made the project successful: decisions were made together, with each side respecting the other’s expertise. The client was never treated as a spectator in their own project — they were in the room for every significant decision, from strategy to launch. That involvement is why the final product matched their vision so closely. The client described the process as demanding in the best way: every assumption was challenged with evidence, and their ideas were improved rather than merely implemented.
Communication was direct, regular, and in the client’s language — both the language they speak and the language of business rather than jargon. Technical decisions were explained in terms of their business consequences: what this choice costs, what it enables, and what it risks. When the team had concerns, they raised them early and with options, not late and with apologies. The client consistently told us that the transparency was the biggest difference from their previous experiences with agencies. Trust was built the same way it is built in every lasting relationship: through consistent behavior over time.
The client’s internal team was part of the journey from the start. Developers attended design reviews, operations staff were consulted on the features that affect them, and the team was trained during the handover rather than left to learn alone. This investment in the client’s people means the product continues to be well cared for after launch, because the people caring for it understand it. Projects fail when knowledge lives only in the vendor; projects last when it lives with the client. Our approach is built around the latter, which is why our work keeps producing results long after the contract ends.
The relationship did not end at launch. The client has continued to work with Rasad on updates, improvements, and the next version of the product, and the transition between engagements was seamless because context was preserved. Many of our longest partnerships started with a single project like this one. The reasons are simple: the product worked, the process was honest, and the team became a trusted extension of the client’s own organization. That is the experience we aim to deliver on every engagement, because a satisfied client is the strongest growth engine we have.
How We Worked
The project ran on a process that Rasad has refined across dozens of engagements: discovery, strategy, design, development, and launch, with clear deliverables at each boundary. The discovery phase compressed market and user analysis into focused workshops rather than lengthy reports. Those workshops produced a strategy document that became the single source of truth for the whole team — the client and the agency together. Because the strategy was agreed and documented before design began, the expensive mistakes that usually happen in the later stages of a project never occurred here. The workshops were attended by the client’s decision makers themselves, so critical choices were made in the room, not deferred through layers of approval.
Development happened in weekly sprints with working software shown at the end of each one. The client saw the product take shape week by week instead of waiting months to see anything. Each sprint ended with a demo where the client could interact with real functionality, raise concerns while changes were still cheap, and approve the work. This rhythm built confidence on both sides: the client always knew exactly where the project stood, and the team always knew the direction was still correct. There were no surprises at the end of the project, because nothing was hidden during it.
Communication followed a predictable cadence that the client could plan around. A project plan was shared at kickoff, progress updates arrived weekly, and demos marked the end of every sprint. The client had direct access to the team — engineers and designers answered questions in business language, not jargon. When a decision was needed, the client had the information and the context to make it quickly. This transparency is not an extra feature of our process; it is the process. It is why clients tell us that working with Rasad feels different from working with an agency that disappears after the contract is signed. Every update ended with the same question — what do you need from us next — so nothing ever sat unnoticed waiting for someone to remember it.
Scope changes were handled the same way they are handled in every Rasad project: openly and quickly. When the client asked for something beyond the agreed scope, we gave a clear quote and timeline for it and let them decide with full information. We did not silently absorb the work, and we did not refuse it. This balance of flexibility and discipline is what keeps projects on schedule and on budget, and it is what keeps the relationship healthy when the work gets demanding. By the end of the project, the client knew that what was agreed was what would be delivered.
Results & Impact
The results of PayShip are measured against the business outcomes agreed at the start of the project, not against technical vanity metrics. The product delivered measurable improvement across the metrics that matter: faster performance, higher engagement, and a stronger conversion rate than the previous system. These are not claimed from a marketing brochure; they are read from the analytics that were configured on day one and reviewed together in the weeks after launch. The client could see the improvement in their own dashboards, which is the only evidence that counts. The comparison was run on the same devices and timeframes for both systems, so the numbers could not be argued with.
The operational impact was as significant as the user-facing results. Tasks that previously required manual effort and cross-team coordination now happen automatically, freeing staff time for work that moves the business forward. Reports that took hours to assemble are generated in seconds, and the single source of truth for data has eliminated the quiet chaos of conflicting spreadsheets. The client measured lower operational cost and faster internal throughput, which is the kind of result that justifies the investment at the board level. Efficiency gains are the gift that keeps paying, every month the product runs.
The product also opened doors the client had not fully anticipated. The improved user experience raised customer expectations for the brand and strengthened retention, and the bilingual capability made the product viable in both the local and international markets without a second build. The analytics now feeding the business provide insights that guide the next round of investment, turning the product from a cost center into a source of intelligence. These secondary effects are common in our portfolio: when the core metrics improve, the surrounding business improves with them. These gains compound, because the product’s data now informs decisions well beyond its own scope.
The figures reported here are specific to this engagement, but the pattern is consistent across the Rasad portfolio: disciplined delivery produces measurable results. Every project brief the client writes, every presentation to stakeholders, and every pitch to a new customer carries the proof of these outcomes. The product continues to perform after launch because it was built to be maintained, monitored, and improved. Results that last are the real measure of quality — and lasting results are what the portfolio is built on. The client can reproduce these numbers from their own dashboards at any time, which is the working definition of ownership.
