https://github.com/Vinikshan/Q-A Questions and Answers Society — Jac App (Dev)InspirationIn modern software engineering, domain knowledge and technical context are often scattered across disparate documentation tools, chat channels, and legacy codebases. Traditional forum and Q&A engines lack native support for declarative programming constructs and graph-based memory networks.We were inspired to bridge this gap using Jac (the Jaclang ecosystem powered by the Jaseci platform). By leveraging Jac's native concepts of Nodes, Edges, and Walkers, we set out to build a next-generation interactive Q&A platform—the Questions and Answers Society. Our goal was to reimagine knowledge sharing, automated post categorization, and answer scoring through a graph-native architecture.What it doesThe Questions and Answers Society (Jac App) is a graph-driven knowledge hub where developers and subject matter experts can post queries, provide solutions, and automatically build interconnectivity across related topics.Key features include:Graph-Based Discussion Threads: Questions, answers, and comments exist as nodes in a unified graph, connected by semantic relationship edges.Algorithmic Ranking & Scoring: Dynamically rates posts and answers using graph-traversal algorithms and decay function formulas.Automated Semantic Tagging: Traverses knowledge subgraphs to automatically cluster similar technical queries.Contextual AI Assistance: Employs embedded language models natively through Jac structures to provide instant candidate solutions for unanswered queries.How we built itThe platform was built using Jaclang (Jac) for backend graph modeling and Walker logic, integrated with a dynamic front-end UI.Architecture OverviewGraph Layer (Jac Nodes & Edges):Question, Answer, User, and Tag are defined as Jac nodes.Edges represent relations such as :POSTED:, :ANSWERED:, :UPVOTED:, and :RELATE_TO:.Traversal & Logic Layer (Jac Walkers):Walkers traverse the graph to compute metrics, retrieve custom feed recommendations, and perform graph updates without heavy SQL joins.Ranking score $S$ for a question node is computed using the following time-decay formula:$$S = \frac{U - D}{(T + 2)^\text{G}}$$Where:$U$ = Upvotes count$D$ = Downvotes count$T$ = Hours elapsed since creation ($T = \frac{t_{\text{current}} - t_{\text{created}}}{3600}$)$\text{G}$ = Gravity constant ($\text{G} = 1.8$)Frontend Integration:A modern UI interface connecting to Jac application endpoints to execute graph Walkers asynchronously and display live graph state updates.Challenges we ran intoGraph Traversal Efficiency: As the network of questions and tags grows, uncontrolled graph traversal can lead to exponential complexity. We had to implement strict Walker entry points and depth-limiting logic ($d \le 3$).State Synchronization: Ensuring real-time upvote/downvote consistency across concurrent Walker executions required careful handling of node locking and transaction scopes in the Jaseci runtime.Jac Syntax & Paradigm Shift: Transitioning from traditional relational/OOP mental models to a purely graph-and-walker-oriented paradigm required rethinking our core application architecture.Accomplishments that we're proud ofNative Graph Modeling: Successfully designed the complete platform schema using native Jac construct abstractions without needing external graph translation layers.Sub-linear Recommendations: Built a content discovery engine that uses localized graph walks rather than expensive full-database scans, achieving $O(k)$ lookup time where $k$ is the local neighborhood degree.Seamless AI Integration: Incorporated direct Jac language capabilities to trigger auto-responses for newly posted questions.What we learnedGraph-Oriented Thought Process: We learned how naturally Q&A networks map to graph structures when nodes represent data entities and walkers represent business logic.Jaclang Constructs: Gained deep hands-on experience with node, edge, walker, spawn, and with entry directives in Jac.Algorithmic Decoupling: Separating user interaction logic into self-contained Walkers made backend code significantly modular and easier to test.What's next for Questions and Answers SocietyReputation & Bounty System: Introduce custom crypto/tokenized bounties for verified answers, calculated via PageRank-style graph algorithms:$$PR(p_i) = \frac{1-d}{N} + d \sum_{p_j \in M(p_i)} \frac{PR(p_j)}{L(p_j)}$$Automated Duplicate Detection: Implement vector embeddings within node attributes to automatically detect duplicate questions upon submission.Community-Governed Moderation Walkers: Autonomous moderation walkers that flag spam nodes based on crowd trust scores and behavioral graph anomaly detection.
Built With
- css
- jac
Log in or sign up for Devpost to join the conversation.