diff --git a/assets/images/beer1.jpg b/assets/images/beer1.jpg
new file mode 100644
index 0000000..d2805cc
Binary files /dev/null and b/assets/images/beer1.jpg differ
diff --git a/assets/images/grill1.jpg b/assets/images/grill1.jpg
new file mode 100644
index 0000000..5ff779c
Binary files /dev/null and b/assets/images/grill1.jpg differ
diff --git a/assets/images/hero.jpg b/assets/images/hero.jpg
new file mode 100644
index 0000000..0608a2b
Binary files /dev/null and b/assets/images/hero.jpg differ
diff --git a/assets/images/manifest.json b/assets/images/manifest.json
new file mode 100644
index 0000000..4b2f139
--- /dev/null
+++ b/assets/images/manifest.json
@@ -0,0 +1,6 @@
+{
+ "hero": "assets\/images\/hero.jpg",
+ "beer1": "assets\/images\/beer1.jpg",
+ "party1": "assets\/images\/party1.jpg",
+ "grill1": "assets\/images\/grill1.jpg"
+}
\ No newline at end of file
diff --git a/assets/images/party1.jpg b/assets/images/party1.jpg
new file mode 100644
index 0000000..3df094f
Binary files /dev/null and b/assets/images/party1.jpg differ
diff --git a/assets/pasted-20260121-163931-99f1ab39.png b/assets/pasted-20260121-163931-99f1ab39.png
new file mode 100644
index 0000000..570ca55
Binary files /dev/null and b/assets/pasted-20260121-163931-99f1ab39.png differ
diff --git a/fetch_images.php b/fetch_images.php
new file mode 100644
index 0000000..40a1534
--- /dev/null
+++ b/fetch_images.php
@@ -0,0 +1,33 @@
+ 'party friends beer',
+ 'beer1' => 'beer mug',
+ 'party1' => 'night club party',
+ 'grill1' => 'bbq grill meat'
+];
+
+$images = [];
+
+foreach ($queries as $key => $query) {
+ echo "Fetching image for: $query...\n";
+ $url = 'https://api.pexels.com/v1/search?query=' . urlencode($query) . '&per_page=1&page=1';
+ $data = pexels_get($url);
+ if ($data && !empty($data['photos'])) {
+ $photo = $data['photos'][0];
+ $src = $photo['src']['large2x'] ?? $photo['src']['large'];
+ $dest = __DIR__ . '/assets/images/' . $key . '.jpg';
+ if (download_to($src, $dest)) {
+ $images[$key] = 'assets/images/' . $key . '.jpg';
+ echo "Downloaded to $dest\n";
+ } else {
+ echo "Failed to download $src\n";
+ }
+ } else {
+ echo "No photos found for $query\n";
+ }
+}
+
+file_put_contents(__DIR__ . '/assets/images/manifest.json', json_encode($images, JSON_PRETTY_PRINT));
+
diff --git a/generate_content.php b/generate_content.php
new file mode 100644
index 0000000..e4ad2e7
--- /dev/null
+++ b/generate_content.php
@@ -0,0 +1,20 @@
+ [
+ ['role' => 'system', 'content' => 'You are a bro-culture content creator.'],
+ ['role' => 'user', 'content' => $prompt],
+ ],
+ ]
+);
+
+if (!empty($resp['success'])) {
+ $text = LocalAIApi::extractText($resp);
+ echo $text;
+} else {
+ echo "AI Error: " . ($resp['error'] ?? 'unknown');
+}
diff --git a/homepage_content.txt b/homepage_content.txt
new file mode 100644
index 0000000..9f2a1a0
--- /dev/null
+++ b/homepage_content.txt
@@ -0,0 +1,134 @@
+
+
+
REAL BRO BLOG
+
+
+
+
Beer, Parties, and the Lifestyle.
+
+
+
+
+
+
+
+
+
+
+
THE MANIFESTO
+
+
+
+
Welcome to Real Bro Blog — where cold ones are sacred, beats are curated, and good times are engineered, not wasted. This is about beer, parties, and the lifestyle that keeps the crew tight: throw epic hangs, master the pour, laugh loud, leave the place better than you found it. Be bold, be chill, be responsible — hydrate, watch out for your people, know your limits (and only drink if you’re of legal age). Live loud, host legendary, drink smart, and always have each other’s backs.
+
+
+
+
+
+
+
+
+
+
BRO TIPS OF THE WEEK
+
+
+
+
+
+
+
+
+
+
Cooler engineering, bro: pre-chill your beer, freeze big water jugs so the ice won’t dilute the brew, rotate stock so the coldest cans are on top — and stash a water section so the squad stays hydrated between rounds.
+
+
+
+
+
+
+
+
+
Playlist + pace: build 3-hour blocks that start chill and ramp up, queue up a backup speaker/phone, and read the room — keep late-night volume neighbor-friendly so the party doesn’t get cut off.
+
+
+
+
+
+
+
+
+
Host like a legend: set out trash & recycle, have solid non-alc options, lock in rides or a designated-driver plan, and be the bro who checks on people — party hard, but keep your crew safe.
+
+
+
+
+
+
+
+
+
+
+
LATEST BRO STORIES
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
MIGHTY BEER REVIEWS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
BRO OF THE MONTH
+
+
+
+
+
+
+
+
+
+
+
+
+
Meet "Big Dave" Miller.
+
+
+
+
Big Dave isn't just a bro; he's a legend. Last weekend, Dave managed to grill 50 burgers while simultaneously fixing a neighbor's lawnmower and maintaining a 3-0 winning streak in cornhole. His philosophy? "Keep the coals hot and the beer cold, and the rest will figure itself out."
+
+
+
+
Dave, we salute you. Enjoy the golden spatula, king.