Open Net Worth
Open Net Worth is an open-source personal AI wealth assistant you run yourself: one ledger for your whole financial life, worked by an AI agent you control.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
A curated directory of medical and startup grants from multiple countries. Clean, modern single-page grant finder with landing page and grants directory. Monetizes via Gumroad membership. · Built with Manus
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Curated database of 3,650+ grants, foundations, and support resources for individuals, families, and caregivers across 29 countries. Organized by category, country, and eligibility. Subscription-based SaaS.Read the full README ↗Curated database of 3,650+ grants, foundations, and support resources for individuals, families, and caregivers across 29 countries. Organized by category, country, and eligibility. Subscription-based SaaS.
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite, TailwindCSS 4 |
| UI Components | Radix UI, Framer Motion, Recharts |
| Backend | Node.js 22, Express, tRPC 11 |
| Database | MySQL, Drizzle ORM |
| Auth | OpenID / JWT (jose) — Manus OAuth |
| Payments | Paddle |
| Resend | |
| AI | Anthropic Claude SDK |
| Deployment | Railway (primary), Vercel (staging), Docker |
grantkit/
├── client/src/
│ ├── pages/ # Home, Catalog, Dashboard, Admin, Profile, etc.
│ ├── components/ # Navbar, FilterBar, CatalogCard, AIChatBox, etc.
│ ├── contexts/ # LanguageContext (i18n), ThemeContext
│ ├── i18n/ # Translation files (en, fr, es, ru, ka)
│ └── main.tsx # tRPC client setup
├── server/
│ ├── _core/ # Express entry, tRPC setup, env, OAuth
│ ├── routers.ts # All tRPC API endpoints
│ ├── db.ts # Database queries (Drizzle ORM)
│ ├── externalGrants.ts # GrantedAI API integration
│ ├── emailService.ts # Resend email notifications
│ ├── toolboxClient.ts # AI assistant
│ └── importGrants.ts # CSV/Excel bulk import
├── drizzle/
│ └── schema.ts # MySQL table definitions
├── scripts/ # Enrichment and utility scripts
├── Dockerfile # Multi-stage production build
└── vercel.json # Vercel frontend config
# Clone the repository
git clone https://github.com/navyforses/grantkit.git
cd grantkit
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env
# Edit .env with your database URL, API keys, etc.
# Push database schema
pnpm db:push
# Start development server
pnpm dev
| Command | Description |
|---|---|
pnpm dev | Start development server with hot reload |
pnpm build | Build for production (Vite + esbuild) |
pnpm start | Run production server |
pnpm test | Run tests with Vitest |
pnpm check | TypeScript type checking |
pnpm db:push | Push Drizzle schema to database |
GrantKit supports 5 languages with full UI and catalog content translations:
| Language | Code | Coverage |
|---|---|---|
| English | en | 100% (base) |
| French | fr | ~80% catalog + 100% UI |
| Spanish | es | ~82% catalog + 100% UI |
| Russian | ru | ~81% catalog + 100% UI |
| Georgian | ka | ~77% catalog + 100% UI |
All API endpoints use tRPC at /api/trpc.
catalog.list — Browse grants with filters and paginationcatalog.detail — Get grant details by item IDcatalog.preview — Diverse category preview for homepagegrants.savedList — Get user's saved grant IDsgrants.toggleSave — Save/unsave a grantsubscription.status — Get subscription statusai.grantChat — AI-powered grant discovery chatadmin.grants — List all grants with search/filteradmin.createGrant / admin.updateGrant / admin.deleteGrant — Grant CRUDadmin.searchExternal — Search 84,000+ external grantsadmin.importExternal — Import external grant to catalogadmin.searchFunders — Search 133,000+ US foundationsadmin.parseImport / admin.executeImport — CSV/Excel bulk importMIT
Built with React, tRPC, Drizzle ORM, and Claude AI.