KATE MCFAUL

PROGRAMMER, ARTIST, NERD

Phone Number App

Featured Skills: React, TypeScript, HTML/JSX, SCSS, Recoil, IDB-Keyval

Phone Number App

I built Number Practice in React with TypeScript, leveraging Recoil for state management and IDB-Keyval for secure, offline storage. Designed to help kids confidently memorize and enter phone numbers or school IDs, the app mimics real-world devices like phone keypads and school POS systems. It offers feedback with confetti for correct entries and displays corrections for mistakes, creating a fun, supportive learning experience. The app prioritizes privacy (data stays on your device), works offline, and opens like a native app when saved to a home screen. Born from a real-world challenge my kindergartener faced, Number Practice blends playful engagement with practical skills, making it an inclusive and ad-free tool that empowers kids.

Number Sort

Featured Skills: Next, TypeScript, PWA, HTML/JSX, SCSS

Number Sort

I built Number Sorter using Next.js as an interactive, educational tool to help kids practice number sorting concepts like place value and greater than/less than. With a customizable interface, users can set the number of digits, define number ranges (including negatives!), and highlight the tens place to support learning. The drag-and-drop design makes sorting intuitive, while the Check button ensures mistakes are corrected before advancing, reinforcing understanding. As a progressive web app, it works offline, saves settings for seamless use, and opens like a native app when saved to a home screen. Born from a real-life need to help my first grader, Number Sorter is a free, accessible tool that turns learning into a fun, confidence-building experience for all kids.

Color Inspo

Featured Skills: Next, TypeScript

Color Inspo

Discover beautiful color combinations effortlessly with this upgraded tool I rebuilt in Next! Perfect for creative projects like designing websites, knitting, or selecting paint colors, it lets you choose a starting color and instantly generates complementary, split complementary, triad, analogous, and square combinations.

You can now save multiple color combinations, add and remove specific colors from each set, and include notes to keep track of ideas. Set any color as a background color behind the color wheels if your project has a specific background. Plus, I added a Random Colors page that generates unexpected palettes for fresh inspiration. With an improved interface, seamless color picking, and interactive features, this app makes exploring color even more fun and practical!

Homeroom Hub

Featured Skills: Next, TypeScript

Homeroom Hub

Homeroom Hub is a kid-safe, ad-free set of classroom helpers for elementary learners and their grown-ups. It bundles reading & lesson timers, a Merriam-Webster-powered dictionary/thesaurus tuned for grades 6-8, a Beyond-the-Page quick-link helper, and links to my practice tools - plus lots more tools coming soon! Everything is simple, distraction-free, and accessible - built to help kids stay focused while giving homeschool parents, caregivers and teachers fast, reliable tools that just work.

Under the hood, the app uses Next.js (App Router) with strict TypeScript, deployed on Vercel. UI is built with Mantine and Tabler icons, auth and data are handled by Firebase (Auth & Firestore), with a Realtime Database pipeline for centralized logging. Server Components are the default; Route Handlers use ISR with defined TTLs. Public endpoints include input validation; secrets are kept server-only; and security headers are configured. The codebase favors small, well-maintained dependencies and in-house utilities, with accessibility and performance treated as core requirements.

Do Stuff

Featured Skills: React, Typescript, Redux, PWA, HTML/JSX, SCSS, IDB-Keyval

Do Stuff

I built a sleek, feature-rich Task Manager Progressive Web App using React. Designed for maximum flexibility, tasks can be assigned to multiple categories, reordered via drag-and-drop, and zoomed into or collapsed for focused organization. Categories are also draggable for prioritization, creating a highly customizable experience. The app is optimized to work offline, saves data securely in IndexedDB, and functions seamlessly as a native app when downloaded. Built with React Router, context, custom hooks, portals, and suspense, it leverages the HTML5 Drag-and-Drop API for intuitive interaction, blending powerful functionality with a polished, user-friendly interface.

Teen Center Sign In App

Featured Skills: React, JavaScript, Firebase, Fetch, HTML/JSX

Teen Center Sign In App

