Inspiration

Every time we want to learn something new, the process feels broken: endless Google searches, hours of YouTube, and days of online courses, just to stitch together a foundation. We wanted an agent that handles the research for you so you can focus on actual learning. That’s how Brainlens was born.

What it does

Brainlens is an AI-powered learning engine. You type a topic, and an agent gathers resources, organizes subtopics, and creates a structured path to mastery. It can even generate quizzes to test your understanding. Subtopics expand indefinitely, so the deeper you want to go, the more Brainlens can guide you.

How we built it

We built Brainlens using a modern stack:

  • React for the frontend UI.
  • PostgreSQL for structured data storage.
  • Redis for caching and real-time performance.
  • SearxNG (open-source metasearch engine) to pull diverse, unbiased resources.
  • Qdrant for semantic search and vector embeddings.
  • Kiro IDE to accelerate development with AI-powered specs, hooks, and steering.
  • Wasp Open-SaaS boilerplate as the foundation for authentication, database, and conventions.

Kiro’s Role

  • Spec-to-code: We structured our Product Requirements Document (PRD) into Kiro Specs. From there, we discussed with the agent, refined requirements, and generated structured tasks that were executed one by one. This made the spec the single source of truth.
  • Steering: We set up Kiro Steering files to define context, covering the Wasp system, authentication, database, UI, and project rules. This ensured every AI task stayed aligned with the project.
  • Hooks: We created automated triggers, for example, when schema.prisma changed, a hook would run wasp db migrate-dev. No manual steps, no forgotten migrations.

Challenges we ran into

  • Getting SearxNG and Qdrant to integrate smoothly into the flow.
  • Refining Kiro steering and specs so the agent produced consistent, on-context results.
  • Keeping the experience lightweight and smooth while juggling multiple AI components.

Accomplishments that we’re proud of

  • Built a full AI learning engine in hackathon time with Kiro as the development backbone.
  • Created a spec-driven workflow that turned vague ideas into a working product quickly.
  • Automated workflows with Kiro Hooks that genuinely saved development time.

What we learned

  • How powerful spec-driven development can be when combined with AI.
  • The importance of well-structured steering, garbage in, garbage out applies heavily to AI-powered dev.
  • Hooks are underrated: automating small but repetitive tasks keeps the dev flow unbroken.

What’s next for BrainLens

  • Add richer interactivity (like progress tracking and adaptive learning paths).
  • Enable collaborative learning where multiple users can explore a topic together.
  • Improve source ranking and filtering to ensure higher-quality learning material.
  • Extend agent hooks to trigger automatic updates when new resources are published.

Perfect 👍, here’s a more detailed “How Kiro was used” write-up, expanded from the “Kiro’s Role” section so it answers the judges’ rubric directly. You can use this as a separate section in your Devpost submission or right after About the project.


How Kiro Was Used

Kiro was at the center of our development workflow. Instead of coding from scratch in the traditional sense, we structured the entire project around Kiro’s three core features: Spec, Steering, and Hooks.

1. Spec-to-Code

We began with a Product Requirements Document (PRD) that outlined Brainlens at a high level. Using Kiro, we turned this PRD into a Spec, a living document containing requirements, design, and tasks.

  • We had conversations with the Kiro agent to refine the spec, clarify requirements, and break large goals into smaller, actionable tasks.
  • Once finalized, the spec became the single source of truth. Tasks were versioned in files inside the repo, so the whole team could see, reuse, and build upon them.
  • Running tasks directly from the spec allowed us to generate and iterate on code consistently without losing context.

This approach replaced scattered notes and ad-hoc prompts with a structured, collaborative workflow.

2. Steering

Next, we set up Kiro Steering, a dynamic context system for the LLM. Steering files guided the AI’s behavior and ensured that every generated task followed the project’s conventions.

  • We imported LLM rules from the Wasp Open-SaaS boilerplate and adapted them for our stack.
  • Our steering covered the Wasp system, authentication, database, UI, and project conventions.
  • Because multiple steerings can be loaded conditionally, we kept the development context accurate without overloading the model with unnecessary details.

This meant Kiro always had the right context for the right task, leading to faster and more reliable outputs.

3. Hooks

Finally, we leveraged Kiro Hooks to automate workflows. Hooks are triggers that run an agent action whenever a condition is met.

  • Example: whenever schema.prisma changed, a hook automatically ran wasp db migrate-dev.
  • This eliminated repetitive manual steps and reduced human error.
  • Hooks kept development smooth by ensuring migrations and other routine tasks never got skipped.

Why Kiro Was a Game-Changer

Kiro didn’t just “generate code”, it gave us an AI-powered development framework:

  • Specs provided clarity and consistency.
  • Steering gave us context and alignment.
  • Hooks automated the boring, repetitive parts.

With this setup, we were able to build Brainlens faster, with fewer errors, and with a development experience that felt fluid and reliable.

Built With

Share this project:

Updates