-
-
-
hand-drawn assets for an inviting homepage
-
multi-agent live-tracking, PII redaction, and verification steps for interpretability and social responsibility
-
warm, open & minimalist design invites low-stakes writing | personalized questions for relevant thinking
-
2 export options, when you're ready for the word processor
Inspiration
A single Canadian database lists 98,000 scholarships totaling over $281 million. The SSHRC and NSERC fund upwards of $1.71 billion in grants and scholarships yearly. And in the US, total aid in the 2024-25 academic year was estimated to be at $275.1 billion.
Yet at the same time, $100 million in US scholarships goes unclaimed (!) every year due to a lack of applicants. From personal experience, we identified the Statement of Purpose (SOP) and personal essays as the most overwhelming and inaccessible aspect of these and similar applications, requiring not only knowing and elaborating one's own identity (intellectual or otherwise) but also justifying that same identity in a stressful, judgment-filled process.
With that in mind, we wanted to build an assistant to help students navigate writing these statements without writing the application for them: a collaborative process of self-discovery, rather than an ersatz replacement for thinking.
What it does
Squill collects a small amount of information from the user, such as scholarship or application details and a few key points from their resume. Using this information, Squill generates thoughtful, personalized questions that guide users through writing their Statements of Purpose, helping them reflect and articulate their experiences incrementally until they have a sizeable body of text that truly and uniquely reflects their own intellectual or personal identity.
How we built it
We built Squill with a Flask backend, integrating a multi-agent workflow powered by Cohere’s Command A LLM and orchestrated using LangGraph. The frontend was built with Next.js and TypeScript, along with HTML and Tailwind-CSS, to create a responsive and user-friendly interface. Every design asset was created by hand in Figma and/or Procreate, with manual color finishing in Procreate.
Challenges we ran into
Coordinating multiple agents within the LangGraph workflow was challenging, particularly when managing consistency across agents. Additionally, the LLM’s outputs were occasionally unpredictable or overly generic, which required careful prompt iteration and guardrails to improve response quality.
Accomplishments that we're proud of
We’re proud of coming together as a team and successfully building a meaningful, working application within just 36 hours!
What we learned
Working collaboratively with Git exposed us to real-world version control challenges, including resolving merge conflicts. Beyond that, each team member worked with at least one new concept or technology, allowing all of us to leave the project with expanded technical and collaborative experience. As team members, we were each impressed by the contributions of the others, whether in ideation, coding, design, or more; we had each contributed to both code and non-code elements of the project.
What's next for Squill | Write Freely
Next, we plan to refine Squill’s question-generation pipeline to produce more personalized and context-aware prompts. We also aim to expand support for additional application types, such as graduate school applications and internship/job cover letters, and to improve the overall user experience.
Built With
- cohere
- figma
- flask
- langgraph
- next.js
- procreate


Log in or sign up for Devpost to join the conversation.