Mahalo
SIGNATURE:
Clifford "RAY" Hackett I founded www.adapt.org in 1980 it now has over 50 million members.
$500 of material=World’s fastest hydrofoil sailboat. http://sunrun.biz
Mahalo
SIGNATURE:
Clifford "RAY" Hackett I founded www.adapt.org in 1980 it now has over 50 million members.
$500 of material=World’s fastest hydrofoil sailboat. http://sunrun.biz
Our Signal Safety Number:
76851 77022 10443 11569
34688 41318 99861 71312
22032 95019 08211 28281
My general idea, and hoping for some input and feedback . Hosting a fundraiser + AI website-building class can create a powerful community-driven event that teaches valuable skills, helps participants launch online businesses for free, and supports the local government. Here’s a full plan and multiple creative ideas for you to build on:
🎯 Event Title Ideas
• “Build & Give: AI Website Workshop”
• “Code for a Cause: AI Sites for Success”
• “From Zero to AI Hero – Guam Web Fundraiser”
• “Future Ready Guam: Learn AI, Support the City”
📍 Core Structure
1. Host a Free Class (2-3 hours):
• Teach attendees to build AI websites using free tools (GitHub, OpenAI, Netlify, etc.)
• Focus on low-code/no-code solutions (good for beginners).
• Each site should include a “Powered by [Student Name]” and a suggested donation link.
2. Student Guidelines:
• Sites must be 100% free to make.
• No custom hosting or complex platforms.
• Simple rules: “Free tools, real income, local impact.”
3. Fundraising Element:
• Suggest that each student donates 10% of their first 3 months of online income to the Mayor’s Office fund (or a community project).
• Add optional “Donate Now” buttons on each site linking to the city’s donation portal or QR code.
đź’ˇ Additional Suggestions
🔹 1. Community-Building Tie-Ins:
• Invite local businesses to sponsor snacks, drinks, or raffle items.
• Offer certificates for participants who complete and publish a working site.
🔹 2. Project Ideas for Students:
• AI-powered resume builders
• Local service listings (e.g. massage, tutoring, cleaning)
• Blog + affiliate link sites (Amazon, local stores)
• Art print or AI-image storefronts
• Event promotion sites for friends/family
🔹 3. Encourage Pay-It-Forward:
• Ask participants to commit to mentoring one person after they succeed.
• Share success stories on a community Facebook or YouTube channel (maybe GUAMSNEWS?)
🔹 4. Promote Localism:
• Sites should showcase Guam, use local imagery, and include a section about how Guam supports innovation.
• You could even add a “Built in Guam” badge for everyone to proudly display.
đź’¬ Sample Messaging for Students
“You’ll learn how to build and launch a real AI-powered website in a few hours — totally free. In return, we ask that when you succeed, you give back a little to the community that helped launch your journey. Let’s grow together.”
📦 Optional Bonus Materials
• Downloadable PWA starter kits (like your “Code Scanner” repo)
• Short YouTube tutorial recaps
• Printable PDF quick-start guides (how to set up GitHub, etc.)
• A branded donation template page they can clone
Mahalo
SIGNATURE:
Clifford "RAY" Hackett I founded www.adapt.org in 1980 it now has over 50 million members.
$500 of material=World’s fastest hydrofoil sailboat. http://sunrun.biz
brew install gh
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”UTF-8″ />
<meta name=”viewport” content=”width=device-width, initial-scale=1″ />
<title>Ray2407 PWA Hub</title>
<!– PWA Manifest –>
<link rel=”manifest” href=”manifest.json” />
<style>
body {
font-family: Arial, sans-serif;
padding: 1rem;
max-width: 600px;
margin: auto;
}
h1 {
text-align: center;
margin-bottom: 0.5rem;
}
ul {
list-style: none;
padding-left: 0;
}
li {
margin: 0.5rem 0;
}
a {
text-decoration: none;
color: #0078D7;
font-weight: bold;
}
a:hover {
text-decoration: underline;
}
footer {
margin-top: 2rem;
text-align: center;
font-size: 0.85rem;
color: #666;
}
</style>
</head>
<body>
<h1>Ray2407 Progressive Web Apps</h1>
<p>Welcome! Below are my collection of PWAs. Click any to open:</p>
<ul>
<li><a href=”./” aria-label=”Main Code Scanner PWA”>Main Code Scanner (Root)</a></li>
<li><a href=”./1/” aria-label=”Second PWA”>1 – Notes App</a></li>
<li><a href=”./2/” aria-label=”Third PWA”>2 – Countdown Timer</a></li>
<li><a href=”./3/” aria-label=”Daily Journal”>3 – Daily Journal</a></li>
<li><a href=”./4/” aria-label=”Weather Forecast”>4 – Weather Forecast</a></li>
<li><a href=”./5/” aria-label=”Habit Tracker”>5 – Habit Tracker</a></li>
<li><a href=”./6/” aria-label=”To-Do List”>6 – To-Do List</a></li>
<li><a href=”./7/” aria-label=”Pomodoro Timer”>7 – Pomodoro Timer</a></li>
<li><a href=”./8/” aria-label=”Expense Tracker”>8 – Expense Tracker</a></li>
<li><a href=”./9/” aria-label=”Voice Recorder”>9 – Voice Recorder</a></li>
<li><a href=”./10/” aria-label=”Flashcards App”>10 – Flashcards App</a></li>
<li><a href=”./11/” aria-label=”Gratitude Journal”>11 – Gratitude Journal</a></li>
<li><a href=”./12/” aria-label=”Fitness Log”>12 – Fitness Log</a></li>
<li><a href=”./13/” aria-label=”Language Learner”>13 – Language Learner</a></li>
<li><a href=”./14/” aria-label=”Mood Tracker”>14 – Mood Tracker</a></li>
<li><a href=”./15/” aria-label=”Prayer List”>15 – Prayer List</a></li>
</ul>
<footer>© 2025 Ray2407 | Powered by PWA Technology</footer>
<script>
// Register service worker for PWA support
if (‘serviceWorker’ in navigator) {
navigator.serviceWorker.register(‘sw.js’).then(() => {
console.log(‘Service Worker registered’);
}).catch((err) => {
console.error(‘Service Worker registration failed:’, err);
});
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”UTF-8″>
<title>News Website</title>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<meta name=”theme-color” content=”#ffffff”>
<link rel=”icon” href=”icon.png”>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
}
h1 {
color: #333;
}
.table-container {
overflow-x: auto;
}
table {
width: 100%;
border-collapse: collapse;
min-width: 600px;
}
th, td {
border: 1px solid #999;
padding: 10px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
</style>
</head>
<body>
<h1>News Website</h1>
<div class=”table-container”>
<table>
<tr>
<th>What</th>
<th>When</th>
<th>Where</th>
<th>Who</th>
<th>Why</th>
</tr>
<?php
$filename = “news.csv”;
if (file_exists($filename) && ($handle = fopen($filename, “r”)) !== FALSE) {
fgetcsv($handle); // Skip header row
while (($data = fgetcsv($handle, 1000, “,”)) !== FALSE) {
echo “<tr>”;
foreach ($data as $cell) {
echo “<td>” . htmlspecialchars($cell) . “</td>”;
}
echo “</tr>”;
}
fclose($handle);
} else {
echo “<tr><td colspan=’5′>Error: news.csv not found or unreadable.</td></tr>”;
}
?>
</table>
</div>
<script>
// Inline manifest creation using Blob
const manifest = {
“name”: “News Website”,
“short_name”: “News”,
“start_url”: “./index.php”,
“display”: “standalone”,
“background_color”: “#ffffff”,
“theme_color”: “#ffffff”,
“icons”: [
{
“src”: “icon.png”,
“sizes”: “192×192”,
“type”: “image/png”
},
{
“src”: “icon.png”,
“sizes”: “512×512”,
“type”: “image/png”
}
]
};
const blob = new Blob([JSON.stringify(manifest)], { type: ‘application/json’ });
const manifestURL = URL.createObjectURL(blob);
const link = document.createElement(‘link’);
link.rel = ‘manifest’;
link.href = manifestURL;
document.head.appendChild(link);
// Register the service worker from inside this file
const swCode = `
const CACHE_NAME = ‘news-pwa-v1’;
const urlsToCache = [
‘./index.php’,
‘./news.csv’,
‘./icon.png’
];
self.addEventListener(‘install’, event => {
event.waitUntil(
caches.open(CACHE_NAME).then(cache => cache.addAll(urlsToCache))
);
});
self.addEventListener(‘fetch’, event => {
event.respondWith(
caches.match(event.request)
.then(response => response || fetch(event.request))
);
});
`;
const swBlob = new Blob([swCode], { type: ‘application/javascript’ });
const swUrl = URL.createObjectURL(swBlob);
if (‘serviceWorker’ in navigator) {
navigator.serviceWorker.register(swUrl)
.then(reg => console.log(‘âś… Service Worker registered:’, reg.scope))
.catch(err => console.error(‘❌ Service Worker registration failed:’, err));
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”UTF-8″>
<title>News Website</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
}
h1 {
color: #333;
}
.table-container {
overflow-x: auto;
}
table {
width: 100%;
border-collapse: collapse;
min-width: 600px;
}
th, td {
border: 1px solid #999;
padding: 10px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
</style>
</head>
<body>
<h1>News Website</h1>
<div class=”table-container”>
<table>
<tr>
<th>What</th>
<th>When</th>
<th>Where</th>
<th>Who</th>
<th>Why</th>
</tr>
<?php
$filename = “news.csv”;
if (file_exists($filename) && ($handle = fopen($filename, “r”)) !== FALSE) {
// Skip the header row
fgetcsv($handle);
// Read and output the rest of the rows
while (($data = fgetcsv($handle, 1000, “,”)) !== FALSE) {
echo “<tr>”;
foreach ($data as $cell) {
echo “<td>” . htmlspecialchars($cell) . “</td>”;
}
echo “</tr>”;
}
fclose($handle);
} else {
echo “<tr><td colspan=’5′>Error: news.csv not found or unreadable.</td></tr>”;
}
?>
</table>
</div>
</body>
</html>