Inspiration

One of our members was looking for grants for herself and for scholarships (all of us have done this) and found it hard and time consuming to get even a handful of them worth applying to. Also hearing about scholarships but missing the deadline.

What it does

Scrapes the internet using LLMs (Claude right now) to find scholarships and then the data is parsed and formatted for our data.

How we built it

Frontend: React, TanStack Router, TanStack Query, Tailwind CSS, shadcn-style UI primitives, and Base UI Backend: Bun, Hono, Zod, and Anthropic's SDK for LLM-powered grant workflows Data: Drizzle ORM with a Turso SQLite Database and a LibSQL Layer Shared packages: reusable TypeScript libraries for database access and utilities

Challenges we ran into

  • Prompt engineering Getting an LLM to output a specific data format was difficult but we were able to get most required data in a consistent format, while parsing the rest to a consistent manner

  • Database Design Designing the database was difficult to make it extensible and easy to use.

Accomplishments that we're proud of

The search tool works very well and returns all data matching the parameters

What we learned

Prompt engineering is actually pretty hard. Especially in order to get consistent data.

Designing an immutable database takes a good amount of effort and planning

What's next for Grant Genius

Adding features such as enhanced web scraping, more search options (geographic location), and accounts for users to save scholarships and grants

Built With

  • and-base-ui-backend:-bun
  • bun
  • claude
  • drizzle
  • frontend:-react
  • hono
  • libsql
  • orm
  • shadcn-style-ui-primitives
  • sqlite
  • tailwind-css
  • tanstack-query
  • tanstack-router
  • turso
  • typescript
  • zod
Share this project:

Updates