KiasuCode

Academic Operating System & Virtual Companion

cd ../projects

The Problem

Academic tracking is often a tedious, manual process. Students juggle messy spreadsheets, scattered PDFs, and disconnected calendar apps to track their GPA, module files, and assignment deadlines. Traditional tools lack engagement, making the maintenance of a consistent study repository feel like a chore rather than a vital part of a student's development cycle.

The v3.0 Evolution

What began as a CLI-style Telegram bot has evolved into KiasuCode v3.0: a production-grade, omni-responsive web application architected with React, Tailwind CSS, Node.js, and MySQL. It acts as a unified student cockpit, replacing multiple fragmented apps with a highly customized, interactive ecosystem.

The platform demonstrates technical maturity through responsive grid architectures, automated CI/CD cloud deployments via Railway, and robust CRUD data management, all while retaining its original local Singaporean "Dev-Lingua" personality.

Core Platform Features

  • Skeuomorphic iPod Timetable: A retro, highly interactive media player interface mapped dynamically to a weekly class breakdown grid.
  • Pomodoro Pet Companion: Gamified focus sprints where users earn 'study coins' to feed and level up a virtual Tamagotchi-style pet.
  • Zero-Knowledge E2EE Chat: Multi-player virtual study rooms featuring device-to-device encrypted messaging where plaintext never touches the database.
  • DaysMatter Radar: Omnipresent milestone tracking with automated multi-day calendar rendering and synchronized To-Do lists.
  • Git-Style GPA Sandbox: An interactive "staging environment" to stress-test hypothetical exam targets before committing them to the academic database.

Dev-Lingua Injection Utility

To bridge the web dashboard with the legacy Telegram notification bot, the architecture utilizes a targeted utility function to inject a hybrid persona of Singlish and developer jargon (e.g., "LGTM", "Steady lah"), ensuring a unique user experience without polluting core business logic.

export async function replyWithFlavor(
    ctx: Context, 
    text: string, 
    flavorType: "positive" | "negative" | "casual" = "casual"
) {
    const flavors = DEV_LINGUA_FLAVORS[flavorType];
    const randomFlavor = flavors[Math.floor(Math.random() * flavors.length)];
    
    const enhancedText = `\${text}\n\n- \${randomFlavor} -`;
    return await ctx.reply(enhancedText, { parse_mode: 'HTML' });
}

Platform Walkthrough

Watch KiasuCode in action as it guides students through module setup, the Pomodoro pet loop, E2EE chat, and its custom Dev-Lingua conversation experience.

kiasucode_v3_demo.mp4

Tech Stack

React Tailwind CSS Node.js / Express TypeScript Telegraf MySQL Railway (CI/CD) AI-Assisted Dev

Timeline

Apr 2026 - Present

Links

Open Website View Repo Legacy Bot