Consicio is a modern, responsive web application focused on enhancing productivity and collaboration through seamless task management and streamlined workflows. Built using cutting-edge web technologies, Consicio delivers a clean user experience optimized for both desktop and mobile users.
- ✨ AI-powered – Text summarization for efficient content digestion
- ⚡ BetterAuth – Authentication system (Login, Sign Up)
- 🛠️ Personal Dashboard – Personal dashboard to check out summaries and moderate content
- 📄 SSR – Dynamic pages with server-side rendering (SSR)
- 📱Easy Accessibility – Fully responsive across mobile, tablet, and desktop devices
- Frontend: Next.js (App Router)
- Backend: TypeScript, Zod (via API routes)
- Database: UploadThing, NeonDB
- Styling: Tailwind CSS, ShadcnUI
- Authentication & Security: BetterAuth
- AI and Parsing: LangChain, OpenAI, Gemini
Directory structure:
└── fudailzafar-consicio/
├── README.md
├── components.json
├── eslint.config.mjs
├── LICENSE
├── middleware.ts
├── next.config.ts
├── package.json
├── postcss.config.mjs
├── schema.sql
├── tsconfig.json
├── .example.env.local
├── actions/
│ ├── summary-actions.ts
│ └── upload-actions.ts
├── app/
│ ├── globals.css
│ ├── layout.tsx
│ ├── manifest.ts
│ ├── not-found.tsx
│ ├── page.tsx
│ ├── (logged-in)/
│ │ ├── dashboard/
│ │ │ ├── loading.tsx
│ │ │ └── page.tsx
│ │ ├── summaries/
│ │ │ └── [id]/
│ │ │ ├── loading.tsx
│ │ │ └── page.tsx
│ │ └── upload/
│ │ └── page.tsx
│ ├── [...not-found]/
│ │ └── page.tsx
│ ├── api/
│ │ └── uploadthing/
│ │ ├── core.ts
│ │ └── route.ts
│ ├── sign-in/
│ │ └── [[...sign-in]]/
│ │ └── page.tsx
│ └── sign-up/
│ └── [[...sign-up]]/
│ └── page.tsx
├── components/
│ ├── common/
│ │ ├── bg-gradient.tsx
│ │ ├── footer.jsx
│ │ ├── header.tsx
│ │ ├── motion-wrapper.tsx
│ │ ├── nav-link.tsx
│ │ ├── plan-badge.tsx
│ │ └── upgrade-required.tsx
│ ├── home/
│ │ ├── cta-section.tsx
│ │ ├── demo-section.tsx
│ │ ├── hero-section.tsx
│ │ ├── how-it-works-section.tsx
│ │ ├── how-it-works.tsx
│ │ ├── pricing-section.tsx
│ │ └── TiltChipLinkExample.jsx
│ ├── summaries/
│ │ ├── content-section.tsx
│ │ ├── delete-button.tsx
│ │ ├── download-summary-button.tsx
│ │ ├── empty-summary-state.tsx
│ │ ├── navigation-controls.tsx
│ │ ├── progress-bar.tsx
│ │ ├── source-info.tsx
│ │ ├── summary-card.tsx
│ │ ├── summary-header.tsx
│ │ └── summary-viewer.tsx
│ ├── ui/
│ │ ├── badge.tsx
│ │ ├── button.tsx
│ │ ├── card.tsx
│ │ ├── dialog.tsx
│ │ ├── input.tsx
│ │ ├── skeleton.tsx
│ │ └── sonner.tsx
│ └── upload/
│ ├── loading-skeleton.tsx
│ ├── upload-form-input.tsx
│ ├── upload-form.tsx
│ └── upload-header.tsx
├── lib/
│ ├── db.ts
│ ├── gemini-ai.ts
│ ├── geminiai.ts
│ ├── langchain.ts
│ ├── openai.ts
│ ├── payments.ts
│ ├── summaries.ts
│ ├── user.ts
│ └── utils.ts
├── public/
│ ├── robots.txt
│ └── sitemap.xml
└── utils/
├── constants.ts
├── format-utils.ts
├── helpers.ts
├── prompts.ts
├── summary-helper.ts
├── summary-helpers.ts
└── uploadthing.tsMake sure you have:
- Node.js v14 or later
- npm or yarn
Clone the repository:
git clone https://github.com/fudailzafar/consicio.git
cd consicioInstall dependencies:
npm installor
yarn install- Copy the example environment file:
cp .env.example .env.local- Fill in the required environment variables in
.env.local:
# Database
DATABASE_URL="your_database_connection_string"
# Better Auth
BETTER_AUTH_SECRET="your_better_auth_secret"
BETTER_AUTH_URL="http://localhost:3000"
GOOGLE_CLIENT_ID="your_google_client_id"
GOOGLE_CLIENT_SECRET="your_google_client_secret"
# AI Services
GEMINI_API_KEY="your_gemini_api_key"
OPENAI_API_KEY="your_openai_api_key"
# File Upload
UPLOADTHING_TOKEN="your_uploadthing_token"- Get your environment variables:
- Database: Set up a PostgreSQL database (Neon, Supabase, or similar) and run the
schema-betterauth.sqlfile to create the required tables - BetterAuth: Generate a random secret key for
BETTER_AUTH_SECRETand setBETTER_AUTH_URLto your domain - Gemini: Get API key from Google AI Studio
- OpenAI: Get API key from OpenAI Platform
- UploadThing: Sign up at uploadthing.com and get your token
- Database: Set up a PostgreSQL database (Neon, Supabase, or similar) and run the
Run the development server:
npm run devor
yarn devVisit http://localhost:3000 in your browser.
To build the project for production:
npm run buildThis generates a build/ folder with optimized static files, ready for deployment.
This project is licensed under the MIT License.
📢 Contributions are welcome! Feel free to fork this repository, submit issues, or open pull requests. 🚀