Muhammad Aleem Logo
Muhammad Aleem
Loading Experience...
Veamkodrive main screenshotVeamkodrive secondary screenshot

Veamkodrive

A polished automobile showcase website for an Oman-based car dealership, built with React, TypeScript, and Supabase.

React.jsReact.jsTypeScriptTypeScriptSupabaseSupabaseTailwind CSSTailwind CSSViteVite
Oman
Client
Supabase
Backend
Vercel
Deployed
Why I built this
A client in Oman needed a professional digital presence for their automobile dealership — something that looked premium enough to sit alongside international car brands online. The brief was clear: make it fast, make it look expensive, and make it easy to browse inventory. I took it as a challenge to build a production-quality client site from scratch using a modern stack.
How it works
The front end is a React + TypeScript SPA served through Vite, styled entirely with Tailwind CSS for a consistent, responsive design. Supabase handles the backend — acting as a Postgres database with a real-time API layer, so inventory listings can be updated by the client without touching any code. Images and assets are served via Supabase Storage. The whole thing is deployed on Vercel with automatic CI/CD on every push to main.
Key decisions

Design choices

Supabase over a custom Express backend

For a dealership site, the client needs to update car listings without calling me every time. Supabase's auto-generated REST API and the table editor give a non-technical user a clean CMS-like experience without me building one from scratch.

TypeScript throughout

With dynamic inventory data coming from the database, strict typing prevented entire categories of runtime bugs — like trying to render an undefined car model name. It also made refactoring significantly safer.

Challenges

Problems solved

Image optimisation for a slow connection market

Oman's internet infrastructure varies. I had to implement lazy loading and serve correctly sized images through Supabase Storage transforms so the site felt snappy even on mobile data.

Handling Supabase Row Level Security

Getting RLS policies right so the public can read listings but only authenticated admins can write took careful policy design. A wrong rule either locked everyone out or exposed write access to anyone.

What I learned
Working on a real client project outside Pakistan taught me how to manage expectations across time zones and how to translate vague design feedback into concrete code changes. I also got much more comfortable with Supabase as a full backend platform — it's now my go-to for client projects that need a database without the overhead of spinning up a custom server.
👋 Need a quick tour of Aleem's portfolio?