Selected work
A collection of mobile and web applications, built with thoughtful design, clean code, and practical solutions.
9 projects
-
Swipe or scroll horizontally to explore images
Next.js★ Featured
A post-sharing application built with Next.js, featuring image uploads, a chronological feed, and interactive likes with optimistic UI updates. Posts include a title, image, and text content, with images hosted and optimized through Cloudinary and data stored in SQLite. The app uses Server Actions for submissions, server-side validation, cache revalidation, and loading and error states.
- Next.js
- React
- JavaScript
- SQLite
- better-sqlite3
- Cloudinary
- CSS
View details→ -
Swipe or scroll horizontally to explore images
Next.js
A news website built with Next.js and SQLite, featuring article listings, detailed news pages, full-size image views, and an archive filtered by year and month. The application uses Server Components for database queries, parallel routes to display archived and recent news together, and React Suspense for loading feedback. It also includes custom error and not-found pages.
-
Swipe or scroll horizontally to explore images
Next.js
A message board application built with Next.js that demonstrates server-side data caching and tag-based cache revalidation. Users can submit messages and browse stored entries with a total message count. The app uses React Server Actions to handle submissions, SQLite for persistent storage, and cache invalidation to refresh message data after each submission.
-
Swipe or scroll horizontally to explore images
Next.js
A full-stack Next.js application featuring user registration, login, and logout with Auth.js. It uses JWT-based sessions, server-side form validation, and salted password hashing with scrypt. Registered users can access a protected activities page, with user accounts and activity data stored in SQLite. Built with the App Router, React Server Actions, and custom CSS.
-
Swipe or scroll horizontally to explore images
Flutter★ Featured
A real-time group chat app built with Flutter and Firebase. Users can sign up and log in with email and password, capture a profile photo, and exchange messages in a shared chat room. Cloud Firestore stores messages and user profiles, while Cloudinary handles profile image uploads. The chat interface displays usernames and avatars, groups consecutive messages from the same sender, and updates automatically as new messages arrive.
-
Swipe or scroll horizontally to explore images
-
-
Swipe or scroll horizontally to explore images
Flutter
A personal expense tracking app built with Flutter and Dart. Users can add expenses with a title, amount, date, and category, and compare spending across food, travel, leisure, and work through a custom bar chart. Features include swipe-to-delete with undo, input validation, adaptive layouts, and automatic light and dark themes.
- Flutter
- Dart
- Material Design 3
-
Swipe or scroll horizontally to explore images
Flutter
An interactive quiz app built with Flutter and Dart to test knowledge of Flutter fundamentals. Users answer multiple-choice questions with shuffled answer options, then receive a score and a detailed summary comparing their answers with the correct ones. The app features color-coded results, a restart option, and a gradient interface with custom typography and reusable widgets.
- Next.js
- React
- JavaScript
- SQLite
- better-sqlite3
- CSS
- Next.js
- React
- JavaScript
- SQLite
- better-sqlite3
- CSS
JavaScriptAuth.jsSQLitebetter-sqlite3CSS- Flutter
- Dart
- Firebase Authentication
- Cloud Firestore
- Firebase Cloud Messaging
- Cloudinary
- image_picker
- HTTP
A Flutter app for saving favorite places with photos and location details. Users can capture a photo, use their current location or select a spot on Google Maps, and automatically retrieve its address through reverse geocoding. Saved places include map previews and a detail screen with an interactive map. Riverpod manages application state, while SQLite and local file storage preserve place details and photos between sessions.
- Flutter
- Dart
- Riverpod
- SQLite
- Google Maps
- Google Geocoding API
- Maps Static API
- image_picker
- location
- HTTP
- path_provider
5 / 6
Swipe or scroll horizontally to explore images
Flutter
A Flutter recipe browsing app that organizes meals into categories and displays ingredients, cooking instructions, preparation time, difficulty, and affordability. Users can add meals to favorites and filter recipes by gluten-free, lactose-free, vegetarian, and vegan options. Built with Riverpod for state management, the app features a dark Material Design 3 interface, animated category transitions, and Hero animations between meal cards and recipe details.
- Flutter
- Dart
- Riverpod
- Material Design 3
- Google Fonts
- Flutter Animations
View details→ intluuid- Flutter
- Dart
- Material Design
- Google Fonts