I developed a custom sign-in and reporting app for a local teen center using React and Firebase to streamline student registration, sign-ins, and grant reporting. The app replaces outdated paper logs with a secure, efficient system that allows students to sign in and out in seconds using their student ID. Administrators can access real-time attendance data, generate detailed reports in seconds, and easily manage student records—all essential for grant applications.

Built with Firebase for secure data storage and authentication, the app ensures only authorized admin access, even on shared devices. Features like alphabetized search, paginated student records, and date-range reports were designed to save time and reduce errors. Usability was a priority: it's fast, intuitive, and responsive for use on Chromebooks or phones, and it minimizes database hits to optimize performance. This app has transformed the teen center's operations, saving them months of work and making it easier to secure funding—all while being loved by both students and administrators.

Explore New Artists

Featured Skills: React, JavaScript, API requests, HTML/JSX, SCSS, OAuth

Explore New Artists

Explore new artists and discover new music with this app! Log in securely with Spotify using OAuth, then search for an artist or song to see a list of similar artists and their genres. You can listen to their popular songs right in the app with a built-in music player or jump over to their Spotify page. The app also lets you explore related genres and keeps track of your recent searches so you can easily revisit artists you’ve discovered.

This app is built with React and pulls real-time data from Spotify's API. It offers a smooth, ad-free experience with thoughtful features like a sliding music player that stays out of the way when not in use. Whether you're clicking through similar artists or diving into new genres, it's the perfect way to browse music, find fresh sounds, and expand your library. I use it all the time to discover my next favorite artist!

WiFi-enabled Temperature Sensor

Featured Skills: C++, Arduino, ESP8266

WiFi-enabled Temperature Sensor

This WiFi-enabled temperature sensor was my introduction to physical computing, blending programming with microcontrollers to solve real-world problems. Designed to monitor fermenting beer, the sensor uses a waterproof probe to track temperature, uploading data to ThingSpeak.com and triggering IFTTT to send text alerts if the temperature goes out of range. An RGB LED provides instant feedback: green for good, red for too hot, and blue for too cold, making it easy to monitor without needing a screen. Buttons allow quick adjustments to the high and low temperature thresholds for different brews or stages of fermentation.

This project was both practical and fun, letting me explore the potential of IoT while ensuring the beer ferments perfectly. The result is a reliable system that keeps an eye on the beer even when no one else can. Full details are on Github, including a short demo video!

And more!

Paper CalculatorsPaper Calculators React {Code} {Site} - I created a set of paper crafting calculators for envelopes, gift bags, and boxes. Just input your desired dimensions, and the app calculates the paper size, fold lines, and assembly instructions. Built with React, it features reusable components and on-the-fly input validation for a seamless experience. I use this tool regularly for my paper projects—it's quick, accurate, and was a fun one-day build!
Gauge CalculatorGauge Calculator React {Code} {Site} - This handy knitting gauge calculator helps you find the right needle size or predict your gauge with precision. Simply input your current and desired gauge (or size) along with the needle used, and the app calculates the ideal needle size—or vice versa. It's flexible for various measurements, accepts fractions, and even suggests options when your ideal size falls between standard needle sizes.
Salad BuilderSalad Builder React {Site} - I built this salad planner to speed up making my weekly mason jar salads! The app calculates total nutrition as I add or adjust ingredients and servings, helping me balance nutrients and calories quickly. It includes a lettuce calculator that handles the tricky math of mixing lettuces and dividing them evenly among jars—perfect for customizing salads to fit my exact needs. It's a personal project to simplify lunch prep, not polished but incredibly effective!
Snake GameSnake Game JavaScript {Code} {Site} - I built a creative take on the classic Snake game, adding levels, power-ups, and challenges to keep it exciting! Use the arrow keys to guide your green snake, eat red food, and avoid crashing into yourself or the board edges. Level up every 5 pieces of food to speed up the game and earn more points, while chasing bonus items like blue water for double points and gold for triple points (plus a brief slowdown). Compete with friends by entering your name—high scores are displayed in the sidebar!
site built by Kate McFaul