JoinUs SQL & Social Platform
ⓘ
A self-hosted full-stack application that combines SQL exploration, relational database design,
and a connected social experience. Includes shared users, schema-driven features, and secure
deployment through Cloudflare Tunnel.
Full-stack platform featuring SQL exploration, schema design, and a connected social feed.
Stack: Node.js, Express, EJS, MariaDB, PM2, Cloudflare Tunnel, Synology NAS
Project Details
Live Demo
NoteStack – Full-Stack Notes App
ⓘ
A self-hosted full-stack notes application with authentication, notebooks, note editing, tagging,
tag-aware search, and autosave. Built and deployed on a Synology NAS with secure public access through
Cloudflare Tunnel.
Full-stack notes platform featuring notebooks, tags, search, and autosave.
Stack: Node.js, Express, EJS, MariaDB, PM2, Cloudflare Tunnel, Synology NAS
Project Details
Live Demo
Powerball Quick Pick
ⓘ
This app generates Powerball-style “Quick Pick” tickets in the browser, animates the ball
roll, and uses Netlify Functions to fetch live jackpot info + recent draw results. It also
validates ticket inputs and checks matches against the selected draw date using public lottery
data—all without storing personal info.
Powerball-style quick pick generator with live jackpot data, draw-date
selector, and ticket match checker.
Stack: HTML, CSS, JavaScript, Netlify Functions, Public Lottery Data
Live
Source
Weather Lookup
ⓘ
Looks up live conditions by city or ZIP. The browser calls a Netlify Function, and the function calls
WeatherAPI.com—this keeps the API key off the front end and avoids CORS issues. The UI then parses the
response
and displays current conditions in a simple, readable layout.
Enter a ZIP code or city to view live weather conditions using WeatherAPI.com.
Stack: HTML, CSS, JavaScript, Netlify Functions, WeatherAPI.com
Live
Source
IP Geolocation
ⓘ
Accepts an IP address and returns location details like country/region/city and coordinates. The front end
calls
a Netlify Function, which then calls the ipgeolocation.io API to protect the API key and handle CORS
cleanly.
Results are rendered into the UI with basic validation and error handling.
Enter an IP address to get country, region, city, coordinates, and more.
Stack: HTML, CSS, JavaScript, Netlify Functions, ipgeolocation.io API
Live
Source
Todo Tracker
ⓘ
A lightweight task tracker built with vanilla JavaScript. Tasks are added/edited/removed by updating the
DOM in
real time, and your list is saved to LocalStorage so it persists after refresh. No backend—everything runs
entirely in the browser.
Lightweight task tracker you can run anywhere.
Stack: HTML, CSS, JavaScript, LocalStorage
Live
Source
Dog Therapy
ⓘ
A simple “instant joy” app that calls the Dog CEO API to fetch a random dog image on demand. JavaScript
handles
the API request, updates the image element, and shows basic loading/error states so you can see what a
clean
fetch-and-render flow looks like.
On-demand dog joy—fetches random pups.
Stack: HTML, CSS, JavaScript, Dog CEO API
Live
Source
Matching Game
ⓘ
A classic memory matching game built with DOM-based JavaScript. The app shuffles the deck, tracks flipped
cards,
locks input while checking matches, and resets mismatches with a short delay. It’s a good example of state
management and UI updates without any frameworks.
A simple memory card matching game.
Stack: HTML, CSS, JavaScript (DOM)
Live
Source
Quote Generator
ⓘ
Fetches a random quote from an external API and renders it into a clean card UI. JavaScript handles the
request,
updates the DOM, and provides simple loading/error feedback so the user always knows what’s happening
behind the
scenes.
Displays a random quote in a clean card.
Stack: HTML, CSS, JavaScript, Quotes API
Live
Source