Add professional README showcasing project, stack, and patterns
This commit is contained in:
80
README.md
80
README.md
@@ -1,20 +1,74 @@
|
|||||||
<div align="center">
|
# Sam Developer
|
||||||
<img width="1200" height="475" alt="GHBanner" src="https://github.com/user-attachments/assets/0aa67016-6eaf-458a-adb2-6e31a0763ed6" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
# Run and deploy your AI Studio app
|
**A full-stack developer portfolio — career overview, AI systems, portfolio work, and a showcase of engineering craft.**
|
||||||
|
|
||||||
This contains everything you need to run your app locally.
|
A polished React portfolio presenting a 30+ year coding career across 22 agencies and 20+ clients, with 35+ IoT projects. Includes a career overview, portfolio gallery, resume, AI systems showcase, image generation work, and the human side of engineering.
|
||||||
|
|
||||||
View your app in AI Studio: https://ai.studio/apps/21d9d5ea-d35f-40ac-9e6c-3ad96f614864
|
## What it is
|
||||||
|
|
||||||
## Run Locally
|
The flagship portfolio site for employment outreach. It presents experience, skills, and projects in a motion-rich, editorial interface designed to make an impression — while demonstrating the front-end architecture and design patterns used to build it.
|
||||||
|
|
||||||
**Prerequisites:** Node.js
|
## Tech stack
|
||||||
|
|
||||||
|
| Layer | Technology |
|
||||||
|
|-------|-----------|
|
||||||
|
| Framework | React 19 |
|
||||||
|
| Build | Vite 6 |
|
||||||
|
| Styling | Tailwind CSS 4 (via `@tailwindcss/vite`) |
|
||||||
|
| Animation | Motion 12 (staggered fade/slide variants) |
|
||||||
|
| Routing | React Router 7 |
|
||||||
|
| Icons | lucide-react |
|
||||||
|
| AI | @google/genai (Gemini integrations) |
|
||||||
|
| Backend bits | Express + dotenv (API support) |
|
||||||
|
| Language | TypeScript |
|
||||||
|
|
||||||
1. Install dependencies:
|
## Architecture & design patterns
|
||||||
`npm install`
|
|
||||||
2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key
|
- **Motion design system** — shared `container`/`item` variants (fade-up, staggered children, ease-out timing) for consistent page animation
|
||||||
3. Run the app:
|
- **Stats-driven storytelling** — animated stat blocks (years coding, agencies, clients, IoT projects)
|
||||||
`npm run dev`
|
- **Domain pages** — AI Systems, Image Generation, and Beyond Code give depth beyond the resume
|
||||||
|
- **Route-based SPA** — React Router with shared `Layout` shell
|
||||||
|
- **Semantic hero** — editorial headline + tagline hierarchy
|
||||||
|
- **Accessible, responsive** — semantic HTML, full mobile support
|
||||||
|
|
||||||
|
## Pages
|
||||||
|
|
||||||
|
| Route | Purpose |
|
||||||
|
|-------|---------|
|
||||||
|
| `/` | Home — hero, stats, career overview |
|
||||||
|
| `/portfolio` | Portfolio gallery of key projects |
|
||||||
|
| `/resume` | Detailed resume / experience |
|
||||||
|
| `/ai-systems` | AI systems & agentic development |
|
||||||
|
| `/image-gen` | AI image generation work |
|
||||||
|
| `/beyond-code` | Interests & the human side |
|
||||||
|
| `/contact` | Contact + links |
|
||||||
|
|
||||||
|
## Standards
|
||||||
|
|
||||||
|
- TypeScript strict mode
|
||||||
|
- Semantic HTML, accessible landmarks
|
||||||
|
- Tailwind utility-first styling with design tokens
|
||||||
|
- Motion 12 animation patterns (variants, stagger, easing)
|
||||||
|
- Fully responsive
|
||||||
|
|
||||||
|
## Getting started
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install
|
||||||
|
npm run dev # development server
|
||||||
|
npm run build # production build
|
||||||
|
```
|
||||||
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
src/
|
||||||
|
├── components/ # Layout shell
|
||||||
|
├── pages/ # Home, Portfolio, Resume, AISystems, ImageGen, BeyondCode, Contact
|
||||||
|
├── App.tsx # Router + app shell
|
||||||
|
└── main.tsx # Entry point
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Flagship of the Sam Rolfe portfolio family — see [sam-devops](https://gitea.lab.audasmedia.com.au/sam/sam-devops), [sam-iot-electronics](https://gitea.lab.audasmedia.com.au/sam/sam-iot-electronics), and [sam-pursuits](https://gitea.lab.audasmedia.com.au/sam/sam-pursuits).*
|
||||||
|
|||||||
Reference in New Issue
Block a user