Skip to content
Back to WorkSkip project presentation

Client Work · Live · Corporate website

Bahati Commodities

A static Astro site for Bahati Commodities covering its Advisory, Food & Beverage, Chemical & Mining and Hospitality divisions, with a per-division enquiry form and an "Ask Bahati" assistant, hosted on AWS Amplify and defined in CDK.

Stack

Astro · AWS Amplify Hosting · AWS CDK · AWS Lambda · Amazon SES · Amazon DynamoDB · Amazon Bedrock · Amazon Route 53

Bahati Commodities homepage

The problem

Bahati, a supply-chain and commodities trading house founded in Sandton in 2002, was running on a GoDaddy Website Builder page with thin stock imagery, one paragraph per division, no enquiry routing, and three bank account numbers published on its contact page.

The goal

Give Bahati a credible corporate site that wins trust with manufacturers, mines, hospitality buyers and cross-border partners, routes every visitor to the right division with an enquiry form or WhatsApp, and is cheap to run on its own domain.

Walkthrough
Bahati Commodities on a phone

Engineering decision

Served the enquiry form and the assistant from the site’s own origin: Amplify rewrites proxy /api/* to Lambda function URLs, so the CSP stays at connect-src 'self' with no CORS, and a DynamoDB per-IP limit, a honeypot and a body-size cap protect the public endpoints.

Tradeoff

The assistant answers from the site’s own text bundled into its prompt rather than a vector store, so content changes need a redeploy of the function, a fair trade for a 13-page site that changes rarely.

Insights

Removing the published bank details was a security fix, not a design choice: the assistant is also told never to give them out and to warn about payment-change fraud.

Routing each enquiry by division, with WhatsApp always one tap away, matched how buyers in this trade actually make first contact.

01 / 06: Overview