// projects.json — full case studies

Case studies, in full.

For each AI product I've shipped: the problem it solved, how I approached it, the stack it runs on, exactly what I owned, and the outcome. Written so you can judge the engineering, not just the result.

lrt-jakarta-voice.ts2026

LRT Jakarta AI Voice Assistant

Voice AILLM Orchestration

// problem

Commuters needed a fast way to get transport information — schedules, routes, fares — without digging through a static app or waiting on staff. LRT Jakarta wanted customer service automated through natural conversation instead.

// approach

A real-time voice assistant pairing speech processing with an orchestrated LLM pipeline: spoken questions are transcribed, routed through an orchestration layer that decides what the query needs, and answered from backend services holding live transport data — so answers reflect current schedules rather than a static FAQ.

// tech_stack

PythonFastAPILangChain / LangGraphSpeech ProcessingREST APIs

// my_role

Full stack. I designed the backend orchestration and the AI pipeline, then integrated both end to end with the voice interface.

// outcome

Commuters get schedule, route and fare answers by speaking instead of navigating menus — removing a meaningful share of repetitive customer-service load.

selehub-platform.ts2025

SeleHub — Conversational Voice AI Platform

Conversational AIBackend

// problem

Businesses wanted to offer natural, speech-based interactions to their users without building conversational AI infrastructure from scratch.

// approach

A platform that orchestrates LLM workflows behind a voice interface, handling turn-taking, conversation context and response generation in backend services purpose-built for speech — so a product team can add a voice layer without owning that infrastructure.

// tech_stack

PythonFastAPILangChain / LangGraphConversational AI

// my_role

Built the backend orchestration and the conversational AI workflows the platform runs on.

// outcome

A reusable voice AI platform that other products can build speech interactions on top of, rather than each rebuilding the same orchestration.

modex-fashion-ai.py2025

Modex — AI Fashion Recommendation

Computer VisionRecommendations

// problem

Fashion shoppers wanted recommendations and try-on guidance based on visual style — not just keyword filters.

// approach

Computer vision pipelines analyse garment imagery and feed a recommendation system that matches items to a shopper's visual style, with virtual try-on on top of the same pipeline.

// tech_stack

PythonComputer VisionRecommendation SystemsREST APIs

// my_role

Built the AI solution end to end: visual analysis, recommendation logic and backend integration.

// outcome

Shoppers get recommendations based on how clothes actually look on them, not keyword filters — and can preview items before buying.

facedex-identity.py2025

FaceDex — Facial Recognition & Identity Verification

Computer VisionIdentity

// problem

Businesses needed reliable identity verification and demographic insight without manual checks.

// approach

AI inference pipelines handle facial recognition and identity verification, with image preprocessing ahead of the model and real-time analytics for demographic prediction behind it.

// tech_stack

PythonComputer VisionAI Inference PipelinesImage Preprocessing

// my_role

Built the computer vision pipelines and integrated the models into backend services so verification runs automatically at scale.

// outcome

Identity checks that ran manually now run automatically, with real-time analytics on top of the same pipeline.

contact-triage.n8n.json2026

Contact Triage Automation

Automationn8n

// problem

A public portfolio attracts a steady mix of real opportunities and noise — recruiter outreach, freelance briefs, and a long tail of backlink and SEO pitches. Reading every message to work out which is which is exactly the kind of repetitive triage that should not be manual.

// approach

An n8n workflow behind a webhook: validate the submission, score it against weighted lexicons for recruiter, freelance and collaboration intent, check spam markers first so a backlink pitch dressed as a brief cannot be promoted, then add domain-fit and sender-domain signals to produce a 0–100 priority and a destination. High-priority enquiries page immediately; the rest wait for a digest. The rules are deliberately deterministic rather than model-backed — the label set is small and the lexical signals are strong, so rules are instant, free, and can show exactly which signals produced a verdict.

// tech_stack

n8nTypeScriptNext.js Route HandlersVercel Edge

// my_role

Designed and built the whole pipeline — the workflow, the shared rule set, and the live demo embedded on this site.

// outcome

Enquiries arrive pre-sorted with a priority and a reason attached, and spam never triggers a notification. The same rule set runs in both n8n and a serverless endpoint, so the public demo can never disagree with the production workflow.

// EOF — © 2026 Apriani Nur Raina

Open to AI Engineer roles & freelance work

$ cd top
mainprojects.jsonLn 1, Col 1