Case Studies

Projects & Engineering Decisions

Each project is a real engineering problem I solved — with real constraints, decisions, and outcomes.

LiveFinal Project - Hacktiv8 FSJS2026

Cuanify

Captain & Fullstack Developer

Team: Wahid Nurhisyam, Dimas Budi Nugraha, Halim Ornest

SME operations platform: POS, inventory, debt tracking, analytics, and AI Assistant in one system.

Problem

SMEs often use separate tools for cashier operations, stock tracking, and business insights, causing slow operations and data inconsistencies.

Solution

Built an integrated system with transaction flow, batch/FIFO inventory, online payments, and an AI center grounded in business data.

Impact
  • Operasional lebih terpusat dalam satu platform
  • Pemantauan stok dan transaksi lebih konsisten
  • Insight bisnis lebih cepat melalui AI Assistant

Key Features

Auth JWT + Google Sign InRole-based access (Owner/Cashier)POS Checkout (Cash, Kasbon, QRIS/Transfer/Digital)Midtrans payment integration + webhookInventory batch + FIFO + low-stock alertDebt/Kasbon managementAI chat and smart insightsGenerate product/recipe from imagePWA support

Tech Stack

frontend:
Next.jsTypeScriptTailwind CSS
backend:
Next.js API RoutesNode.js
database:
PostgreSQLPrismapgvector
ai:
Groq APIGemini EmbeddingsRAG
integrations:
MidtransImageKitNextAuthXendit
deployment:
Vercel

Engineering Challenges

Konsistensi data inventory pada alur transaksi
Stabilitas integrasi payment gateway (env + webhook)
Fallback AI saat provider/connection issue
LiveFullstack Web AppJanuary 2026 – Present

GitHired — AI-Powered Interview & Resume Assistant

Fullstack Developer (Solo)

Team: Wahid Nurhisyam

An AI-powered career preparation platform that combines technical mock interviews and ATS-focused resume analysis in one app.

Problem

Job seekers often struggle to get realistic interview practice, actionable resume feedback, and structured progress tracking.

Solution

Built a fullstack app with adaptive AI mock interviews, PDF resume analysis, voice support (STT/TTS), gamification, and Pro monetization via Midtrans.

Impact
  • Implemented monetization flow with Midtrans and automatic Pro upgrade activation (IDR 50,000).
  • Enforced free-tier limits (max 1 interview session) while unlocking unlimited sessions for Pro users.
  • Delivered bilingual feedback output (English and Indonesian) for both interview evaluation and resume analysis.
  • Enabled voice-based interview flow using speech-to-text and text-to-speech endpoints.

Key Features

JWT auth and Google OAuth loginAI mock interview with role, difficulty, and language settingsPost-interview scoring and detailed feedbackATS resume scanner with PDF upload and bilingual analysisUser profile analytics, history logs, and gamification tiersMidtrans payment integration for Pro subscription

Tech Stack

frontend:
React 19ViteRedux ToolkitReact RouterTailwind CSSFramer MotionAxios
backend:
Node.jsExpress 5SequelizeJWTPassport Google OAuthMulter
database:
PostgreSQLSQLite (test)
ai:
Groq Llama 4 ScoutGroq Whisper Large v3 TurboGroq Orpheus
integrations:
Midtrans SnapGoogle OAuthImageKitFirebase Hosting
deployment:
Firebase Hosting (frontend)Node.js server deployment

Engineering Challenges

Keeping LLM responses in strict JSON format with robust fallback parsing.
Handling AI rate limits and providing graceful fallback behavior for TTS.
Managing secure access control between free and Pro feature gates.
Maintaining consistency for multilingual feedback storage and rendering.
In ProgressPersonal Branding Website2026

Wahid AI Portfolio

Fullstack Developer

Team: Wahid Nurhisyam

Interactive portfolio website with AI Interview Mode and Recruiter Mode.

Problem

Typical portfolios do not clearly demonstrate real engineering thinking.

Solution

Creating a portfolio with RAG chat, case studies, and a problem-solving simulator.

Impact
  • Meningkatkan personal branding teknis
  • Memudahkan recruiter menilai skill secara cepat

Key Features

AI Interview Mode with RAGRecruiter Mode summary generatorIncident Simulator - interactive debugging scenariosCase study project cardsSEO + OpenGraph metadata

Tech Stack

frontend:
Next.jsTypeScriptTailwind CSSFramer Motion
backend:
Next.js API Routes
database:
PostgreSQLPrismapgvector
ai:
Groq APIGemini EmbeddingsRAG
deployment:
Vercel

Engineering Challenges

Streaming AI response dengan UX yang smooth
RAG retrieval yang cepat dan relevan
Design yang premium tanpa terasa generik
LiveAI-Powered Real-Time Multiplayer Web RPGJanuary 2026

Dior Dungeon

Developer (Fullstack, Gameplay Flow, Realtime Integration)

Team: Dimas (Project Lead), Ornest (Developer), Wahid (Developer)

Dior Dungeon is a browser-based multiplayer RPG (up to 3 players) with AI-generated dungeons, characters, NPC events, and dynamic narration.

Problem

Traditional RPGs are often static, require installation, and are harder to play instantly with friends. Storylines also become repetitive, lowering replay value.

Solution

Built a real-time web game using Socket.IO, a server-authoritative backend, and Gemini/Groq integration for procedural dungeon, character, NPC event, and battle narration generation.

Impact
  • Enabled instant party play (up to 3 players) directly from browser
  • Improved replayability with AI-generated dungeon and narrative variation
  • Reduced client-side cheating risk by keeping core game logic on server
  • Supported bilingual gameplay experience (Indonesian/English)

Key Features

Room creation and join with unique room codesRealtime waiting room with ready-check and host controlsAI character generation and regeneration per playerTurn-based battle with stamina system and round resolutionAction timeout with automatic rest fallbackNPC choice events with party-wide effectsStory summary, battle summary, and final game summary generationReconnect flow for players who disconnect mid-session

Tech Stack

frontend:
ReactViteBootstrapReact RouterSocket.IO Client
backend:
Node.jsExpressSocket.IO
database:
PostgreSQLSequelize ORMJSONB (game state storage)
ai:
Google Gemini APIGroq SDK (fallback/provider)
integrations:
UUIDSweetAlert2
deployment:
Firebase Hosting (frontend)Railway (backend)Railway PostgreSQL (database)

Engineering Challenges

Sequelize JSONB change tracking required explicit changed() handling
Race conditions in concurrent player action submission
State consistency during reconnect and mid-game sync
ID type mismatch handling (string vs number) across layers
Action timer lifecycle and cleanup on disconnect