Inspiration

Many students do not need another stressful to-do list. They need help starting. Tasks can feel too big, unclear, boring, low-energy, or impossible to restart after getting distracted. I built Concentry to turn that chaos into one clear, gentle next step.

Concentry is not a medical or diagnostic tool. It provides productivity, focus, learning, and organization support only.

What it does

Concentry is an AI focus support app with two simple modes:

  1. I need to do something

    • The user enters a task, available time, and how hard it feels.
    • Concentry creates a timed first-session plan.
    • The app shows only one current step at a time.
    • Users can mark steps done, make a step smaller, ask for a simpler explanation, or get unstuck.
  2. I have a course or document

    • The user uploads a PDF course, assignment, lecture, or revision document.
    • Concentry extracts and analyzes the content.
    • It detects subject, language, document type, study parts, and estimated time.
    • It creates a step-by-step learning plan and quizzes the user from the active material.

The full experience is:

Open app -> choose a mode -> get one next step -> follow progress -> quiz yourself -> restart without guilt.

How we built it

Concentry is built as a full-stack Next.js app. The frontend uses React, TypeScript, Tailwind CSS, Framer Motion, and a calm responsive UI system. The backend uses Next.js API routes for AI task planning, PDF analysis, quiz generation, document chat, stuck detection, tiny-step generation, restart support, and progress insights.

AI responses are validated with Zod schemas so the UI receives structured, safe data. Gemini powers the AI features when a key is available, and the app also includes dynamic local fallback responses so the demo continues working even if the AI quota is unavailable.

PDF upload uses local text extraction, then the extracted content is passed into the AI document analysis flow. Guest mode stores progress in localStorage, while Prisma and SQLite are included for future database persistence.

Challenges we faced

The hardest part was keeping the app powerful without making it overwhelming. A focus-support app should not throw dozens of options at the user. I redesigned the product around two clear modes and made Step Mode show only one current action at a time.

Another challenge was preventing old or unrelated AI results from leaking into new sessions. I separated task sessions and document sessions so quizzes, steps, and progress stay connected to the correct active task or PDF.

PDF extraction was also tricky because uploaded PDFs can vary a lot. I added fallback extraction behavior and clear error handling so the app can still guide the user calmly.

What we learned

I learned that AI productivity tools need strong UX boundaries. The AI can generate plans, explanations, quizzes, and rescue steps, but the user experience must stay simple: one screen, one step, one obvious next action.

I also learned how important structured AI outputs are. Validating every AI response with schemas made the app more reliable and easier to connect across pages.

Accomplishments

I am proud that Concentry feels like a complete product rather than just an AI chat wrapper. It has:

  • A polished landing page
  • Two clear user modes
  • Timed task planning
  • PDF upload and document analysis
  • Step-by-step learning mode
  • Quiz generation from the current task or document
  • Progress tracking
  • Stuck detection and rescue cards
  • Restart support after distraction
  • Responsive design
  • Dynamic fallback AI behavior

What's next

Next, I would add real user accounts, database-backed progress history, calendar integration, richer learning analytics, and exportable weekly progress summaries. I would also improve PDF support for more complex documents and add more personalization based on what rescue strategies actually help each user.

Built With

  • framer-motion
  • gemini-api
  • localstorage
  • lucide
  • next.js
  • pdf-parse
  • playwright
  • prisma
  • react
  • sqlite
  • tailwind-css
  • typescript
  • zod
Share this project:

Updates