TechTalk: Under the Hood of Topoi

Dive into Topoi’s architecture, tech stack, current enhancements under development, and where we’re headed next.

1. Enhancements In Progress

Our immediate focus is on refining performance, expanding features, and improving usability:

  • Improve Topoi Response Formatting: - Include more structured formatting in AI responses, such as numbered lists, code blocks, etc.
  • Expanded File Upload Support: - Today we accept only .txt files. - In the next release, we’ll parse .docx and .pdf for prompts and drafts.
  • Improved Voice Input/Output: - Currently alpha‐quality: toggles in the chat UI let you speak your response, and Topoi’s text answers are read back using browser support for voice synthesis. Limited to browser TTS/STT capabilities. - Next steps: Integrate higher‐fidelity TTS + STT using services such as Azure Cognitive Services.Speech or openai Whisper

2. Future Roadmap

Looking ahead to the next releases (v1.0+), here’s our tentative plan:

  1. v1.0 – General Availability Release (Q3 2025):
    • Finalize collaborative editing MVP and fully test in pilot courses.
    • Launch full file‐type support (.docx, .pdf).
    • Launch widget version for easy hosting in third-party websites
    • Publish public API docs for integrations (e.g., LMS plugins, webhooks).
  2. v2.0 – Mobile App & LMS Integrations (Q1 2026):
    • Release native iOS/Android apps (built with Xamarin .Forms). Session data remains in the cloud; users log in with the same credentials.
    • Provide Canvas and Blackboard plugins to embed Topoi sessions directly inside an LMS assignment workflow.

3. Architecture Overview

Topoi is built as a modular, cloud‐ready application that separates concerns into loosely coupled layers. Below is a high‐level diagram of our key components:

  • Web Frontend (Razor Pages): - Provides user‐facing UI for chat, feedback, session management, and content pages like TechTalk and FeedbackThankYou. - Uses Bootstrap 5 for responsive, mobile‐friendly layout.
  • ASP.NET Core / .NET 8 Backend: - Hosts controllers, Razor Pages, and REST endpoints (where needed) under a single TopoiWeb project. - Handles authentication/authorization via ASP.NET Identity with a custom ApplicationUser class. - Contains EF Core‐powered TopoiDbContext to manage all persistence.
  • Entity Framework Core (SQL Server): - Stores user data, chat sessions, blog posts, and tester feedback in a relational database. - Uses Code‐First migrations; our most recent migration added RelatedSessionId and BetaVersion columns to TesterFeedback.
  • AI Engine (OpenAI GPT‐4o-mini via API): - Topoi’s “brain” lives on OpenAI’s servers. We send prompts and conversational context from the user to GPT‐4o-mini, receive streaming responses, and render them in the chat UI. - Paid tiers will be able to use the latest models (e.g., GPT-4o) as they become available. - All AI calls are proxied through a lightweight service layer in our backend to manage rate limits, error handling, and prompt templates.
  • Storage & Hosting: - Topoi currently resides in a shared hosting account during early beta. Migration to a cloud service such as Azure App Service (Windows plan) with a SQL Azure backend. - Static assets (CSS, JS) are served from a CDN for low‐latency delivery.

2. Technology Stack

Here’s a breakdown of the key technologies we’ve chosen, and why:

  • .NET 8 + C# 12: - Latest LTS release at time of development. - Performance improvements (Single‐file apps, Native AOT support down the line). - Allows us to use top‐tier language features (e.g., file‐scoped namespaces, async streams).
  • ASP.NET Core Razor Pages: - A page‐centric framework for building dynamic, data‐driven UI with minimal boilerplate. - Out of the box integrates seamlessly with Identity, EF Core, and TagHelpers.
  • Entity Framework Core 8: - Code‐First migrations for schema evolution. - Strongly typed LINQ queries, change tracking, and easy navigation‐property support (e.g., ApplicationUser.TesterFeedbacks).
  • MS-SQL Server: - Robust, relational storage for users, sessions, blog content, and feedback. - Plans to transition to cloud service such as Azure as demand for service increases.
  • Bootstrap 5 + jQuery 3.6: - Rapid prototyping of responsive UI with cards, modals, form validation, and grid layout. - A small bit of jQuery remains for polyfills and simple DOM manipulation (e.g., populating hidden inputs like BrowserInfo).
  • OpenAI GPT‐4o-mini API: - We use GPT-4o-mini as our primary LLM to power Topoi’s Socratic dialogue. - All prompt engineering and temperature settings are managed via C# service classes, so responses remain predictable and consistent.

5. How to Contribute

  • Become a Beta Tester: Registered Users can submit bug reports, feature requests, usability comments, and other observations on the Leave Feedback page. We value your input to improve Topoi’s usability and performance. All feedback is stored in our database for analysis and prioritization.

6. Contact & More Info

For deeper technical questions or to propose a collaboration, reach out directly on our Contact Page.