Ampere Vision Rwanda website
# AVR — Ampere Vision Rwanda
Marketing site, portfolio, news system and admin panel for Ampere Vision
Rwanda Ltd, a licensed drone agri-tech company in Kigali. Precision drone
spraying: crop protection, fertiliser and biopesticide application,
larviciding.
## Stack
- React + Vite + TypeScript + Tailwind CSS v4 + Framer Motion
- Supabase (Postgres, Auth, Storage, Edge Functions) — free tier
- Resend for email (100/day, 3,000/month free) via Supabase Edge Functions
- Netlify hosting — free tier
No paid services anywhere. The only paid item is the domain.
## Run locally
```bash
npm install
cp .env.example .env # fill in the Supabase URL and anon key
npm run dev
```
## Routes
| Route | Purpose |
| -------------- | -------------------------------- |
| `/` | Marketing page |
| `/work` | Portfolio index |
| `/work/:slug` | Project detail + photo gallery |
| `/news` | All published news posts |
| `/news/:slug` | Article + photo gallery |
| `/admin` | Admin panel (Supabase auth) |
| `/confirm` | Newsletter opt-in confirmation |
| `/unsubscribe` | Newsletter unsubscribe |
## Signing in to the admin panel
Go to `/admin` and sign in with `muyombanohappy@gmail.com`. There is no
sign-up link: the account is created from the Supabase dashboard under
**Authentication → Users**, and admin rights come from the `admin_users`
allowlist in the database, not from merely having an account.
To add another admin, insert their email into `public.admin_users` and
create their user in the dashboard.
## Adding a news article
1. `/admin` → **News** → **New article**.
2. Type a title. The web address fills itself in; edit it if you like.
3. Write a short **summary** — this is what shows on cards and the news list.
4. Upload a **cover image** if you have one.
5. Write the **story**. Leave a blank line between paragraphs.
6. Under **Photos**, a …