{
  "version": "2026-08-02",
  "lastUpdated": "2026-08-02",
  "site": {
    "name": "Tanveer Riaz",
    "url": "https://tanveerriaz.me",
    "title": "Tanveer Riaz - AI specialist and systems builder in Singapore",
    "description": "Tanveer Riaz is an AI specialist in Singapore focused on agentic systems, local models, global-banking delivery, and public products people can open and inspect.",
    "tagline": "Curious mind. Builder mode.",
    "location": "Singapore",
    "role": "AI specialist focused on agentic systems",
    "communityContext": "Active in Singapore’s AI builder community and attends public sessions and industry events, including Code with Claude Singapore, AI Engineer Singapore, OpenClaw Singapore, and Singapore FinTech Festival. Lessons from those rooms are published with the builds they changed.",
    "publicPositioning": "Tanveer is an AI specialist in Singapore focused on agentic systems. Curiosity is how he works: he follows questions until they become things people can open, inspect, and learn from. His perspective combines two decades of global banking systems delivery with public experiments in AI agents, local models, design, and useful Singapore products. He is active in Singapore’s AI builder community and publishes lessons from public sessions and industry events with the builds they changed.",
    "contentPolicy": "Public personal work only. Views are the author's own. No secrets, credentials, local file paths, exact location, private repositories, private agent configuration, employer-confidential material, or client data is included."
  },
  "now": [
    {
      "label": "Building",
      "value": "Chroa - opinionated colour systems for coding agents",
      "href": "https://chroa.vercel.app"
    },
    {
      "label": "Exploring",
      "value": "Agent harnesses, local-first AI, and visual ways to inspect systems",
      "href": "/blog/harness-matters"
    },
    {
      "label": "Writing",
      "value": "What survives contact with real users, real data, and regulated delivery",
      "href": "/blog"
    }
  ],
  "startHere": [
    {
      "id": "new-to-ai",
      "label": "I am new to AI",
      "promise": "Start with the concepts, then open one small working example.",
      "steps": ["Plain-language glossary", "PromptZap", "Field notes"],
      "href": "#learn"
    },
    {
      "id": "build-with-agents",
      "label": "I want to build with agents",
      "promise": "See how prompts become skills, harnesses, and verifiable workflows.",
      "steps": ["PromptZap", "Skillz", "Chroa"],
      "href": "#journeys"
    },
    {
      "id": "enterprise-ai",
      "label": "I work in enterprise",
      "promise": "Connect agent experiments to risk, provenance, and human ownership.",
      "steps": ["Banking perspective", "Nexus Bank", "AI governance credentials"],
      "href": "#explore"
    },
    {
      "id": "local-ai",
      "label": "I want local and private AI",
      "promise": "Explore what can run on-device and where cloud models still help.",
      "steps": ["Local-first AI", "Ollama + MLX", "ScriptToReel"],
      "href": "#uses"
    }
  ],
  "journeys": [
    {
      "id": "language-to-story",
      "question": "Can better instructions become better visual stories?",
      "thread": "PromptZap → Chroa → ScriptToReel",
      "summary": "A rough-prompt utility opened a deeper question about visual taste, agent-readable design systems, and eventually reproducible media pipelines.",
      "status": "Still unfolding",
      "categories": ["tools", "design", "media"]
    },
    {
      "id": "models-to-harnesses",
      "question": "Is the newest model the answer - or is the harness?",
      "thread": "multi-model experiments → coding agents → reusable skills",
      "summary": "Comparing models led to a stronger conclusion: tools, permissions, context, feedback loops, and repeatable skills often matter more than a leaderboard position.",
      "status": "Deepening",
      "categories": ["agents", "models", "skills"]
    },
    {
      "id": "cloud-to-local",
      "question": "How much useful AI can stay on my own machine?",
      "thread": "OpenRouter → Ollama → MLX / oMLX",
      "summary": "Cloud routing makes comparison easy; local inference tests privacy, control, latency, and resilience against real workflows instead of slogans.",
      "status": "Prototyping",
      "categories": ["models", "local-ai", "privacy"]
    },
    {
      "id": "banking-to-agents",
      "question": "What changes when agent ideas meet banking constraints?",
      "thread": "global systems delivery → Nexus Bank demo → human review",
      "summary": "Traceable data, bounded actions, explicit hand-offs, and clear stopping points matter when agent ideas meet banking constraints.",
      "status": "Applying experience",
      "categories": ["banking", "agents", "governance"]
    },
    {
      "id": "singapore-to-product",
      "question": "Can a very local problem become a useful product?",
      "thread": "Singapore context → verified venue data → HalalEats SG",
      "summary": "A focused local need became a chat-first discovery product grounded in verified public data and the way people actually ask where to makan.",
      "status": "Live",
      "categories": ["singapore", "rag", "product"]
    },
    {
      "id": "play-to-learning",
      "question": "What can a game teach that a dashboard cannot?",
      "thread": "voice game → pet leaderboard → provenance lesson",
      "summary": "Play makes feedback immediate. It also exposes when delightful presentation outruns the evidence underneath it.",
      "status": "Playground",
      "categories": ["games", "voice", "data"]
    }
  ],
  "projects": [
    {
      "id": "sidespark",
      "name": "SideSpark",
      "kind": "Hackathon prototype",
      "categories": ["projects", "demos", "community"],
      "summary": "A playful way for coworkers to meet beyond their usual circles through a short Skill Swap or Social Connect break.",
      "proof": "Both choices lead from picking a break to meeting a clearly labelled demo sidekick, completing a shared activity, and saving a small takeaway on the device.",
      "status": "Public prototype",
      "image": "/blog/sidespark-started-with-a-conversation/assets/build-floor-selfie.webp",
      "imageAlt": "Tanveer Riaz on the ChatGPT Sites Hackathon build floor",
      "href": "https://github.com/tanveerriaz/SideSpark",
      "source": "https://github.com/tanveerriaz/SideSpark",
      "tags": ["Workplace connection", "Skill sharing", "Shared breaks", "ChatGPT Sites"]
    },
    {
      "id": "chroa",
      "name": "Chroa",
      "kind": "Building now",
      "categories": ["building", "tools", "demos"],
      "summary": "A colour-system studio that generates accessible OKLCH palettes, wires them into live interface previews, and exports a DESIGN.md a coding agent can follow.",
      "proof": "Five live preview types, measured contrast, and agent-ready design output.",
      "status": "Public beta",
      "image": "/assets/projects/chroa.png",
      "imageAlt": "Chroa interface showing a live website colour specimen",
      "href": "https://chroa.vercel.app",
      "source": null,
      "tags": ["Design systems", "Accessibility", "Coding agents", "React"]
    },
    {
      "id": "skillz",
      "name": "Skillz",
      "kind": "Open source",
      "categories": ["projects", "tools", "learning"],
      "summary": "A public library of reusable AI-agent skills: focused procedures that turn prompt experiments into repeatable execution.",
      "proof": "26 published skills, cross-agent conventions, security-first guidance, MIT licensed.",
      "status": "Public",
      "image": "/assets/projects/skillz.png",
      "imageAlt": "Skillz banner for reusable AI-agent skills",
      "href": "https://github.com/tanveerriaz/Skillz",
      "source": "https://github.com/tanveerriaz/Skillz",
      "tags": ["Agent skills", "Open source", "AI workflows", "Python"]
    },
    {
      "id": "halaleats",
      "name": "HalalEats SG",
      "kind": "Singapore product",
      "categories": ["projects", "demos", "building"],
      "summary": "A chat-first halal makan companion for Singapore, designed around plain-language questions and MUIS-certified venue data.",
      "proof": "Public, anonymous product with local search, venue discovery, and practical Singapore context.",
      "status": "Live",
      "image": "/assets/projects/halaleats.jpg",
      "imageAlt": "Singapore Merlion at night, used by HalalEats SG",
      "href": "https://www.halaleats-sg.com/",
      "source": null,
      "tags": ["RAG", "Singapore", "Halal tech", "FastAPI", "Postgres"]
    },
    {
      "id": "nexus-bank",
      "name": "Nexus Bank",
      "kind": "Fictional banking demo",
      "categories": ["projects", "demos", "learning"],
      "summary": "A fictional AI-banking interface used to explore how conversational assistance, financial context, and bounded agent actions might fit together.",
      "proof": "A live public interface using mock data only; it is a learning demo, not a financial service.",
      "status": "Live demo",
      "image": "/assets/projects/nexus-bank.png",
      "imageAlt": "Nexus Bank fictional demo login interface with a dark visual system",
      "href": "https://banking-demo-production.up.railway.app/",
      "source": null,
      "tags": ["Fictional demo", "Banking UX", "Agentic systems", "Mock data"]
    },
    {
      "id": "promptzap",
      "name": "PromptZap",
      "kind": "Browser tool",
      "categories": ["projects", "tools", "demos"],
      "summary": "A browser extension that turns rough instructions into structured prompts inside the AI tools people already use.",
      "proof": "One-click workflow with 23 prompt frameworks across ChatGPT, Claude, Gemini, and more.",
      "status": "Live",
      "image": "/assets/projects/promptzap.png",
      "imageAlt": "PromptZap product banner",
      "href": "https://promptzap.io/",
      "source": null,
      "tags": ["Browser extension", "Prompt design", "AI tooling"]
    },
    {
      "id": "scripttoreel",
      "name": "ScriptToReel",
      "kind": "Open-source pipeline",
      "categories": ["projects", "tools", "demos"],
      "summary": "A local-first Python pipeline that researches, scripts, assembles, narrates, and renders short videos from a topic.",
      "proof": "CLI and local dashboard over the same pipeline, with explicit checkpoints and reproducible project folders.",
      "status": "Public",
      "image": "/assets/projects/scripttoreel.png",
      "imageAlt": "ScriptToReel local video generation dashboard",
      "href": "https://github.com/tanveerriaz/scripttoreel",
      "source": "https://github.com/tanveerriaz/scripttoreel",
      "tags": ["Python", "Video", "Local workflow", "FFmpeg"]
    },
    {
      "id": "markdown-convert",
      "name": "Markdown Convert",
      "kind": "Agent utility",
      "categories": ["tools", "demos", "projects"],
      "summary": "A one-click browser extension that converts webpages into clean Markdown for agents, notes, and knowledge bases.",
      "proof": "No account, no backend, no build step; handles readable content, tables, forms, and useful embedded regions.",
      "status": "Live",
      "image": null,
      "imageAlt": null,
      "href": "https://markdown-ext.pages.dev/",
      "source": "https://github.com/tanveerriaz/markdown-ext",
      "tags": [
        "Markdown",
        "Browser extension",
        "Agent-ready content",
        "JavaScript"
      ]
    },
    {
      "id": "pet-league",
      "name": "Codex Pet League",
      "kind": "Data experiment",
      "categories": ["games", "demos", "projects"],
      "summary": "A playful leaderboard for tiny coding companions - and a build story about replacing persuasive mock data with verifiable public signals.",
      "proof": "The useful part is the correction: provenance labels, real public data, and an explicit scoring model.",
      "status": "Build story",
      "image": "/assets/codex-pet-league-live.png",
      "imageAlt": "Codex Pet League community leaderboard interface",
      "href": "/blog/dashboard-atlas",
      "source": null,
      "tags": ["Data provenance", "Dashboard", "Game", "Build in public"]
    },
    {
      "id": "logo-challenge",
      "name": "Logo Challenge",
      "kind": "Voice game",
      "categories": ["games", "demos"],
      "summary": "A voice-powered brand guessing game built as a fast family-friendly experiment in multimodal interaction.",
      "proof": "A compact public prototype that combines speech input, progressive levels, hints, and feedback.",
      "status": "Public prototype",
      "image": null,
      "imageAlt": null,
      "href": "https://github.com/tanveerriaz/Logo-Challenge-Game",
      "source": "https://github.com/tanveerriaz/Logo-Challenge-Game",
      "tags": ["Voice UI", "Game", "Rapid prototyping"]
    }
  ],
  "shippingSignals": {
    "capturedAt": "2026-08-01",
    "source": "User-provided GitHub profile screenshots",
    "note": "A point-in-time profile snapshot, not a live analytics feed. GitHub's total may include private contribution activity without exposing private repository contents.",
    "contributionsLastYear": 1289,
    "activityMix": {
      "commitsPercent": 65,
      "pullRequestsPercent": 28,
      "issuesPercent": 7
    },
    "achievements": [
      { "name": "Quickdraw", "count": 1 },
      { "name": "Pair Extraordinaire", "count": 4 },
      { "name": "Pull Shark", "count": 3 },
      { "name": "YOLO", "count": 1 }
    ]
  },
  "credentials": [
    {
      "name": "Data Landscape of GenAI for Project Managers",
      "issuer": "Project Management Institute",
      "issued": "2026-07",
      "theme": "AI delivery and data",
      "credentialUrl": "https://www.credly.com/badges/5576dde9-f77a-42b1-b74b-b0a3a44f4ee2/linked_in_profile"
    },
    {
      "name": "AI in Agile Delivery",
      "issuer": "Project Management Institute",
      "issued": "2025-12",
      "theme": "Responsible AI in delivery workflows",
      "credentialUrl": "https://www.credly.com/badges/86581125-75d5-4b90-8490-740e2719b526"
    },
    {
      "name": "Introduction to Generative AI",
      "issuer": "edX",
      "issued": "2025-04",
      "theme": "Generative AI foundations",
      "credentialUrl": "https://courses.edx.org/certificates/0092d5fa6660447790bed05709130bb3"
    },
    {
      "name": "Certified AI Risk Governance Professional",
      "issuer": "Garranto Academy · accredited by IBF Singapore",
      "issued": "2025-03",
      "theme": "AI risk and governance",
      "credentialUrl": "https://www.linkedin.com/in/tanveerriaz/details/certifications/"
    },
    {
      "name": "Advanced Certified ScrumMaster (A-CSM)",
      "issuer": "Scrum Alliance",
      "issued": "2025-01",
      "theme": "Advanced agile delivery",
      "credentialUrl": "https://certification.scrumalliance.org/accounts/1581055-tanveer-riaz/certifications/2044428-advcsm"
    },
    {
      "name": "Generative AI Overview for Project Managers",
      "issuer": "Project Management Institute",
      "issued": "2025-01",
      "theme": "Generative AI for project leadership",
      "credentialUrl": "https://www.credly.com/badges/0d63e4c2-69c0-4bc1-80ce-8f983c526d14/linked_in_profile"
    }
  ],
  "glossary": [
    {
      "term": "Agent skill",
      "slug": "agent-skill",
      "definition": "A focused, reusable procedure that gives an AI agent domain instructions, constraints, and a reliable workflow for a specific job.",
      "whyItMatters": "It moves useful behavior out of one-off prompts and into versioned, repeatable practice.",
      "related": ["Agent harness", "Human in the loop"]
    },
    {
      "term": "Agent harness",
      "slug": "agent-harness",
      "definition": "The tools, context, permissions, memory, feedback loops, and runtime around a model that determine how useful an agent is in practice.",
      "whyItMatters": "Model quality matters, but the harness decides whether work can be inspected, corrected, and shipped.",
      "related": ["Agent skill", "Evals"]
    },
    {
      "term": "Local-first AI",
      "slug": "local-first-ai",
      "definition": "AI software designed to keep models, data, or core workflows on a person's own device whenever practical.",
      "whyItMatters": "It can improve privacy, resilience, latency, and user control - especially for personal or sensitive workflows.",
      "related": ["Inference", "Human in the loop"]
    },
    {
      "term": "RAG",
      "slug": "rag",
      "definition": "Retrieval-augmented generation: finding relevant source material first, then giving it to a model as context for an answer.",
      "whyItMatters": "It grounds answers in a defined body of evidence instead of relying only on model memory.",
      "related": ["Evals", "Data provenance"]
    },
    {
      "term": "MCP",
      "slug": "mcp",
      "definition": "Model Context Protocol: a standard way for AI applications to discover and use tools, data sources, and reusable context.",
      "whyItMatters": "It reduces bespoke integration work and makes agent capabilities easier to compose.",
      "related": ["Agent harness", "Tool use"]
    },
    {
      "term": "Evals",
      "slug": "evals",
      "definition": "Repeatable tests that measure whether an AI system behaves well enough on the tasks and failure modes that matter.",
      "whyItMatters": "A convincing demo is not evidence of dependable behavior; evaluation makes quality discussable and trackable.",
      "related": ["Human in the loop", "Data provenance"]
    },
    {
      "term": "Human in the loop",
      "slug": "human-in-the-loop",
      "definition": "A workflow that deliberately gives a person review, correction, or approval control at consequential steps.",
      "whyItMatters": "It keeps automation proportional to risk and creates a place for judgment when rules or models are uncertain.",
      "related": ["Evals", "Agent harness"]
    },
    {
      "term": "Data provenance",
      "slug": "data-provenance",
      "definition": "A clear record of where data came from, how it changed, and what claims it can legitimately support.",
      "whyItMatters": "Without provenance, polished interfaces can make invented or stale data look authoritative.",
      "related": ["RAG", "Evals"]
    },
    {
      "term": "ISO 20022",
      "slug": "iso-20022",
      "definition": "A global financial messaging standard that gives payments and related business processes a richer, structured data model.",
      "whyItMatters": "It illustrates the systems discipline behind regulated change: common semantics, complex migrations, and many connected parties.",
      "related": ["Systems delivery", "Data provenance"]
    },
    {
      "term": "Vibe coding",
      "slug": "vibe-coding",
      "definition": "Building software through rapid natural-language collaboration with coding agents, with the human steering intent, taste, and acceptance.",
      "whyItMatters": "It speeds up making, but still demands product judgment, verification, security, and ownership of the result.",
      "related": ["Agent harness", "Evals"]
    }
  ],
  "uses": [
    {
      "group": "Research and synthesis",
      "relationship": "I use broad tools to get oriented, then return to primary evidence.",
      "items": ["Genspark", "Web research", "Markdown notes"],
      "status": "Active"
    },
    {
      "group": "Model routing and comparison",
      "relationship": "Different models are collaborators with different strengths, not a permanent winner.",
      "items": ["OpenRouter", "DeepSeek", "Gemini models", "NVIDIA Nemotron"],
      "status": "Experimenting"
    },
    {
      "group": "Coding and building",
      "relationship": "I move between agents to compare their planning, implementation, and review instincts.",
      "items": ["Codex", "Cursor", "Claude Code", "Gemini CLI", "Pi"],
      "status": "Active"
    },
    {
      "group": "Agent orchestration",
      "relationship": "The experiment is the team shape: roles, hand-offs, tools, memory, and permission boundaries.",
      "items": ["Hermes", "OpenClaw", "Sarah agent", "Reusable skills"],
      "status": "Personal experiments"
    },
    {
      "group": "Local inference",
      "relationship": "I test which useful workflows can stay on-device without pretending every task belongs there.",
      "items": ["Ollama", "MLX", "oMLX", "Local model workspaces"],
      "status": "Prototyping"
    },
    {
      "group": "Image and motion",
      "relationship": "Images are evidence and narrative material, so generation stays connected to a real build story.",
      "items": ["OpenAI image models", "Flux", "Kling through Fal"],
      "status": "Experimenting"
    },
    {
      "group": "Terminal and connection",
      "relationship": "Small interface choices make multi-agent work calmer and easier to inspect.",
      "items": ["Ghostty", "Herdr", "Tailscale", "Wispr Flow"],
      "status": "Active"
    },
    {
      "group": "Shipping",
      "relationship": "A build only becomes useful when somebody else can open it and its limits are explicit.",
      "items": ["GitHub", "Vercel", "Railway", "Supabase", "GitHub Actions"],
      "status": "Active"
    }
  ],
  "events": [
    {
      "id": "fintech-festival",
      "name": "Singapore FinTech Festival",
      "date": "2025-11",
      "venue": "Singapore EXPO",
      "district": "East · Expo",
      "chapter": "Look wider",
      "context": "Singapore · public financial technology event",
      "moment": "AI looks different when the room speaks finance.",
      "lesson": "Experience in banking shifts the question from whether a demo works to whether provenance, permissions, ownership, and difficult-day operations are clear.",
      "carriedInto": "Nexus Bank, a fictional banking demo",
      "href": "https://banking-demo-production.up.railway.app/",
      "image": "/assets/events/journey/singapore-fintech-festival.webp",
      "imageAlt": "Tanveer Riaz at Singapore FinTech Festival 2025",
      "world": {
        "routeOrder": 1,
        "position": [-42, 18],
        "venueType": "expo",
        "districtKey": "expo",
        "accent": "amber",
        "approachLabel": "Singapore EXPO"
      }
    },
    {
      "id": "ai-finance-raffles",
      "name": "AI and Finance Conversations",
      "date": "2025-11-13",
      "venue": "ByteDance · Raffles Quay",
      "district": "Marina · CBD",
      "chapter": "Listen closely",
      "context": "Singapore · public AI and finance event",
      "moment": "The useful idea often arrives between the slides.",
      "lesson": "A conversation can reveal the missing constraint faster than another hour of polishing.",
      "carriedInto": "What banking taught me about shipping AI",
      "href": "/blog/banking-shipping-ai",
      "image": "/assets/events/journey/ai-finance-conversation.webp",
      "imageAlt": "Tanveer Riaz in conversation at a public AI and finance event",
      "world": {
        "routeOrder": 2,
        "position": [-26, -5],
        "venueType": "tower",
        "districtKey": "cbd",
        "accent": "coral",
        "approachLabel": "Raffles Quay"
      }
    },
    {
      "id": "openclaw-aws",
      "name": "OpenClaw Singapore",
      "date": "2026",
      "venue": "AWS · IOI Central Boulevard Towers",
      "district": "Marina · CBD",
      "chapter": "Test the edges",
      "context": "Singapore · agent builder community",
      "moment": "Agents become real when permissions become real.",
      "lesson": "Autonomy is useful only when memory, tools, permissions, and hand-offs are visible.",
      "carriedInto": "The harness matters",
      "href": "/blog/harness-matters",
      "image": "/assets/events/journey/openclaw-singapore.webp",
      "imageAlt": "Collage from an OpenClaw Singapore community event, including Tanveer Riaz in the audience",
      "world": {
        "routeOrder": 3,
        "position": [-18, 9.33],
        "venueType": "tower",
        "districtKey": "cbd",
        "accent": "orange",
        "approachLabel": "AWS · IOI Central"
      }
    },
    {
      "id": "ai-engineer-capitol",
      "name": "AI Engineer Singapore",
      "date": "2026-05-16",
      "venue": "Capitol Theatre · 15 Stamford Road",
      "district": "Civic · City Hall",
      "chapter": "Keep showing up",
      "context": "Singapore · AI engineering conference",
      "moment": "I went to learn. The paper became part of the evidence.",
      "lesson": "The value was being in a room where practitioners were building, questioning, and learning in public.",
      "carriedInto": "A public journey connecting events, lessons, and builds",
      "href": "https://www.mfa.gov.sg/newsroom/press-statements-transcripts-and-photos/minister-for-foreign-affairs-dr-vivian-balakrishnan-s-speech-at-ai-engineer-singapore--16-may-2026/",
      "source": {
        "title": "Minister for Foreign Affairs Dr Vivian Balakrishnan's Speech at AI Engineer Singapore, 16 May 2026",
        "publisher": "Ministry of Foreign Affairs, Singapore",
        "url": "https://www.mfa.gov.sg/newsroom/press-statements-transcripts-and-photos/minister-for-foreign-affairs-dr-vivian-balakrishnan-s-speech-at-ai-engineer-singapore--16-may-2026/"
      },
      "image": "/assets/events/journey/ai-engineer-newspaper.webp",
      "imageAlt": "Physical Straits Times page about AI Engineer Singapore",
      "photoNote": "Tanveer Riaz is among the attendees in the group photograph. This does not imply a personal meeting with the minister.",
      "world": {
        "routeOrder": 4,
        "position": [4, -9],
        "venueType": "theatre",
        "districtKey": "civic",
        "accent": "violet",
        "approachLabel": "Capitol Theatre"
      }
    },
    {
      "id": "build-with-gemini",
      "name": "Build with Gemini Hackathon",
      "date": "2026-08",
      "venue": "Lorong AI · one-north",
      "district": "West · one-north",
      "chapter": "Build for someone",
      "context": "Singapore · public AI builder hackathon",
      "moment": "A six-hour room became a reason to ask who technology can help people become.",
      "lesson": "The strongest prototype was not the one with the most AI. It was the one where consent stayed visible and the AI stepped back once two people could talk.",
      "carriedInto": "87K Windows",
      "href": "https://www.linkedin.com/feed/update/urn:li:activity:7497166785465659392/",
      "linkedinUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7497166785465659392/",
      "linkedinLabel": "View the 87K Windows build story",
      "image": "/assets/events/rooms/optimized/T8-640.webp",
      "imageAlt": "Lorong AI community event collage with presentation slides and Singapore AI builders",
      "world": {
        "routeOrder": 5,
        "position": [40, 11],
        "venueType": "campus",
        "districtKey": "one-north",
        "accent": "blue",
        "approachLabel": "Lorong AI"
      }
    },
    {
      "id": "value-maxxing",
      "name": "65labs Unconference · Value-Maxxing",
      "date": "2026-08",
      "venue": "Carousell Campus",
      "district": "West · innovation corridor",
      "chapter": "Spend intelligence well",
      "context": "Singapore · public AI builder unconference",
      "moment": "The useful question moved from which model is smartest to which model is reliable enough for the job.",
      "lesson": "Use frontier intelligence to explore, capture what worked as a repeatable skill, then move repeatable work down the cost curve.",
      "carriedInto": "Model-routing and reusable skills practice",
      "href": "https://www.linkedin.com/feed/update/urn:li:activity:7496185885101658112/",
      "linkedinUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7496185885101658112/",
      "linkedinLabel": "Read the Value-Maxxing notes",
      "image": "/assets/events/rooms/optimized/T16-640.webp",
      "imageAlt": "Singapore builder community collage with speakers, tables and a projected talk",
      "world": {
        "routeOrder": 6,
        "position": [52, -8],
        "venueType": "campus",
        "districtKey": "one-north",
        "accent": "red",
        "approachLabel": "Carousell Campus"
      }
    },
    {
      "id": "claude-grab",
      "name": "Code with Claude",
      "date": "2026",
      "venue": "Grab · one-north",
      "district": "West · one-north",
      "chapter": "Build together",
      "context": "Singapore · coding agent community",
      "moment": "A good workflow remembers what the team learns.",
      "lesson": "Reusable skills, clear intent, and inspectable review make useful discoveries survive the individual session.",
      "carriedInto": "The public Skillz library",
      "href": "https://github.com/tanveerriaz/Skillz",
      "image": "/assets/events/journey/claude-code-singapore.webp",
      "imageAlt": "Collage from Code with Claude 2026 in Singapore",
      "world": {
        "routeOrder": 7,
        "position": [62, 10],
        "venueType": "campus",
        "districtKey": "one-north",
        "accent": "sand",
        "approachLabel": "Grab · one-north"
      }
    },
    {
      "id": "agent-forge-nus",
      "name": "Agent Forge Hackathon",
      "date": "2026",
      "venue": "National University of Singapore",
      "district": "West · NUS",
      "chapter": "Forge the workflow",
      "context": "Singapore · public agent-building hackathon",
      "moment": "A room full of agents made the hand-offs more interesting than any single prompt.",
      "lesson": "Agent systems become dependable when roles, evidence, review and failure states are designed as one workflow.",
      "carriedInto": "Agent workflow and orchestration experiments",
      "href": "/classic#projects",
      "image": "/assets/events/rooms/optimized/T12-640.webp",
      "imageAlt": "Agent Forge Hackathon lecture theatre with attendees beneath event signage",
      "world": {
        "routeOrder": 8,
        "position": [78, -9],
        "venueType": "university",
        "districtKey": "nus",
        "accent": "green",
        "approachLabel": "NUS · Agent Forge"
      }
    },
    {
      "id": "chatgpt-sites-hackathon",
      "name": "ChatGPT Sites Hackathon",
      "date": "2026-09",
      "venue": "Singapore",
      "district": "Singapore · build floor",
      "chapter": "Start with a conversation",
      "context": "Singapore · public site-building hackathon",
      "moment": "Benny and I started talking about how ordinary work breaks could help coworkers meet beyond their usual circles.",
      "lesson": "The idea became clearer as we talked, built it, explained it and brought it into the discussions around the room.",
      "carriedInto": "SideSpark",
      "href": "/blog/sidespark-started-with-a-conversation",
      "image": "/blog/sidespark-started-with-a-conversation/assets/hackathon-room.webp",
      "imageAlt": "ChatGPT Sites Hackathon participants gathered around tables and laptops in Singapore",
      "world": {
        "routeOrder": 9,
        "position": [70, -9],
        "venueType": "campus",
        "districtKey": "one-north",
        "accent": "yellow",
        "approachLabel": "ChatGPT Sites"
      }
    }
  ],
  "learning": [
    {
      "topic": "Agent systems",
      "note": "How tools, memory, permissions, and evaluation turn a model into a dependable workflow.",
      "status": "Deepening"
    },
    {
      "topic": "Local inference",
      "note": "What can stay on-device without making the product slower or less useful.",
      "status": "Prototyping"
    },
    {
      "topic": "AI-readable publishing",
      "note": "How HTML, Markdown, JSON-LD, and explicit content policies can make a personal site easier for agents to understand.",
      "status": "Applying here"
    }
  ],
  "links": {
    "github": "https://github.com/tanveerriaz",
    "linkedin": "https://www.linkedin.com/in/tanveerriaz",
    "blog": "https://tanveerriaz.me/blog",
    "rss": "https://tanveerriaz.me/feed.xml"
  },
  "agentHints": {
    "preferredName": "Tanveer Riaz",
    "shortDescription": "AI specialist in Singapore connecting global banking delivery with public experiments in agentic systems, local models, design, and useful products.",
    "safeTopics": [
      "Public projects",
      "Published writing",
      "Public tools",
      "AI and systems concepts",
      "Singapore builder community"
    ],
    "doNotInfer": [
      "Private repository contents",
      "Secrets, API keys, passwords, or credentials",
      "Local file and folder paths",
      "Exact home, office, or event location",
      "Private agent configuration, memory, or internal conversations beyond what is explicitly published",
      "Employer-confidential work",
      "Client information",
      "Availability for paid consulting"
    ],
    "canonicalSources": [
      "/data/site.json",
      "/site.md",
      "/llms.txt",
      "/blog/index.json"
    ]
  }
}
