Projects

All projects & experiments

19 projects

all projects.

Palora landing page with document upload formats and example study pals ranked by topic
Project/ 01

Palora

Palora is a study hub for students and self-learners who want to turn lecture slides, handouts, and notes into regular practice. PDF, PowerPoint, Word, photographed pages, and pasted notes feed a library of questions, explanations, and topics, with a choice of 30 illustrated study pals.

I built a resumable question-generation pipeline with source-based verification and task-specific Gemini/Groq routing, then connected question reviews and self-rated flashcards to SM-2 scheduling. Seven study modes, weak-topic tracking, practice exams, calendar plans, focus sessions, and Anki exports extend the same material into a study routine, while cached question reviews can queue answers offline for later synchronization.

Technologies

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Supabase
  • PostgreSQL
  • Prisma
  • Google Gemini AI
  • Groq
  • Zod
  • unpdf
  • JSZip
  • SM-2
  • PWA
  • Web Push
Resona artwork featuring its Android music player and local library interface
Project/ 02

Resona

Resona is an offline-first music player for Android built for listeners who keep their own music libraries and want a player designed around ownership rather than streaming access.

I built the library on Android’s MediaStore through a Kotlin platform channel, with just_audio playback and audio_service keeping notification, lock-screen, headset, and Bluetooth controls in step with the app. Player Studio adds Classic, Minimal, and Artwork Focus layouts, while favorites, playlists, and the last queue stay on the device in SQLite, with no account required.

Technologies

  • Flutter
  • Dart
  • Kotlin
  • Android MediaStore
  • just_audio
  • audio_service
  • SQLite
Muru workspace dashboard with its navigation and personal tools
Project/ 03

Muru

Muru is a personal workspace for keeping everyday work in one place: rich notes, code snippets, saved links, tasks, calendar events, shopping lists, receipts, and money. Its Compact Daybook design pairs lavender paper and editorial type with an illustrated little keeper, across desktop and phone layouts.

I connected tasks to calendar events and shopping receipts to finance, alongside savings pots and browser-side AES-256-GCM encryption with an Argon2id-derived key for passwords and locked note bodies. Metadata stays separate from encrypted content. The installable PWA supports cached-page browsing and opt-in Web Push reminders; hosted access is invitation-based, and new file uploads are currently restricted to staff accounts.

Technologies

  • Next.js
  • React
  • TypeScript
  • Supabase
  • PostgreSQL
  • Drizzle ORM
  • Tailwind CSS
  • Tiptap
  • Recharts
  • Monaco
  • FullCalendar
  • AES-256-GCM
  • Argon2id
  • PWA
  • Web Push
  • Upstash Redis
  • React Email
Sloop in Open Water sailing simulation showing a boat and the surrounding ocean
Project/ 04

Sloop in Open Water

Sloop in Open Water is a browser-based sailing simulator built for players who want an open tropical archipelago to explore, with a ten-boat fleet to sail rather than a single vessel.

I modeled wave-driven buoyancy and heel for the ten boats, then used spray, wakes, and a procedural seabed to make their motion visible. Live weather, a day/night cycle, AI harbor traffic, autopilot, and touch controls extend the simulation across desktop and offline play.

Technologies

  • Three.js
  • TypeScript
  • Vite
  • WebGL
  • GLSL
  • Web Audio API
  • PWA
  • Motion
fat-fingers typing-test interface with text prompts and performance information
Project/ 05

fat-fingers

fat-fingers is a typing test built for typists who want their speed measured honestly and their ego handled rudely.

I built timed, word-count, and quote modes around shared WPM, accuracy, and consistency tracking. Each completed test becomes a Gemini-generated roast and a point in the session history, so the joke still gives typists a way to measure progress.

Technologies

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Google Gemini AI
  • Framer Motion
  • Recharts
  • Zod
Ligtas Dagupan map interface with incident reporting and location panels
Project/ 06Collaborative

Ligtas Dagupan

Ligtas Dagupan is a comprehensive crisis coordination platform built for citizens, volunteers, and local responders who need faster and more reliable disaster response tools.

A shared map brings incident reports, relief locations, and weather information into one view. Shared query caches and realtime subscriptions support coordination views, while a Sui testnet donation ledger demonstrates an experimental support-recording flow.

Technologies

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Supabase
  • Leaflet
  • TanStack Query
  • Shadcn/ui
  • PostgreSQL
  • OpenStreetMap
  • Stormglass
  • Open-Meteo
  • Sui Move
Xnap browser photo booth showing its camera and photo-strip interface
Project/ 07

Xnap!

Xnap! is a browser-based photo booth application built for users who want a fun, interactive capturing experience directly from the web.

MediaPipe gesture controls let people trigger a photo without touching the camera, while filters and stickers shape the shot in the same browser session. The capture flow works without a separate app install.

Technologies

  • React
  • Next.js
  • TypeScript
  • Framer Motion
  • Tailwind CSS
  • Supabase
  • MediaPipe
Reset habit-tracking interface showing personal progress and reflection tools
Project/ 08

Reset

Reset is a sobriety and wellness platform built for individuals in recovery and their support networks who want a structured path toward lasting positive change.

Daily habit check-ins and cognitive behavioral mapping sit in the same mobile flow, connecting progress tracking to personalized recovery steps. The structure gives people in recovery a clearer way to follow their own patterns over time.

Technologies

  • Flutter
  • Firebase
  • Dart
  • Google Gemini AI
  • REST API
Break-it-Down task-planning canvas with connected goal and subtask cards
Project/ 09

