As a student, I know the toxic cycle all too well: you have a massive, intimidating PDF open on your laptop, but instead of reading it, you find yourself trapped in a loop of endless doomscrolling on your phone. The psychological friction to just start studying is immense. I needed a solution for myself and for millions of students facing this exact study paralysis. As a high school student who dove into coding and built this entire platform before even setting foot in a university lecture hall, taking on this challenge has been a massive point of pride for me. Why can't learning be as fast-paced and low-friction as social media? That question is what sparked the idea for Raycards.
What it does
Raycards is an AI-powered educational web app designed to destroy study paralysis. It accepts heavy textbooks, lectures, or raw text and automatically splits them into bite-sized, interactive flashcards. By utilizing active recall, it transforms overwhelming materials into digestible chunks that students of all ages can absorb quickly, efficiently, and without the usual academic anxiety.
How we built it
I chose a modern full-stack ecosystem to bring this to life. The frontend and backend are powered by Next.js, providing a seamless user experience. For persistent data storage and secure database management, I integrated Prisma. The core AI architecture relies on the Google Gemini API, specifically using the gemini-3.1-flash-lite model. The app dynamically splits uploaded PDFs into individual pages, sends them to the API, enforces a strict JSON output structure, and saves the generated flashcards directly into the database.
Challenges we ran into
This was my first time ever building a complete, functioning full-stack application from scratch. Stepping into the full-stack world meant learning how multiple moving parts interact, which was a huge learning curve. Additionally, managing development-tier API constraints (the 15 requests per minute limit) forced me to think carefully about architecture and chunking logic so large files wouldn't crash the system. Balancing time to deliver a flawless demo before the deadline was another major hurdle, but strict focus and effective time management made it possible.
Accomplishments that we're proud of
I am incredibly proud that the live demo works 100% smoothly and handles file processing flawlessly despite the development rate limits. On a technical level, using Git and GitHub effectively to track and manage my progress was a massive win. Most of all, I am proud to have designed, coded, and deployed a real-world product before even entering a university lecture hall.
What we learned
I learned exactly what it takes to launch a real full-stack web application from the ground up. Beyond coding syntax, I mastered handling structured AI data outputs, orchestrating file uploads, and managing database state. I also learned the true value of project scoping under pressure, proving to myself that AI can be a massive multiplier when utilized correctly.
What's next for Raycards
The current version handles text and PDFs perfectly, but the next logical step is expanding input types. I plan to introduce video and audio support so students can drop a lecture recording or a YouTube tutorial and get flashcards instantly. I am also exploring scalable commercial infrastructure to bypass free-tier API limitations and make the generation completely instantaneous.
Built With
- gemini
- gemini-api
- git
- github
- nextjs
- prisma
- typescript
Log in or sign up for Devpost to join the conversation.