Skip to main content

Testmanship

I initially thought of this project as a future SaaS, because I saw a demand when I was studying german language and I thought there was a need for a tool that would help people track their progress in writing and speaking German. This web app is basically an AI wrapper as well as a repository for practice tests.

View websiteView on Github
  • Supabase
  • Next.js
  • React
  • shadcn/ui
  • Tailwind
  • Openrouter AI
  • Vercel
Testmanship dashboard showing a student's progress
"Upon completing challenges, users are presented with an exercise on their dashboard tailored to their identified weak points, facilitating targeted learning and improvement."

The problem

While leveraging Openrouter's AI capabilities, I encountered some limitations. The chosen cost-effective models sometimes generate responses that deviate from the original prompt, which could lead to user confusion. Furthermore, the API occasionally truncates its response, impeding the tool's overall reliability. I have temporarily circumvented these issues by giving the user the option to retry their request. Lastly, the absence of Stripe as a payment gateway in the Philippines has presented a significant challenge.

Taking a practice test in Testmanship

Taking A Test

There are two types of taking a test:

  • Practice mode allows the user to use AI as a guide to help them know if there's anything they need to improve on their writing. It also gives them suggestions on what to write next if they've been idle for 20 seconds so they don't get stuck.
  • Exam mode only allows the user to take a test without AI assistance and see their evaluation when time is up or when they complete the word count threshold.

The challenge generator is utilized to create practice tests when the user doesn't see a specific challenge they prefer to write about in the challenge selection area. Users can either manually create a challenge by typing it themselves or leverage the AI to generate one for them.

Challenge Generator

The challenge generator is utilized to create practice tests when the user doesn't see a specific challenge they prefer to write about in the challenge selection area. Users can either manually create a challenge by typing it themselves or leverage the AI to generate one for them.

How it looks when a user reviews their writing from a challenge they just completed.

Writing Comparison with AI

Upon completing a writing challenge, users can review their own writing alongside the AI's generated content. This allows them to identify areas for improvement and refine their writing skills.

How it looks when a user reviews their writing from a challenge they just completed.

Exercises

This interactive section features a comprehensive set of carefully designed exercises that allow users to demonstrate and validate their understanding of the language. Through hands-on practice and real-world challenges, users can test their knowledge, improve their skills, and track their progress as they master various language concepts.