Ade Desfrianto — Technical Business Analyst

I bridge business problems and data solutions — from KPI definition and IDP architecture to building and shipping production systems. Currently serving Major State-Owned Energy Enterprise as Technical BA on an enterprise IDP project.

View my workLinkedIn
Jakarta, ID2+ yrs exp

Featured work

Major State-Owned Energy Enterprise

Enterprise Integrated Data Platform (IDP)

13

use cases in pipeline

Problem

PGE needed a unified data platform - 13 analytical use cases to be scoped, architected, and delivered from scratch across Dev, QA, and Prod environments.

Action

Leading end-to-end discovery: BRD authoring, Bronze-Silver-Gold architecture design, SQL-based KPI validation, and Power BI model delivery. Coordinating across business, dev, and QA stakeholders.

Result

Discovery and architecture phase underway. 13 use cases scoped and in active delivery pipeline - Bronze-Silver-Gold data layers designed, SQL validation framework established.

SQL ServerPower BIData VaultBronze-Silver-GoldBRDKPI Validation

Capabilities

Requirements & BRD

Translating business objectives into structured BRDs, use case documentation, and data specifications that development teams can actually execute.

Data modeling & KPI

Dimensional modeling, Bronze–Silver–Gold architecture, KPI definition and reconciliation via SQL validation before UAT and production release.

SQL-driven analysis

SQL-based data source analysis, validation queries, and data integrity checks across SQL Server, with Python for automation and reconciliation.

Dashboards & reporting

Power BI, Looker, and BMC dashboard delivery — from data lineage design to stakeholder-ready visuals aligned across Dev, QA, and Prod.

Current role

Technical Business Analyst @ Major State-Owned Energy Enterprise

Migrating Dashboard to IDP architecture. Scope: SQL Server, SSIS, Data Vault, DWH, SSAS, Power Bl.

Experience

Bank Syariah Indonesia

IT Vendor Management Analyst

Built BMC dashboards with query-driven visuals. Automated validation workflows using Python and Excel for contract lifecycle management.

PT. Pegadaian

IT Business Analyst — BI & MIS Squad

Handled 13 MIS projects in H2 2023. Led BI squad independently in 2024, completing 11 projects in Q1 — squad with highest delivery rate.

DHL Supply Chain Indonesia

Operations Supervisor

Managed design and implementation of 3 additional staging checking areas outbound. Reduced work imbalances in picking process by breaking down 3 picking types and measuring standard time. Supervised warehouse 5S & K3 compliance.

Other experience

Binar Academy (Bootcamp)

Business Intelligence Analyst Bootcamp

Graduated as Most Progressive Student. Covered ML, classification, A/B testing, EDA, Looker, and Excel.

Batik Nakula Sadewa

Process Improvement Analyst (Thesis Research)

Applied Lean tools (Process Activity Mapping, VSM) resulting in 3.31% increase in process cycle efficiency, 4.17% reduction in lead times, and 9.47% reduction in cycle time via 5S and SOP implementation.

PT. Suntory Garuda Beverage

Quality Control & QA Staff (Intern)

Utilized Six Sigma to identify and reduce dominant defects, resulting in 20–33% defect decrease. Conducted organoleptic competency tests and participated in production equipment calibration.

Stack & approach

SQL Server
Power BI
Python
Looker
Excel
SQL
Jira
Microsoft 365

How this was built

From scratch, no templates. Shipped to production, self-audited, and patched 7+ security vulnerabilities. Then added a full analytics pipeline, Supabase SQL schema with RLS, and iterated like a real product.

Security-first

CSRF, IDOR mitigation, magic-byte file validation, RLS on every table — found and fixed post-ship. Including a cross-user data leak in analytics.

Supabase & SQL schema

Wrote production SQL — RLS policies per table, storage policies for avatars, owner index, and startup env guards via instrumentation.ts.

Analytics pipeline

Session fingerprinting, SHA-256 IP hashing, device & referrer breakdown, bot detection, event markers — no third-party SaaS.

Built & iterated

Shipped v1, audited, patched, added features. Same cycle as production engineering — not a static portfolio project.

Frontend

Next.js 14React 18TypeScriptTailwind CSSFramer Motion

