From Deployment to AI Features: Exploring Tencent EdgeOne Makers with Acadexa and XPense A developer explored Tencent EdgeOne Makers' new Agents, Models, and Storage capabilities as planned extensions for two existing projects: Acadexa, a browser-based academic progress tracker built with HTML, CSS, and JavaScript, and XPense, a Next.js and TypeScript expense-tracking app. Both currently rely on localStorage and rule-based logic, and the developer outlined how model-backed assistants could add contextual explanations, though the integrations have not been implemented or benchmarked. I first used Tencent EdgeOne for one thing: deploying websites. I wanted to get my projects online and keep improving them. At that stage, hosting was a practical part of the work: build an interface, make it accessible, and return to the next feature. The newer Makers capabilities have given me a reason to look beyond deployment. The console now puts Agents, Models, and Storage alongside the project settings. Looking at those features, I started thinking about two projects I have already built: Acadexa , an academic progress tracker, and XPense , a personal expense-tracking interface. Both already have useful data and application logic. The next questions are about what happens around them: how an assistant could explain a student's workload, how a conversation could retain context, or how a generated report could remain available after someone closes the browser. My experience with EdgeOne so far is deployment. The agent, model, and storage integrations in this article are planned extensions , illustrated with examples based on the current documentation. I have not implemented or benchmarked them in either project yet. Acadexa and XPense are separate applications. I am using both here because they expose different versions of a similar engineering problem: an interface can display useful information long before the application has a persistent, contextual assistant behind it. | Project | Current implementation | A useful next capability | |---|---|---| | Acadexa https://github.com/Lionarco/acadexa-app | HTML, CSS, and JavaScript; a planner, dashboard, academic analytics, profile, and rule-based insights | Explain unfinished tasks in the context of a student's available study time | | XPense, in project ui https://github.com/Lionarco/project ui | Next.js, React, and TypeScript; expense tracking, budgets, analytics, gamification, and a rule-based chat interface | Explain spending patterns using the user's recorded transactions and budgets | In Acadexa, a task contains a title, course, priority, deadline, and status. The planner stores the collection in the browser: js let tasks = JSON.parse localStorage.getItem "acadexaTasks" || ; function saveTasks { localStorage.setItem "acadexaTasks", JSON.stringify tasks ; } That is the current implementation in js/planner.js https://github.com/Lionarco/acadexa-app/blob/2029a04524a282574fe5fc526c03a96eb85a533e/js/planner.js . The insights module https://github.com/Lionarco/acadexa-app/blob/2029a04524a282574fe5fc526c03a96eb85a533e/js/insights.js then calculates completion percentages and generates recommendations through JavaScript conditions. This gives an AI feature a concrete starting point. The application can supply unfinished tasks and calculate progress itself. An assistant could help a student interpret the list, discuss trade-offs, and turn a vague intention into a manageable next step. For example: “I have 45 minutes tonight. Where should I start?” The current task records do not include estimated effort. A responsible answer would need to ask about that or make its assumptions explicit. A confident sentence cannot fill in missing data. XPense has a similar foundation. Its local store https://github.com/Lionarco/project ui/blob/eb103829deb5b7144512a8af9bcfbc01a762ede0/lib/store.ts maintains transactions, budgets, and progress information. Category totals are calculated directly: export function getSpentByCategory transactions: Transaction : Record