Emmanuel Duncan's Work | ContraWork by Emmanuel Duncan
Emmanuel Duncan

Emmanuel Duncan

Frontend Developer | React & JavaScript | I Build Fast

Cover image for SpendWise 
A personal expense tracker
SpendWise A personal expense tracker built with HTML, CSS, and JavaScript. Users can add, edit, and delete income and expenses, with totals showing their income, spending, and remaining balance. Transactions are saved in localStorage, so they remain after refreshing the page. This project helped me practice working with arrays and objects, handling user interactions, calculating totals, and building a responsive interface.
0
4
Cover image for Recipe Finder 
A personal project
Recipe Finder A personal project built with React, JavaScript, and CSS. I built this app to help users search for recipes and view ingredients and cooking instructions. It retrieves recipe data from TheMealDB API and includes a responsive layout, loading indicators, and messages when no results are found. This project helped me practice API requests, React components, state management, and handling different search results.
0
4
Cover image for Job Application Tracker 
A personal
Job Application Tracker A personal project built with React, JavaScript, and CSS. I built this app to help users organize their job search. Users can add applications, update their status, and delete entries. Applications are saved in localStorage, so they remain after refreshing the page. This project helped me practice React components, state management, and building a responsive interface.
0
8
Cover image for Inventory System Manager 
A personal
Inventory System Manager A personal project built with HTML, CSS, and JavaScript. I built this app to help users organize product records. Users can add, edit, and delete products, search for items, and filter them by category. Records are saved in localStorage, so they remain after refreshing the page. This project helped me practice DOM manipulation, event handling, working with arrays and objects, and creating a responsive layout.
0
11