< 950ms
Gemini Flash AI LatencyFast streaming REST inference via gemini-1.5-flash-latest
Fast streaming REST inference via gemini-1.5-flash-latest
Restricts queries to Indonesian & English cultural keywords
Interactive mouse-tracking perspective transforms in Vue.js
Volcanoes, heritage temples, crater lakes, coastlines, palaces
Infinite marquee carousel and floating ambient cloud drift
Fluid layout across mobile, tablet, and widescreen displays
Java Island possesses an extraordinarily rich tapestry of historical kingdoms, UNESCO-recognized performing arts, diverse culinary traditions, and world-class natural landmarks. However, online representations of Javanese culture often remain fragmented across disparate blogs or dry academic repositories. JavaIsland was conceived to bridge this gap: an engaging, modern digital portal that introduces visitors to the depth of Java through interactive visual motion and accessible generative AI.
Core Mandate: Build an interactive, visually stunning cultural tourism platform that combines modern frontend techniques (3D mouse parallax, infinite marquees) with a responsive AI assistant equipped with strict cultural domain guardrails.
Explore the key interactive touchpoints of JavaIsland — bridging conversational AI cultural guidance, reactive 3D mouse parallax city cards, ancient imperial chronicles, and traditional gastronomy.
Official project presentation flyer showcasing JavaIsland's digital cultural ecosystem, interactive tourism guides, and rich historical heritage archives across Java.
JavaIsland balances rich visual storytelling with low-latency generative AI to deliver an immersive travel and heritage companion.
Integrated low-latency LLM endpoint delivering culturally accurate answers with bilingual keyword gating and graceful error recovery.
Vue.js mathematical pointer tracking generating real-time 3D isometric rotation and depth illusions without heavy WebGL overhead.
Comprehensive documentation of imperial Javanese history, royal court ceremonies, and UNESCO-recognized intangible cultural traditions.
Dedicated culinary origin breakdowns paired with multi-parameter destination filters for prospective domestic and international travelers.
Each module is engineered with robust transactional boundaries, modular isolation, and comprehensive audit trails.
Interactive floating consultation interface allowing users to inquire about Javanese folklore, historical landmarks, traditional ceremonies, and local customs in real time.
From user inquiry to verified cultural recommendations — each interaction passes through bilingual domain evaluation and deterministic LLM generation.
Visitor enters a query into the 'Tanya Jawa' chat interface. The client script evaluates the input against the 24-keyword Indonesian and English cultural dictionary.
Valid prompts are dispatched via HTTPS POST to Google's gemini-1.5-flash-latest model. The model produces culturally accurate, context-rich historical and travel responses.
The response is injected safely into the chat stream via textContent. If the query touches upon destination logistics, the assistant suggests relevant regional exploration pages.
JavaIsland is dedicated to educational appreciation and cultural preservation. The platform enforces bilingual lexical domain guardrails, verified historical references, and polite deflection algorithms to ensure AI conversations remain respectful, culturally grounded, and academically authentic.
Engineered with a clean separation between multi-page semantic HTML5 views, Tailwind CSS styling, a reactive Vue.js 3D motion module, and Google's Generative AI REST endpoint.
Multi-page semantic portal (index, culture, explore, askjava, detail pages) styled with modern Tailwind CSS utilities and custom brand typography.
Self-contained Vue.js component calculating cursor offset mathematics (mousePX, mousePY) and dynamic 3D rotational transforms (rotateX, rotateY).
Client-side keyword validator screening queries across 24 Indonesian and English terms prior to API dispatch.
Asynchronous fetch pipeline connecting to generativelanguage.googleapis.com, delivering rapid generative answers for cultural inquiries.
Optimized cultural image assets, local SVG iconography, and embedded YouTube cultural video players.
A modern engineering stack combining high-throughput user interfaces, modular backend architecture, and resilient data layers.
Clear boundary separation between system components, paired with modular schemas and structured repositories.
Represents historical eras and kingdoms (Majapahit, Mataram, Yogyakarta Sultanate) with historical epoch, leadership, cultural contributions, and archival media.
Stores traditional food items with regional origin, historical invention lore, signature herbs, slow-braising cooking steps, and taste profile.
Captures landmark profiles categorized across 9 tourism domains with geographic coordinates, historical era, admission guidelines, and photo galleries.
Manages visitor session state in 'Tanya Jawa': user prompt, bilingual whitelist match status, Gemini 1.5 Flash payload, and response latency.
Multi-layered client-side security architecture combining bilingual lexical domain whitelisting, sanitized DOM insertion, and encrypted REST transmission.
Screens prompt submissions across 24 Indonesian and English cultural terms, immediately deflecting off-topic or malicious prompt injections before API dispatch.
Model-generated text is injected strictly using textContent properties, protecting client browsers against Cross-Site Scripting (XSS) from untrusted tokens.
All client-to-API communication flows over TLS 1.3 encrypted HTTPS channels directly to Google Generative Language endpoints.
Catch blocks intercept network anomalies or quota limits, displaying polite error diagnostics without disrupting page UI or crashing script threads.
How critical technical bottlenecks were overcome and verified under real production conditions.
Implementing realistic 3D mouse parallax tilting with natural damping across different screen resolutions. Solved by structuring a reactive Vue.js component that continuously calculates cursor offsets relative to the element's bounding box, coupled with a 1000ms mouseleave timeout to smoothly reset the card to equilibrium.
Enforcing cultural topic fidelity in the AI assistant without adding a dedicated backend proxy. Solved by authoring a dual-language substring search covering 24 critical cultural and geographic keywords in Indonesian and English, deflecting non-cultural inquiries immediately on the client.
Constructing an infinite photographic marquee that remains silky-smooth across high-refresh-rate displays. Achieved through pure CSS keyframe translations (slide-right, slide-left) that bypass DOM reflows and offload rendering entirely to the browser GPU.