Skip to content

wuzz-dev/MoneyPot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FreelancEye

Open-source, local-first lead prospecting for freelancers and small agencies.

FreelancEye helps you find local businesses, run AI online-presence audits, save prospects, manage follow-ups, and turn weak websites into outreach opportunities. It is built for people selling websites, SEO, design, marketing, automation, or other digital services to local businesses.

Try the hosted demo · Self-host on GitHub · Support the builder

The hosted demo is intentionally capped to control API costs. The MIT repo is the unlimited path: clone it, add your own keys, and run it however you want.

Why It Exists

Finding clients manually is messy. FreelancEye gives freelancers a lightweight workflow:

  1. Search real local businesses by city or area.
  2. Spot businesses with weak or missing online presence.
  3. Run an AI audit to get practical improvement angles.
  4. Save prospects into a small CRM.
  5. Track call status, notes, follow-ups, and estimated value.

No forced account. No heavy sales stack. No hidden payment flow.

Features

  • Local business search powered by OpenStreetMap data.
  • AI audits through Groq, Gemini, or OpenRouter.
  • Saved leads with call status, notes, follow-up dates, and estimated value.
  • List and Kanban views for managing prospects.
  • CSV import/export for moving lead data around.
  • Client-ready report and proposal sharing foundations.
  • Local-first IndexedDB storage, with optional Supabase schema included.
  • Transparent hosted limits that point users to self-hosting instead of pretending unlimited API usage is free.

Quick Start

Requirements: Node.js 18+ and npm.

git clone https://github.com/wuzz-dev/MoneyPot.git
cd MoneyPot
npm install
cp .env.example .env.local
npm run dev

On Windows PowerShell, use this instead of cp:

copy .env.example .env.local

The dev server runs on http://127.0.0.1:5000.

The app can run without credentials for browsing and local lead management. AI audits need either local browser keys or server-side keys on Vercel.

Environment

Copy .env.example to .env.local.

Frontend variables:

VITE_SUPABASE_URL=
VITE_SUPABASE_ANON_KEY=
VITE_GITHUB_REPO_URL=https://github.com/wuzz-dev/MoneyPot
VITE_BUILDER_NAME=wuzz-dev
VITE_TIP_URL=https://paypal.me/AldridNabuya
VITE_HOSTED_DEMO=false
VITE_AUDIT_PROXY_URL=
VITE_PLACES_PROXY_URL=/api/places
VITE_GROQ_API_KEY=
VITE_GEMINI_API_KEY=
VITE_OPENROUTER_API_KEY=
VITE_OPENROUTER_MODEL=openrouter/free

For personal local testing, direct browser keys are fine:

VITE_OPENROUTER_API_KEY=your_key

For a public hosted deployment, do not expose AI keys through VITE_. Use the proxy:

VITE_HOSTED_DEMO=true
VITE_AUDIT_PROXY_URL=/api/audit
VITE_PLACES_PROXY_URL=/api/places

Then add at least one server-only AI key in Vercel:

GROQ_API_KEY=
GEMINI_API_KEY=
OPENROUTER_API_KEY=
OPENROUTER_MODEL=openrouter/free
CONTACT_EMAIL=

Hosted /api/audit reads the non-VITE_ names. If you only add VITE_OPENROUTER_API_KEY on Vercel, the browser may have a key but the serverless audit endpoint will still fail.

Deploy

FreelancEye is currently designed for Vercel:

Framework: Vite
Install command: npm install
Build command: npm run build
Output directory: dist

Short checklist:

  1. Import this repo into Vercel.
  2. Set the frontend env vars.
  3. Set at least one server AI key for hosted audits.
  4. Redeploy after changing env vars.
  5. Test search, saving leads, audit limits, and self-host links.

See DEPLOYMENT.md for the full production checklist.

Optional Supabase

FreelancEye currently works accountless and local-first. Supabase migrations are included for profiles, leads, reports, proposals, activities, and usage events if you want cloud-backed records later.

Run migrations in timestamp order from supabase/migrations/.

Scripts

npm run dev       # local development server
npm run build     # production build
npm run preview   # preview production build
npm run test      # Vitest test suite
npm run lint      # ESLint

Tech Stack

  • React + Vite
  • Tailwind CSS
  • IndexedDB via Dexie
  • OpenStreetMap / Nominatim / Overpass
  • Vercel serverless functions
  • Optional Supabase
  • Vitest

Project Layout

api/                    Vercel serverless functions
public/                 PWA icons, manifest, service worker
shared/                 Shared server/client audit prompt
src/api/                Browser API clients
src/components/         UI components
src/context/            App state and optional auth context
src/lib/                IndexedDB, hosted limits, sharing, schema helpers
src/pages/              App routes
src/__tests__/          Unit tests
supabase/migrations/    Optional database schema and RLS policies

Current Boundaries

  • Search works best with city or area queries, not country-wide scraping.
  • The hosted demo has visible rolling limits for saved leads, AI audits, and AI assist.
  • Unlimited usage means self-hosting with your own provider keys and infrastructure.
  • Account and payment flows are hidden for now; the project is focused on open-source distribution first.
  • Call Assist is still local/browser-oriented, not a hosted realtime voice backend.

Contributing

Issues, ideas, and pull requests are welcome. If you are testing it as a freelancer, the most useful feedback is where the lead workflow feels slow, unclear, or not close enough to how you actually find clients.

Support

If FreelancEye helps you land a client, tips are welcome: paypal.me/AldridNabuya.

License

MIT. See LICENSE.

About

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages