project catalogue
Full-Stack CRM2026In Progress

Shipping CRM

A CRM for a Moroccan shipping company to run its quotes, shipments, tracking, and invoicing, with a client portal and public parcel tracking.

scroll
Type
Full-Stack CRM
Role
Solo Internship Project
Status
In Progress
Year
2026
The Backstory
Ibuiltthisprojectduringa2026summerinternship,foraMoroccanlogisticscompany,anditwasthefirsttimeIworkedfromsomeoneelse'srulesinsteadofmyown.Theruleswerespecificinthewayrealbusinesstendstobe.Aclientcancreateashipmentbutcanneverchangeitsstatus.Everyaccountgetsitsownsix-digitnumber.InvoiceshavetocarryICEandotherfiscalfields.Andyoudon'tdeleteamistakeonaninvoice,youissueacreditnotetocorrectit.Noneofthatisthekindofthingyou'dthinktoinventonapersonalproject,andworkingthroughittaughtmemorethanatutorialwould.
Theapphasfourkindsofusers,allservedfromonecodebase.Thecompanyhandlesdaytodayoperations,accountclientsmanagetheirownshipmentsandinvoices,guestscanrequestaquickquotewithoutsigningup,andanyoneatallcanfollowaparcelonapublicpagewithnologin.BehinditisaLaravelAPI,aReactfrontend,andPostgreSQL.Idesignedthedatabaseschemafirstinthe'CahierdesCharges',beforewritinganyapplicationcode.
Ialsomademockupsbeforebuilding.Makingsurethattheappfeltnaturalforitsintendedusers.IwireframedeveryscreeninplainHTMLfirst,thedashboards,theinvoicebuilder,theshipmentforms,thetrackingpage,andIspentrealtimestudyinghowothercompanieslayouttheirownsites.
Shippingitwasitsownlesson.Therewasnoserverlessplatformdoingtheworkformethistime,itwentonarealVPSandIdeployeditbyhand.SSHingintotheserver,settingupnginx,wiringupthedatabase,handlingenvironmentvariablesandthebuild,andfixingwhateverbrokeonceitwasactuallylive.Thatsideofittaughtmewhatamanagedhostquietlyhidesfromyou,allthesmallthingsthathavetobetrueforanapptostayuponamachineyouactuallyown.It'sfinishednow,andit'stheprojectthathasfeltclosesttorealsoftware.Lessclevercode,moregettingthedetailsexactlyright.

— walid, 2026

Under the Hood
  1. One app, four roles

    The company and it's employees, its account clients, guests asking for a quote, and a public tracking page. Each role gets exactly the access it needs.

  2. Real Professional Document and Shipment Workflow

    Quotes turn into shipments, shipments turn into invoices, and when something is wrong you fix it with a credit note instead of an edit. The server builds the PDFs itself, including shipping labels with real barcodes.

  3. Enforced Real Rules

    A shipment is tied to the client's account number for good, only the company can move a shipment's status, and the Moroccan fiscal fields (ICE, RC, IF...) are built into the data model from the start.

  4. Designed, then built

    HTML wireframes for every screen came before any real code. By the time I started building, I already knew exactly what I was building toward, and knew the end users would find it natural to use.

  5. Deployed by hand on a real VPS

    No managed platform this time. It runs on a VPS I set up and deploy to myself, over SSH, with nginx in front, the database and environment configured on the box, and every release pushed out by hand.

In the Wild

Unfortunately, this app runs on real client data, so I can't share captures of it publicly here.

Request a demo instead
Applied Technologies
See It Yourself

This one runs on real client data, so the code stays private. Request a demo and I'll walk you through it directly.

end of case study — Shipping CRM

Like what you saw?
Let's build something together.

I'm open to opportunities, collaborations, and conversations

if this project sparked an idea, my inbox is the shortest path to it.

browse the full catalogue