Skip to content

mauryasagar/inline-ai

Repository files navigation

✦ InLine

Strategic Alignment Workspace

A proactive AI productivity companion that keeps you ahead of every deadline.

Stack: Node.js 20 · React 19 · TypeScript 5.8 · Tailwind CSS 4 · Google Gemini AI · Cloud Run

Vibe2Ship — India's Biggest Vibe-Coding Hackathon

🚀 Live Demo


Overview

InLine is a full-stack productivity web app powered by Google Gemini AI. It continuously monitors your task registry, identifies deadline threats, calculates a real-time Safety Index, and dispatches proactive alerts — all without you having to ask.

Scribe, the built-in AI companion, lets you manage tasks conversationally: add, complete, reschedule, and prioritize — all in plain language.


Features

Feature Description
🛡️ Proactive Defense Real-time Safety Index (0–100) that tracks deadline risk, overdue tasks, and burnout load
📋 Task Registry Full task board with priorities, categories, energy levels, statuses, and edit/delete/reminder support
📅 Timeline AI-generated daily schedule that reorders tasks by urgency and inserts mindfulness breaks
🤖 Scribe AI Advisor Conversational AI chat that can add, complete, and update tasks directly from natural language
📊 Analytics Progress charts, pacing safety index, completion rate, and energy distribution insights
⏱️ Deep Work Timer Pomodoro-style focus timer with work/break/long break presets and active task lock-in
🔔 Smart Reminders Browser push notifications for scheduled task reminders
🚨 Alert Hub Proactive safeguard cards with one-click action buttons (Reschedule, Promote, Inject Break)

Tech Stack

Frontend

  • React 19 + TypeScript — component UI
  • Tailwind CSS v4 — utility-first styling
  • Framer Motion (via motion) — animations and transitions
  • Lucide React — icons
  • Vite 6 — dev server and bundler

Backend

  • Node.js + Express — REST API server
  • Google Gemini AI (@google/genai) — AI analysis and chat
  • Helmet — HTTP security headers
  • express-rate-limit — DoS and abuse protection
  • tsx — TypeScript execution in dev

Infrastructure

  • Google Cloud Run — serverless container hosting
  • Docker — containerised production build
  • Vite (SSR middleware mode) — dev hot reload via Express

Project Structure

.
├── src/
│   ├── App.tsx                  # Root app, state management, routing
│   ├── types.ts                 # Shared TypeScript interfaces
│   ├── index.css                # Global styles
│   ├── main.tsx                 # React entry point
│   └── components/
│       ├── ScoreDial.tsx        # Proactive Defense / Safety Index widget
│       ├── AlertHub.tsx         # Proactive safeguard alert cards
│       ├── TaskBoard.tsx        # Task registry board
│       ├── Timeline.tsx         # AI-generated daily schedule
│       ├── CoachChat.tsx        # Scribe AI chat interface
│       ├── FocusTimer.tsx       # Deep work / Pomodoro timer
│       └── ProgressAnalytics.tsx # Charts and analytics
├── server.ts                    # Express backend + Gemini API integration
├── Dockerfile                   # Multi-stage production Docker build
├── vite.config.ts               # Vite configuration
├── tsconfig.json                # TypeScript config
└── package.json

Getting Started

Prerequisites

1. Install dependencies

npm install

2. Configure environment

Copy the example env file and add your API key:

cp .env.example .env

Edit .env:

GEMINI_API_KEY=your_gemini_api_key_here

Note: The app works without a key — Scribe runs in Offline Fallback Mode using local heuristics. Full AI coaching requires a valid Gemini API key.

3. Run locally

npm run dev

Open http://localhost:3000.


Available Scripts

Command Description
npm run dev Start local dev server with hot reload (Vite + Express)
npm run build Build Vite frontend + bundle Express server for production
npm start Start production server from built dist/
npm run lint Run TypeScript type checking
npm run clean Remove build artifacts

API Reference

All endpoints are prefixed with /api.

GET /api/health

Returns server and AI configuration status.

{ "status": "ok", "aiConfigured": true }

POST /api/ai/analyze

Triggers AI-powered task prioritization, schedule generation, and proactive alert creation.

Body:

{
  "tasks": [...],
  "currentTime": "string",
  "userFocusGoal": "string"
}

POST /api/ai/chat

Sends a conversational message to Scribe AI. Returns a reply and optional task mutation operations.

Body:

{
  "messages": [...],
  "tasks": [...],
  "currentTime": "string"
}

Rate limits: General API — 100 req / 15 min. AI endpoints — 20 req / 15 min.

Security

InLine implements the following production security measures:

  • Helmet.js — sets X-Frame-Options, X-Content-Type-Options, Strict-Transport-Security, X-XSS-Protection, and Content Security Policy headers
  • Rate limiting — 100 req/15 min general, 20 req/15 min on AI endpoints
  • Body size cap — 100kb max request payload
  • Input validation — all API inputs validated and sanitized before processing
  • Sanitized errors — internal error details never exposed to clients; logged server-side only

🏆 Built at Vibe2Ship

Vibe2Ship — India's Biggest Vibe-Coding Hackathon (Online Edition)

InLine was designed and shipped end-to-end during Vibe2Ship, showcasing how AI-assisted vibe-coding can take a product from zero to a fully deployed, production-ready application — complete with a Gemini-powered AI companion, real-time safety scoring, and Cloud Run deployment.


License

Apache 2.0 — see LICENSE for details.

About

A proactive AI productivity companion powered by Google Gemini. Built at Vibe2Ship Hackathon.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages