A PWA that reveals the spiritual meaning of angel numbers by searching and aggregating meanings from across the web.
- Input any angel number (1-4 digits)
- Fetches meanings from multiple sources via SerpAPI
- Caches results in Supabase for faster subsequent lookups
- PWA support with offline caching
- Responsive spiritual-themed UI
- Frontend: HTML, JavaScript, Tailwind CSS v4
- Backend: Supabase Edge Functions (Deno)
- API: SerpAPI for search
- Database: Supabase (PostgreSQL)
- Create a Supabase project at https://supabase.com
- Run the SQL from
SQL.mdin the Supabase SQL Editor to create the cache table
Set these in your Supabase Edge Function:
SUPABASE_URL- Your Supabase project URLSUPABASE_SERVICE_ROLE_KEY- Your Supabase service role keySERPAPI_KEY- Get one at https://serpapi.com
supabase functions deploy get-angel-meaningEdit js/app.js and replace:
const SUPABASE_FUNCTION_URL = 'https://YOUR_PROJECT_REF.supabase.co/functions/v1/get-angel-meaning';Edit supabase/functions/get-angel-meaning/index.ts and update CORS:
'Access-Control-Allow-Origin': 'https://YOUR_USERNAME.github.io',Create and add these files (referenced in manifest.json):
icon-192.png(192x192)icon-512.png(512x512)
npm install
npm run buildnpm run dev- Frontend with Tailwind CSS styling
- Search functionality with loading states
- Results display with meanings and sources
- Error handling
- In-memory caching in app.js
- PWA manifest
- Service worker (basic)
- Supabase Edge Function with SerpAPI integration
- Database caching
- SQL schema for cache table
- Configure
SUPABASE_FUNCTION_URLinjs/app.js - Configure CORS origin in Edge Function
- Set environment variables in Supabase
- Deploy Edge Function
- Add PWA icons (icon-192.png, icon-512.png)
- Fix service worker font URL (currently caches wrong font)
- Run SQL in Supabase
Angel_Numbers/
├── index.html # Main app
├── js/app.js # Frontend logic
├── css/
│ ├── input.css # Tailwind input
│ └── style.css # Built CSS
├── sw.js # Service worker
├── manifest.json # PWA manifest
├── package.json # Dependencies
├── SQL.md # Database schema
└── supabase/
└── functions/
└── get-angel-meaning/
└── index.ts # Edge function