Inspiration

Assumption Court was inspired by how often people make decisions based on hidden assumptions, weak reasoning, or incomplete evidence. Whether I am building a product, defending an idea, writing an argument, or making a major decision, the hardest part is often knowing what has not been questioned yet.

I wanted to build a tool that does more than generate answers. Assumption Court creates a structured environment where ideas can be challenged, defended, and improved, almost like putting a claim on trial before acting on it.

What it does

Assumption Court helps users pressure-test assumptions and arguments through an interactive courtroom-style reasoning experience. A user submits a claim, idea, or assumption, and the system analyzes it from multiple perspectives.

It identifies weak points, asks clarifying questions, surfaces counterarguments, evaluates supporting evidence, and helps the user arrive at a stronger conclusion. Instead of treating AI as a simple chatbot, Assumption Court turns reasoning into a structured process where claims, objections, evidence, and conclusions can be examined step by step.

How I built it

I built Assumption Court using Jac and Jaseci as the foundation for the application logic and reasoning workflow. The project uses Jac's graph-native approach to represent assumptions, arguments, evidence, objections, and conclusions as connected parts of a larger reasoning structure.

Jac walkers are used to move through and evaluate this reasoning graph, while by llm() helps power AI-assisted analysis, questioning, and argument evaluation. This allowed me to combine structured program logic with flexible natural language reasoning.

I also built the frontend around a courtroom-style interface so the process of challenging assumptions feels more engaging and easier to follow.

Challenges I ran into

One of the biggest challenges was turning something as abstract as reasoning into a structured workflow. I had to think carefully about how assumptions, evidence, objections, and conclusions should relate to each other instead of treating everything as one flat AI response.

Another challenge was balancing structure with flexibility. I wanted the system to feel guided and reliable, but still open enough for users to explore different types of claims and ideas. Designing the prompts and reasoning flow so the output was useful, critical, and constructive took several iterations.

As a one-person team, I also had to manage the full project myself, from concept and architecture to frontend, backend, Jac integration, AI behavior, documentation, and deployment. That made prioritization especially important.

Accomplishments that I'm proud of

I am proud that Assumption Court turns AI reasoning into an interactive product experience rather than a basic prompt-response tool. The courtroom metaphor makes the process easier to understand, while the underlying graph structure gives the project a strong technical foundation.

I am also proud of how the project uses Jac and Jaseci in a meaningful way. The reasoning process naturally fits graph-based modeling, and Jac walkers provide a clean way to navigate and evaluate connected reasoning elements.

Most importantly, I built something practical as a solo developer. Assumption Court can help students, founders, researchers, and builders improve their thinking before making important decisions.

What I learned

I learned that good AI applications need more than a powerful model. The structure around the model matters just as much. By using Jac, I was able to think about reasoning as a system of connected objects and workflows instead of a flat conversation.

I also learned how valuable graph-native programming can be for applications involving logic, relationships, and evolving context. Assumptions and arguments are not isolated pieces of text; they depend on evidence, objections, consequences, and conclusions.

This project helped me better understand how Jac and Jaseci can be used to build AI applications that are structured, explainable, and interactive.

What's next for Assumption Court

Next, I want to expand Assumption Court into a more complete reasoning workspace. This includes saving past cases, visualizing the reasoning graph, ranking assumptions by risk, and allowing users to compare multiple arguments side by side.

I also want to make the Jac graph structure more visible to users and add more advanced walkers for deeper analysis, evidence scoring, and multi-stage reasoning.

In the future, Assumption Court could support team collaboration, domain-specific modes for startups or academics, and integrations that allow users to import documents, pitches, essays, or research notes for automatic assumption analysis.

Built With

Share this project:

Updates

Submission history