Break-it-Down

Break-it-Down is an interactive task visualizer built for planners who want an effortless way to turn large project ideas into actionable steps.

AI-generated flowcharts turn a large idea into tasks that can be expanded recursively. Pan and zoom keep the growing plan navigable on an infinite canvas, making the next actionable step easier to find.

Technologies

  • React
  • Next.js
  • Vercel AI SDK
  • Zod
  • Framer Motion
  • Tailwind CSS
Curricula internship coordination introduction and sign-in screen
Project/ 10

Curricula

Curricula is a modern internship management website built for students, supervisors, and administrators who want a streamlined way to oversee educational programs.

Daily logbooks, live progress, performance metrics, and automated reports share one dashboard. Students and supervisors can follow the same internship record instead of gathering updates from separate tools.

Technologies

  • React
  • Next.js
  • TypeScript
  • Convex
  • Tailwind CSS
  • Clerk
  • Shadcn/ui
  • Zod
  • Serwist
Snipr public overview showing code reuse, organization, and search features
Project/ 11

Snipr

Snipr is a code snippet management app built for developers who want one organized place to store, manage, and access their favorite code patterns.

Convex keeps saved snippets synchronized in real time, while Clerk manages access to the library. Developers can collect and retrieve reusable patterns in one place instead of searching through old projects.

Technologies

  • React
  • Next.js
  • TypeScript
  • Convex
  • Tailwind CSS
  • Clerk
  • Shadcn/ui
  • Serwist
Budgio public product preview with example balances, budgets, and transactions
Project/ 12

Budgio

Budgio is a real-time personal finance tracker built for people who want a clearer view of their money without wrestling with bloated spreadsheets or noisy dashboards.

Transaction entries sit alongside monthly budgets and live summaries, so spending can be read in context. Profile-based settings keep the dashboard focused on each person's own financial picture.

Technologies

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Supabase
  • PostgreSQL
  • Zod
Pip Bot public documentation, branded MIH Bot, for Discord tasks and deadlines
Project/ 13

Pip Bot

Pip Bot is a Discord-native task management bot for OJT teams. Its package and documentation also use the name MIH Bot, with tasks and deadlines managed inside chat servers.

Discord commands move tasks through their lifecycle, track deadlines, and send reminders in the channels where OJT teams already work. Keeping the workflow in chat makes the next action visible without checking another task board.

Technologies

  • Node.js
  • MongoDB
  • Discord API / Discord.js
IWBlog retro homepage with green terminal windows and IndieWeb navigation
Project/ 14

IWBlog

IWBlog is a retro 2000s-inspired blog platform built for the IndieWeb community who want a nostalgic, chaotic alternative to modern minimalist design.

Draggable windows, CRT scanlines, and a Winamp-inspired panel carry the early-web feel through the interface. Local Markdown supplies the articles, while Last.fm supplies recent-track metadata.

Technologies

  • React
  • Next.js
  • TypeScript
  • SWR
  • Framer Motion
  • Tailwind CSS
  • Gray-matter & Remark
  • Last.fm API
Ovulab public introduction to cycle logging and chart-based insights
Project/ 15

Ovulab

Ovulab is a private menstrual tracker built for people who want something more helpful than a basic period calendar.

Daily logs feed cycle estimates and trend charts. Tracker-generated history remains distinguishable from manual records; the inspected prediction rules are application estimates with no clinical accuracy established here.

Technologies

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Supabase
  • Shadcn/ui
  • PostgreSQL
  • Zod
Glitch Freak public marketplace interface in its empty-listings state
Project/ 16

Glitch Freak

Glitch Freak is an experimental Sui collectible marketplace with stylized artwork and trait metadata.

Client-generated traits accompany Move collectible objects and listing logic. The inspected preview mint handler disables minting; trait labels do not establish cryptographic rarity or verified volatility.

Technologies

  • Sui Move
  • React
  • Next.js
  • TypeScript
  • Tailwind CSS
  • Framer Motion
Beats NFT Marketplace public homepage with collection artwork and navigation
Project/ 17

Beats NFT Marketplace

Beats NFT Marketplace is a Sui music-collectible project combining track metadata with marketplace listing and payment mechanics.

Music objects store artist, genre, cover, and music references. The inspected marketplace accounts for seller proceeds separately; the source review does not establish royalty distribution or measured artist compensation.

Technologies

  • Sui Move
  • React
  • Next.js
  • TypeScript
  • Tailwind CSS
Velvet Gallery source artwork showing a textured live-music scene
Project/ 18

Velvet Gallery, also named VelvetHumming in its repository, is a Gatsby visual-archive project for presenting artwork in a responsive grid.

Gatsby's file pipeline combines Sharp image processing, responsive grids, and blur-up placeholders. Those pieces keep the visual archive browsable while larger images load.

Technologies

  • Gatsby 5
  • React
  • GraphQL
  • Gatsby Plugin Image
  • Sharp
  • Gatsby Source Filesystem
LinguaAR mobile home screen with gesture tools, favorites, and lesson navigation
Project/ 19Collaborative

LinguaAR

LinguaAR is a Filipino Sign Language (FSL) learning and accessibility prototype combining guided practice with gesture and speech tools.

Flutter powers the learning interface, while the inspected Flask and cvzone path classifies images of static hand gestures. This prototype implementation does not establish validated continuous FSL translation or a measured recognition accuracy.

Technologies

  • Flutter
  • Dart
  • Machine Learning
  • Python (Flask)
  • MediaPipe