Liora is a sophisticated web platform that connects startup founders with investors through AI-powered workflows, intelligent matching, and comprehensive investment memo generation.
- Dual User Experience: Separate optimized workflows for founders and investors
- AI-Powered Analysis: Automated investment memo generation from company data
- Real-time Communication: WebSocket-based notifications and AI interviews
- Interactive Data Visualization: Charts and analytics for market trends and company metrics
- Desktop-Optimized: Built specifically for desktop users (1920x1080+)
- Modern Tech Stack: Next.js 14, TypeScript, Tailwind CSS, shadcn/ui
- Framework: Next.js 14 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- State Management: Zustand + TanStack Query
- Real-time: Socket.io
- Charts: Recharts
- Forms: React Hook Form + Zod
- File Upload: React Dropzone
- Node.js 18+
- npm or yarn
- Modern web browser (Chrome, Firefox, Safari, Edge)
-
Clone the repository
git clone <repository-url> cd liora
-
Install dependencies
npm install
-
Set up environment variables
cp .env.local.example .env.local
Edit
.env.localwith your configuration:NEXT_PUBLIC_API_URL=http://localhost:3001 NEXT_PUBLIC_WS_URL=ws://localhost:3001 NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_api_key
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
src/
├── app/ # Next.js App Router pages
│ ├── (auth)/ # Authentication routes
│ ├── founder/ # Founder-specific pages
│ ├── investor/ # Investor-specific pages
│ └── layout.tsx # Root layout
├── components/ # Reusable UI components
│ ├── ui/ # shadcn/ui components
│ ├── forms/ # Form components
│ ├── charts/ # Chart components
│ └── layout/ # Layout components
├── lib/ # Utility functions and configurations
├── hooks/ # Custom React hooks
├── stores/ # Zustand stores
├── types/ # TypeScript type definitions
└── services/ # API and external service integrations
npm run dev- Start development server with Turbopacknpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run lint:fix- Fix ESLint issuesnpm run format- Format code with Prettiernpm run format:check- Check code formattingnpm run type-check- Run TypeScript type checkingnpm run check-all- Run all checks (types, lint, format)
- Company information upload and management
- AI-generated questionnaire completion
- Real-time AI interview experience
- Profile status tracking and notifications
- Investment preferences configuration
- Company discovery and filtering
- Comprehensive investment memo viewing
- Call scheduling with founders
- Desktop-optimized responsive design (1920x1080+)
- Real-time WebSocket communication
- File upload with progress tracking
- Interactive data visualizations
- Accessibility compliance (WCAG)
- Input validation with Zod schemas
- XSS protection and secure headers
- Optimized bundle splitting
- Image optimization with Next.js
- Desktop-first performance optimization
- Code Style: Follow the configured ESLint and Prettier rules
- TypeScript: Maintain strict type safety
- Components: Use shadcn/ui components for consistency
- State Management: Use Zustand for global state, TanStack Query for server state
- Styling: Use Tailwind CSS utility classes
- Desktop-First: Optimize for desktop experience (requirement 9.3)
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
- Follow the established code style and patterns
- Ensure TypeScript types are properly defined
- Test on desktop resolutions (1920x1080 minimum)
- Maintain accessibility standards
- Update documentation as needed
This project is part of a hackathon submission and is for demonstration purposes.