Inspiration
I started Evidrilo with a familiar question: a student has done the reading and written a conclusion, but still wonders, “Does my evidence really support this?” Being told to “be more precise” rarely shows them what to change or check next.
I wanted to make the reasoning easier to follow while keeping the student responsible for it. Evidrilo grew around that goal: give the work a clear structure, make its connections visible, and help the learner decide what to do next.
What it does
Evidrilo is a mobile workspace for student research projects, with a separate place to practice working with evidence. Students can begin with their own assignment and choose from five project families: experiment, survey, literature, qualitative, and design. Each offers an editable offline starting structure; students can also start blank. These structures organize the work, but they are not reviewed research methods.
Students develop a question, record sources and evidence notes, connect findings to claims, and describe limitations and next actions. Focused sections and visible progress keep the work manageable. A project map shows recorded relationships, making the reasoning easier to inspect.
For example, readings about shaded walkways might support a comparison of heat-reduction approaches without proving which would work on a particular campus. Evidrilo keeps that uncertainty beside the claim. This is an illustrative use case, not a completed study.
Project review points out missing structure and links. It does not grade the student, verify a source, or decide whether a scientific claim is true.
The Practice trail contains three synthetic cases: tracing observations, comparing sources, and reconsidering data. In the tablet-dissolution case, a learner connects supplied observations to a claim, receives case-specific feedback, revises, and considers what changes when evidence is removed. Practice remains separate from student projects and does not automatically complete an assignment.
Signed-in users can also ask AI for help. General chat works on Android through the hosted API. Project assistance includes contextual edit proposals that the student can review before applying; the complete device journey is still being verified. AI suggestions remain advice to examine, not evidence or an academic verdict.
Local projects work without an account, and signing in does not silently upload them. The interface supports English and Indonesian.
How we built it
I chose Kotlin Multiplatform and Compose Multiplatform to share mobile models, state, and interface code. Local storage preserves drafts and revision checkpoints, so ordinary project work does not depend on an AI provider or hosted API.
Practice feedback uses deterministic rules tied to the supplied facts. If the information cannot support an assessment, the evaluator can say so rather than guessing. The language model does not govern Practice feedback.
Account-backed features use an ASP.NET Core API and a .NET worker on Render Staging, with Supabase Auth and PostgreSQL. Separate database roles limit runtime access. Optional AI uses Experiential Labs Luna 6 through the server, with request and monthly spending limits. The landing page uses lightweight HTML, CSS, and JavaScript on Cloudflare Pages.
RevenueCat manages the evidrilo_pro entitlement and monthly and annual Test Store offerings. Free includes five stored projects, the first Practice case, and 20 AI credits once. Pro supports 50 projects, all three cases, and 200 credits at the initial eligible purchase and each earned monthly anniversary. Restoring or refreshing an account must not grant the same credits twice.
Challenges we ran into
The first challenge was deciding what Evidrilo could honestly evaluate. A polished conclusion can add a cause or generalization the evidence never established. I had to keep structural progress, bounded Practice feedback, and AI opinions separate to avoid a misleading correctness score.
Early screens also had too much text and felt like a long form. Reworking the hierarchy, navigation, catalog, and Practice trail meant deciding how much to explain at once. The redesign had to clarify the next action while preserving the underlying behavior.
Moving from local development to hosted services exposed problems that a successful build did not reveal. Google sign-in initially failed because its redirect URI did not match the OAuth configuration. Hosted API requests also encountered failures while the old local API retained database pooler connections. Each required checking configuration and runtime behavior across services.
Sharing code did not make both platforms equally ready. iOS needed separate build, launch, and guest-flow checks; its account and purchase acceptance remain ahead.
Accomplishments that we're proud of
Version 1.0.0 combines local projects, five starting structures, three Practice cases, hosted Staging, and Android general AI chat. An Android judging APK and a launched iOS Simulator build are available. The latter is not a signed iPhone app.
Android RevenueCat Test Store purchase, checkout cancellation and failure recovery, restore, relaunch, sandbox renewal, and expiry have recorded evidence. These are test transactions; no real charges or revenue are claimed.
I am proud that Evidrilo keeps asking, “What supports this claim, and what should I do next?” Its progress and its limits remain visible.
What we learned
“I cannot assess this from the information provided” can be a useful result when it comes with a clear reason. Showing the limit of available evidence is more helpful than offering confidence the app has not earned.
Structure can preserve a student's voice: learners write their own claims while seeing their support and uncertainty. In engineering, a build, a configured provider, and a complete user journey are different milestones. Each needs evidence.
What's next for Evidrilo
I want to make moving between project sections, sources, the evidence map, and AI assistance smoother, while keeping changes visible and under the student's control.
A priority is expanding Practice beyond the three current cases. New investigations could cover different subjects and levels, helping learners compare sources, recognize uncertainty, and revisit claims when evidence changes. Each should offer understandable feedback and a clear connection to a skill students can use in their own projects.
I also want the catalog to be easier to understand through short examples, visual comparisons, and explanations of when each project family is useful. Today's five offline starters provide editable structure. Future additions should explain each section's purpose and help students choose a path, without presenting a starter as a guarantee of research quality.
Collaboration could let students work on shared projects with clear roles, revision history, and ownership of contributions. Sharing would be an explicit choice that preserves existing local projects' privacy. Shared editing and cloud project sync are future directions, not current features.
For lecturers and mentors, I would like a dedicated space to comment on questions, sources, evidence links, and claims. Students could respond through revisions, making guidance easier to follow while keeping formal academic assessment with the lecturer or institution.
Evidrilo's role will remain clear: organize reasoning, offer feedback within supplied Practice cases, and provide optional AI suggestions. Source credibility, conclusions, and final decisions remain with the people doing the work. The aim is richer support with an experience that stays easy to use.
Built With
- .net
- android
- asp.net
- cloudflare
- compose
- core
- ios
- kotlin
- multiplatform
- postgresql
- render
- revenuecat
- supabase
Log in or sign up for Devpost to join the conversation.