Professional documents in seconds. Generate proposals, contracts, invoices, NDAs, statements of work, and receipts with AI.
🌐 Live Site: theworthycorp.com
Worthy & Co. is a SaaS platform that helps freelancers, consultants, and independent contractors create professional business documents using AI. Built with modern web technologies and designed for speed, reliability, and ease of use.
- AI-Powered Document Generation - Create proposals, contracts, invoices, NDAs, SOWs, and receipts in seconds
- Smart Templates - Pre-built templates optimized for freelance business needs
- Client Management - Store and organize client information for faster document creation
- Document History - Access and reuse previously generated documents
- Bulk Generation - Upload CSV files to generate multiple documents at once (Pro)
- Export Options - Download as Markdown, PDF, or DOCX
- Stripe Integration - Secure payment processing for Pro subscriptions
- SEO-Optimized Blog - Marketing content hub with freelance business resources
- Google Analytics - Track visitor behavior and conversions
- React 19 - Modern UI library with latest features
- TypeScript - Type-safe development
- Tailwind CSS 4 - Utility-first styling
- shadcn/ui - High-quality component library
- Wouter - Lightweight routing
- React Helmet Async - SEO meta tags management
- Express 4 - Node.js web framework
- tRPC 11 - End-to-end typesafe APIs
- Drizzle ORM - Type-safe database queries
- MySQL/TiDB - Relational database
- Superjson - Enhanced JSON serialization
- Manus Platform - Hosting and deployment
- Stripe - Payment processing
- S3-compatible Storage - File storage
- OAuth 2.0 - User authentication
- Google Analytics 4 - Analytics tracking
- OpenAI API - Document generation
- Manus LLM Service - AI integration layer
freelanceflow_ai/
├── client/ # Frontend React application
│ ├── public/ # Static assets
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page-level components
│ │ ├── contexts/ # React contexts
│ │ ├── hooks/ # Custom hooks
│ │ ├── lib/ # Utilities and tRPC client
│ │ └── App.tsx # Routes and layout
├── server/ # Backend Express + tRPC
│ ├── _core/ # Framework plumbing (OAuth, context, etc.)
│ ├── db.ts # Database query helpers
│ ├── routers.ts # tRPC procedures
│ ├── stripe.ts # Stripe integration
│ ├── webhookHandler.ts # Stripe webhook handling
│ └── notifications.ts # Owner notifications
├── drizzle/ # Database schema and migrations
│ └── schema.ts # Table definitions
├── storage/ # S3 storage helpers
└── shared/ # Shared types and constants
- Node.js 22.x
- pnpm (package manager)
- MySQL or TiDB database
- Stripe account (for payments)
- Manus account (for deployment)
- Clone the repository:
git clone https://github.com/TheWorthyOne/Manus-Worthy_Co_AI_Document.git
cd Manus-Worthy_Co_AI_Document- Install dependencies:
pnpm install-
Set up environment variables (see Environment Variables section below)
-
Push database schema:
pnpm db:push- Start development server:
pnpm devThe app will be available at http://localhost:3000
The following environment variables are automatically injected by the Manus platform:
DATABASE_URL- MySQL/TiDB connection string
JWT_SECRET- Session cookie signing secretVITE_APP_ID- Manus OAuth application IDOAUTH_SERVER_URL- Manus OAuth backend base URLVITE_OAUTH_PORTAL_URL- Manus login portal URL (frontend)OWNER_OPEN_ID- Owner's OpenIDOWNER_NAME- Owner's name
STRIPE_SECRET_KEY- Stripe API secret keySTRIPE_WEBHOOK_SECRET- Stripe webhook signing secretVITE_STRIPE_PUBLISHABLE_KEY- Stripe publishable key (frontend)
BUILT_IN_FORGE_API_URL- Manus built-in APIs (LLM, storage, notifications)BUILT_IN_FORGE_API_KEY- Bearer token for server-side API accessVITE_FRONTEND_FORGE_API_KEY- Bearer token for frontend API accessVITE_FRONTEND_FORGE_API_URL- Manus APIs URL for frontend
VITE_ANALYTICS_ENDPOINT- Manus analytics endpointVITE_ANALYTICS_WEBSITE_ID- Manus analytics website ID
VITE_APP_TITLE- Application titleVITE_APP_LOGO- Application logo URL
users - User accounts and authentication
id,openId,email,name,avatar,role,createdAt
subscriptions - User subscription tiers
id,userId,tier(free/pro),stripeCustomerId,stripeSubscriptionId,status,currentPeriodEnd
documents - Generated documents
id,userId,type,title,content,metadata,createdAt
clients - Client information
id,userId,name,email,company,createdAt
blogPosts - Blog content
id,title,slug,excerpt,content,category,readTimeMinutes,published,publishedAt,authorId
All API calls go through /api/trpc with end-to-end type safety.
Public Procedures:
auth.me- Get current userauth.logout- Sign out
Protected Procedures:
subscription.getStatus- Get user's subscription tier and usagedocuments.generate- Generate a new documentdocuments.list- List user's documentsclients.create- Add a new clientclients.list- List user's clientsstripe.createCheckoutSession- Create Stripe checkoutstripe.createBillingPortalSession- Access billing portal
/api/stripe/webhook- Stripe webhook handler for subscription events
This project is designed to be deployed on the Manus platform, which handles:
- Automatic SSL certificates
- Custom domain management
- Database provisioning
- Environment variable injection
- OAuth integration
- Analytics tracking
To deploy:
- Create a checkpoint in Manus
- Click "Publish" in the Management UI
- Configure custom domain (optional)
- Update database schema in
drizzle/schema.ts - Run
pnpm db:pushto apply changes - Add query helpers in
server/db.ts - Create tRPC procedures in
server/routers.ts - Build UI in
client/src/pages/ - Call procedures using
trpc.*.useQuery/useMutation - Write tests in
server/*.test.ts - Run
pnpm testto verify
# Run all tests
pnpm test
# Run tests in watch mode
pnpm test:watch# Push schema changes to database
pnpm db:push
# Generate migration files
pnpm db:generate
# Apply migrations
pnpm db:migrate- 3 AI-generated documents per month
- Access to proposals, contracts, and invoices
- Markdown export
- Watermarked PDF export
- Unlimited AI-generated documents
- All document types (NDA, SOW, Receipt)
- Bulk generation via CSV upload
- Premium templates
- Unwatermarked PDF & DOCX export
- Document history & storage
- Priority support
- 7 comprehensive articles targeting high-volume keywords
- Topics: contracts, proposals, invoicing, freelance business
- Combined monthly search volume: 40,200+
- 6 marketing guides for freelancers
- Searchable resource library
- Internal linking for SEO
- XML sitemap at
/sitemap.xml - HTML sitemap at
/sitemap - robots.txt configured
- Google Analytics 4 integrated
- Meta tags optimized for sharing
This is a personal project, but feedback and suggestions are welcome! Feel free to:
- Open issues for bugs or feature requests
- Submit pull requests for improvements
- Share your experience using the platform
Copyright © 2025 Nathan Kenworthy. All rights reserved.
This is proprietary software. Unauthorized copying, modification, distribution, or use of this software, via any medium, is strictly prohibited.
Built by Nathan Kenworthy, a medical student and aspiring entrepreneur, while balancing family life and the demands of medical school. This project represents a commitment to helping freelancers succeed with better tools and automation.
Connect:
- Website: theworthycorp.com
- Email: NathanTKenworthy@gmail.com
- Built with Manus - AI-powered development platform
- UI components from shadcn/ui
- Icons from Lucide
- Payments by Stripe
⭐ If you find this project interesting, please star the repository!