Backend & Database

SupabasePostgreSQLRow Level SecuritySupabase StorageServer Actions

Security & Validation

ZodCSRF ProtectionIDOR MitigationMagic-byte ValidationCSP Headers

Testing & DevOps

VitestESLintVercelGitHubISR + Edge Runtime

Let's connect

Open to new opportunities

Data & IT Business Analyst — Jakarta-based, open to remote.

View my work
Live2026

Truf — AI Card Game

A full-stack implementation of the Truf / Oh Hell trick-taking card game with a rule-based AI opponent, real-time game state management, and an in-game tutorial system.

Live demo

https://truf-game.vercel.app
AA
AA
AA
AA

Add your deployed URL to enable the live demo link

Play the Game

Problem → Solution

Problem

Card games like Truf (an Indonesian Oh Hell variant) have deep strategic depth — bidding, trump management, hand reading — but no accessible digital implementation existed that preserved the authentic rules and offered a solo practice mode against a smart opponent.

Solution

Built a complete browser-based implementation from scratch: authentic rule engine, multi-phase game loop (bidding → play → scoring), a rule-based AI opponent that evaluates hand strength and adapts bids, and a step-by-step tutorial for new players.

Outcome

A fully playable single-player experience that accurately models the game rules, provides an AI opponent that makes realistic decisions, and onboards new players through an interactive tutorial — shipped and deployed end-to-end.


Key features

Rule-based AI Opponent

The AI evaluates hand strength, tracks played cards, and adjusts its bids and play strategy based on trump suit, remaining tricks, and round context — no ML required, pure deterministic logic.

Complete Game Engine

Full implementation of Truf rules: trump selection, trick-taking resolution, bid validation, penalty/bonus scoring, and multi-round progression with persistent score tracking.

Interactive Tutorial System

Step-by-step guided mode that walks new players through bidding, trump mechanics, and trick-taking with contextual hints and highlighted valid moves.

Real-time Game State

Reactive UI that reflects game state changes instantly — card animations, trick resolution, score updates — with no page reloads, driven by a clean state machine.

Mobile-first Responsive

Designed for touch interaction: tap-to-play card selection, legible card faces on small screens, and layout that adapts from mobile to desktop without losing game clarity.

Game Flow UX

Clear visual feedback for whose turn it is, which cards are valid plays, trick winner announcement, and round transition — reducing cognitive load during play.


Screenshots

K♠
A♥
Q♦
J♣
10♠
9♥

Bidding Phase

Players select their bid count; AI evaluates hand strength and places its bid before play begins.

K♠
A♥
Q♦
J♣
10♠
9♥

Trick-taking Play

Active round with trump indicator, played cards per trick, and highlighted valid cards in hand.

K♠
A♥
Q♦
J♣
10♠
9♥

Scoreboard & History

Per-round scoring summary with bid vs. actual tricks, penalties, and cumulative scores across rounds.


Technical architecture

Technical Architecture

UI Layer

ReactTailwind CSSFramer Motion

Game Engine (Core Logic)

TypeScriptState MachineCard EvaluatorTrick Resolver

AI Module

Hand Strength ScorerBid StrategyPlay HeuristicsCard Memory

Persistence

LocalStorage (session)Score History

Tech stack

Frontend

ReactTypeScriptTailwind CSSFramer MotionVite

AI / Game Logic

Custom State MachineRule-based AIHand Evaluator

Deployment

Vercel

What I learned

Modeling complex game state

Representing a multi-phase card game (deal → bid → play → score → next round) as a finite state machine made transitions explicit and bugs dramatically easier to isolate.

AI without ML is still AI

Building a rule-based opponent taught me to think adversarially — what information does the AI have, what's the optimal move given incomplete information, and how to make it feel 'smart' without being unfair.

Card game UX is deceptively hard

Communicating valid moves, trump context, and trick results clearly — without overwhelming the player — required several iterations. Constraint: every pixel competes with the actual cards.

Pure TypeScript logic is testable

Isolating the game engine from the UI meant I could write unit tests for edge cases (bid ties, last trick scoring, trump exhaustion) without spinning up a browser.


Documentation


Want to see it in action?