-
-
The Euriqua landing page — designed to make every student feel like research is within reach.
-
A live preview of the app embedded in the homepage — three screens, zero overwhelm.
-
The AI discovery chat — a real conversation that surfaces your interests and builds your research profile in minutes.
-
The email composer — AI-drafted, personalised to your profile, with a live score and checklist to get it right.
-
Your personalised matches, ranked by fit — with full program details, deadlines, and a one-click apply flow.
Inspiration
As a high school student, I watched classmates with genuine curiosity and talent give up on research before they even started, not because they lacked ability, but because the path was invisible. Finding research opportunities meant knowing the right people, attending the right school, or spending weeks lost in Google searches that led nowhere. I even struggled it with myself, I found it difficult to start or think of something to publish about. Meanwhile, my friend who knows many professors and was born into a scholar-background families got to work with the most prestigious professors and had access to material labs and high-tech machinery. Additionally, the programs existed, but there was no guide to help students like me find them, let alone apply with confidence. That's how Euriqua was born — to be the guide I never had, for every student, anywhere in the world.
What it does
Euriqua is an AI-powered research opportunity platform that takes students from "I have no idea where to start" to a submitted application in 15 minutes. 🧭 AI Discovery Chat — A conversational guide that learns your interests, experience, goals, and location through natural dialogue, not a form. ✦ Smart Matching Engine — Scores and ranks 15+ real research programs, competitions, and mentorship opportunities against your exact profile, with dynamic match percentages that update as your profile changes. 📬 Launch Guide — A full application workflow: program research, verified contact info, a personalised AI-drafted outreach email, resume checklist, submission tracker, and follow-up timeline, all in one scrollable page. 💾 Persistent Drafts — Save and switch between multiple application drafts across different programs, with auto-save and sent-state tracking. 📱 PWA + Offline Support — Fully installable as a Progressive Web App with a service worker for offline access, so students in low-connectivity environments aren't left behind. 🔔 Deadline Tracking — A live deadline view that auto-calculates urgency from real program dates, with colour-coded indicators and reminders.
How we built it
I built Euriqua in pure vanilla HTML, CSS, and JavaScript. The app is structured as three screens: Discover, Match, and Launch to further help the simplicity of the user experience. localStorage powers the entire backend — session persistence, draft saving, profile storage, saved opportunities, and application tracking. Other than that, the majority of the project is built in assistance with Claude Code and deployed using Netlify. On the design side, I built a custom CSS design system using CSS variables for a warm beige, terracotta, and rose palette.
Challenges we ran into
The hardest bug to track down was a cursor script conflict that was silently crashing all JavaScript on every page and a lot of the transitional code switching between pages. Each page had a duplicate inline cursor script at the top of the body fighting with a proper initCursor function further down and many other elements on the screen were very buggy. The inline version crashed on the first mouse movement, and killed everything below it. Every section below the hero stayed invisible. The fix was removing the duplicate entirely rather than patching around it. Building multi-draft persistence, returning-user detection, per-opportunity email state, and profile restoration using only localStorage required careful deep-merge logic to prevent new saves from wiping existing draft data.
Accomplishments we're proud of
I built a genuinely distinctive UI that is warm, editorial, and intentional, and that doesn't look like any other student tool, it looked professional and clean to help users not easily get distracted. The entire product is zero dependencies and zero build tools — three HTML files that drop straight onto Netlify. The scoring engine produces meaningfully different results for a Biology student in Singapore versus a CS student in the US. There are 15 fully personalised email templates, one per program, generated from the user's name, grade, location, and interest field. Euriqua is designed for global access from day one, with programs spanning Singapore, the USA, the UK, and remote-first opportunities for students anywhere. And it is 100% free — no paywalls, no premium tier, no data sold.
What we learned
I learned how to build a complete product with no framework overhead, and that constraints genuinely force creativity. I learned the importance of tracing bugs to their actual root cause rather than layering fallbacks on top of broken code. I also learned that AI-powered doesn't require an API call, since smart scoring logic and personalised templates can feel intelligent with pure JavaScript.
What's next for Euriqua
The immediate next step is connecting to live program databases so the opportunity list stays current without manual updates. After that, I want to integrate an email send API so students can send outreach directly from the platform without leaving Euriqua. Longer term, I plan to replace the rule-based scoring engine with a real model trained on successful student applications, build a counsellor dashboard so teachers can track student applications and flag approaching deadlines, and expand to 100+ opportunities across more regions and fields — especially underrepresented ones. I also want to add outcome tracking so students can log acceptances and Euriqua can learn which matches actually convert, and eventually work directly with research programs to surface verified, up-to-date information and fast-track applications for Euriqua users.
Built With
- css
- html
- javascript
- netlify
Log in or sign up for Devpost to join the conversation.