Hello, I'm

neeco

Here are some of my programming projects.

articulat3 articulat3
articulat3

A service for generating 3D objects from text prompts.

  • Deployed a web app to easily create and export custom object files.
  • Created a gallery for users to browse, search, and share creations.
  • Developed in an Agile team: code reviews, story refinement, project management.
  • Submitted 5 deliverables: development plans, code releases, reports, presentations.
  • In collaboration with TISL. Based on threestudio framework.
  • Made with React, TypeScript, shadcn/ui, Tailwind CSS
Repo
HelpWanted HelpWanted
HelpWanted.js

A frontend JavaScript library for generating website tours and tutorials.

  • Developers can construct a series of modals viewed in:
    • Guided Mode - Users navigate through a sequence of dialogs pinned to HTML elements.
    • Discovery Mode - Users hover on highlighted elements to view pop-up annotations.
  • An exercise in DOM manipulation.
  • Deployed a Heroku website to show API details, usage examples, and demos.
  • Wrote reports detailing the product proposal and alpha release.
  • Made with HTML, CSS, Javascript
Repo Proposal Alpha Release Report
speedrun.com
speedrun.com Inquiry

A data analysis project on speedrun.com’s gaming and user database.

  • Wrote Python scripts to fetch JSON data using REST API and clean up .csv files.
  • Constructed a DDL schema and populated tables with wrangled data.
  • Performed SQL queries to identify trends and answer research questions:
    1. Who are the best of the best?
    2. Are speed runners improving over time?
    3. Do some players have unfair advantages?
  • Aggregated the results into visuals and presented findings.
  • Made with PostgreSQL, DDL, Python
Repo Findings
Conference Manager
Conference Manager

A hub for managing large conferences.

  • Join as an organizer, attendee, or speaker.
  • Sign up for events and view a sorted schedule.
  • Chat and network with attendees, speakers, and organizers.
  • Get suggestions when creating events, rooms, and amenities.
  • See conference statistics, receive event reminders.
  • Join the conference Discord server.
  • Made with Java, Twilio, Discord API
Repo
Outhouse
Outhouse

A crowdsourcing platform to locate, review, and report public restrooms.

  • Incorporated Google Maps API for an interactive map.
  • Developed form flows to let users write reviews, add new restrooms.
  • Created a dashboard for admin users to perform CRUD operations.
  • Implemented a RESTful API with Express for the backend.
  • Designed on Figma. Deployed with Heroku.
  • Made with React, Express, MongoDB, Google Maps API
Repo
neecofabian.com
neecofabian.com

My personal website. Look around!

  • Made with
    • A handful of HTML and CSS
    • A dash of Vanilla-Tilt.js
    • A touch of JQuery
    • A sprinkle of GSAP animations
    • And a partridge in a pear tree.
  • A work in progress, like me.
Repo
Centipede
Centipede

A remake of the classic arcade game.

  • Hit the centipede to split it into smaller parts.
  • Shoot mushrooms three times to remove them.
  • Protect yourself from falling fleas.
  • Play with a friend as a team of two.
  • Don't get hit or game over!
  • Made with Assembly Language
Demo
Bowlo Bowlo
Bowlo

A decentralized learning platform for global affairs.

  • A vision of unfiltered learning. Currently a proof of concept.
  • Share lessons about history, politics, and current events.
  • Read personal stories from people living in oppressed regions.
  • Built on a decentralized network, ensuring reliability and freedom of speech.
  • A bowl of stories. A bowl of friends.
  • Made with GunDB, TypeScript, Svelte, Docker
  • Made at Hack the North 2021
Repo Demo
illuminote illuminote
illuminote

A Mixed Reality multiplayer game in the dark.

  • Place sticky notes on a TV, projector screen, or monitor.
  • Scan with your phone to build a custom map.
  • Teleport and bounce bullets using the sticky notes.
  • Hide in the dark and find the enemy by firing glowing bullets.
  • Shoot your opponent to win!
  • Made with Python, OpenCV
  • Made at Hack the North 2020++
Repo Demo
senso senso senso
senso

An app to fidget and focus.

  • Tilt the phone to steer the ball.
  • Feel the haptic feedback.
  • Toggle the volume buttons for more vibrations.
  • Calibrate the ball using the screen.
  • Made with Java, Android Studio
  • Made at Hack the North 2019
Repo Demo
LAX LAX LAX LAX LAX
LAX

A relaxation and productivity centre.

  • Breathe - follow visual breathing exercises.
  • Release - jot worries and release when ready.
  • Remember - create flash cards.
  • Secured with password protection.
  • Toggle between light and dark modes.
  • Made with JavaFX
Repo
GitHub

Look inside my toolbox.

Java
Python
C
C#
SQL
Assembly
Bash
R
HTML
CSS
JavaScript
TypeScript
React
Vue.js
Express
Node.js

A portfolio of UI/UX projects I designed.

Bike Share Toronto
Bike Share Toronto App

A design solution to improve service availability across Toronto.

  1. Deployed surveys and conducted interviews to identify current issues.
  2. Condensed user research into an experience map.
  3. Designed new mobile app features for: reservations, rewards, bike transfers.
  4. Created paper and Figma prototypes.
  5. Conducted usability tests to evaluate and tweak designs.
  6. Delivered 3 reports and 4 presentations about research findings.

Explore project deliverables:

Experience Map Paper Prototype Figma Designs Figma Prototype Final Presentation
Wi-Find Wi-Find Wi-Find
Wi-Find

A research project about digital nomads, leading to a mobile app design. Eases the search for reliable work amenities, such as Wi-Fi, when travelling abroad.

  1. Conducted background research and surveys on the problem space.
  2. Identified personas, stakeholders, requirements, and key tasks.
  3. Converted findings into paper and Figma prototypes.
  4. Refined designs after tests: cognitive walkthroughs, think alouds
  5. Submitted 6 reports, 4 presentations to demo the app and results.

Browse project deliverables:

Survey Survey Results Paper Prototype Figma Designs Figma Prototype Final Presenation
135 135 135 135
pixel 135

Between May and September 2020, I created 400 pixel art snippets for fun!

  • Each piece is:
    • Shaped as a crest.
    • Coloured with the Endesga 64 palette.
    • Drawn with at most, 135 pixels.
  • Made using Sprite Pencil.
  • This gallery features all snippets in chronological order.
  • Watch my creations improve in the 4 months I was stuck indoors.

Every pixel counts.

Pixel Art Gallery
misc. misc. misc.
misc.

A collection of miscellaneous visual works from multiple projects.

  1. A screenshots archive of frontend designs I implemented.
  2. Logos, icons, and graphics designed for this website.
  3. A sample of early mockups done at the start of a project.
  4. A custom slide deck created for a data inquiry project.

Look around:

1. UI Screenshots Archive 2. Website Assets 3. Low-Fi Design Process 4. Inquiry Slides
Computer Science Specialist @
University of Toronto

Some courses I completed during my undergraduate degree.

CSC
485
CSC485 bubbles
CSC485 Computational Linguistics
 grammars • parsing • dependency graphs • projectivity • Chu-Lie-Edmonds algorithm •
 grammars • parsing • dependency graphs • projectivity • Chu-Lie-Edmonds algorithm •
 lexicon • syntax • semantics • pragmatics • ambiguity • thematic roles • case • grammatical function • phrase • context-free grammar •
 lexicon • syntax • semantics • pragmatics • ambiguity • thematic roles • case • grammatical function • phrase • context-free grammar •
 WordNet • word2vec • BERT • word sense disambiguation • context • agreement features • voice •
 WordNet • word2vec • BERT • word sense disambiguation • context • agreement features • voice •
 PRPN • supertagging • recurrent neural networks • combinatory categorial grammar • tree adjoining grammar • charts •
 PRPN • supertagging • recurrent neural networks • combinatory categorial grammar • tree adjoining grammar • charts •
CSC
458
CSC458 network
CSC458 Computer Networks
 4-Layer Network Model • bandwidth • latency • encoding • error detection • parity • switch tables • DNS • packets •
 4-Layer Network Model • bandwidth • latency • encoding • error detection • parity • switch tables • DNS • packets •
 IP • forwarding • routing • Bellman-Ford algo • distance vectors • Dijkstra's algo • link states •
 IP • forwarding • routing • Bellman-Ford algo • distance vectors • Dijkstra's algo • link states •
 autonomous systems • BGP • UDP • TCP • congestion control • flow control • retransmission • Nagle's algo • middleboxes • RED •
 autonomous systems • BGP • UDP • TCP • congestion control • flow control • retransmission • Nagle's algo • middleboxes • RED •
 SDNs • Data Center Networks • architecture • overlay networks • tunneling •
 SDNs • Data Center Networks • architecture • overlay networks • tunneling •
CSC
428
CSC428 cursor click
CSC428 Human-Computer Interaction
 designer mindset • interventions • cognitive load • psychology • mental health • eustress • reflections •
 designer mindset • interventions • cognitive load • psychology • mental health • eustress • reflections •
 study design • research question • research plan • pilot testing • peer review •
 study design • research question • research plan • pilot testing • peer review •
 randomized A/B experiments • statistical analysis • ML & AI applications •
 randomized A/B experiments • statistical analysis • ML & AI applications •
 collective intelligence • crowdsourcing • participatory design • stakeholders •
 collective intelligence • crowdsourcing • participatory design • stakeholders •
CSC
396
CSC396 eye
CSC396 Designing Systems for
Real World Problems
 user experience • problem space • target audience • literature review • keyhole impact • design processes •
 user experience • problem space • target audience • literature review • keyhole impact • design processes •
 personas • scenarios • experience maps • design principles • task analysis • requirements •
 personas • scenarios • experience maps • design principles • task analysis • requirements •
 prototypes • conceptual models • constraints • standards • usability testing •
 prototypes • conceptual models • constraints • standards • usability testing •
 System Usability Score • Net Promoter Score • reports & data visualization • prototype iteration •
 System Usability Score • Net Promoter Score • reports & data visualization • prototype iteration •
CSC
373
CSC373 venn
CSC373 Algorithm Design, Analysis, & Complexity
 divide & conquer • Master Theorem • greedy algorithms • interval scheduling • partitioning • minimize lateness • Huffman encoding •
 divide & conquer • Master Theorem • greedy algorithms • interval scheduling • partitioning • minimize lateness • Huffman encoding •
 dynamic programming • top-down • bottom-up • knapsack • travelling salesman •
 dynamic programming • top-down • bottom-up • knapsack • travelling salesman •
 network flow • residual graphs • Ford-Fulkerson algo • min-cut max-flow • Edmonds-Karp algo • bipartite matching • Hall's Marriage theorem •
 network flow • residual graphs • Ford-Fulkerson algo • min-cut max-flow • Edmonds-Karp algo • bipartite matching • Hall's Marriage theorem •
 linear programming • standard form • simplex algo • primal • dual • P • NP-complete • co-NP • reductions • randomized algorithms •
 linear programming • standard form • simplex algo • primal • dual • P • NP-complete • co-NP • reductions • randomized algorithms •
CSC
369
CSC369 file
CSC369 Operating Systems
 file systems • directories • links • inodes • disk layout • data block allocation • superblock • free map • FFS • NTFS • crashing •
 file systems • directories • links • inodes • disk layout • data block allocation • superblock • free map • FFS • NTFS • crashing •
 processes • fork • zombies • interrupts • system calls • threads • scheduling • synchronization •
 processes • fork • zombies • interrupts • system calls • threads • scheduling • synchronization •
 locks • signal • broadcast • condition variables • semaphores • deadlock • attacks •
 locks • signal • broadcast • condition variables • semaphores • deadlock • attacks •
 page replacement • page tables • TLBs • virtual memory • process scheduling •
 page replacement • page tables • TLBs • virtual memory • process scheduling •
CSC
343
CSC343 table
CSC343 Intro to Databases
 relational model • schemas • attribute • cardinality • arity • keys • superkeys • foreign keys • referential integrity constraints •
 relational model • schemas • attribute • cardinality • arity • keys • superkeys • foreign keys • referential integrity constraints •
 relational algebra • projection • Cartesian product • natural join • • theta join • set operations •
 relational algebra • projection • Cartesian product • natural join • • theta join • set operations •
 DBMS • SQL • DML • subqueries • groupby • orderby • having • removing duplication • operators • scope •
 DBMS • SQL • DML • subqueries • groupby • orderby • having • removing duplication • operators • scope •
 DDL • functional dependency theory • decomposition • BCNF • 3NF • Chase test • Entity/Relationship model •
 DDL • functional dependency theory • decomposition • BCNF • 3NF • Chase test • Entity/Relationship model •
CSC
318
CSC318 double diamond
CSC318 Design of Interactive Computational Media
 usefulness • usability • Double-Diamond Design Model • user-centered design • user research •
 usefulness • usability • Double-Diamond Design Model • user-centered design • user research •
 POV statements • observations • problem statement • research question • interviews • questionnaires • biases •
 POV statements • observations • problem statement • research question • interviews • questionnaires • biases •
 design requirements • experience maps • paper prototypes • storyboards • personas • job stories • stakeholders • empathy maps •
 design requirements • experience maps • paper prototypes • storyboards • personas • job stories • stakeholders • empathy maps •
 think aloud • heuristic evaluation • cognitive walkthroughs • high-fidelity prototypes • user testing •
 think aloud • heuristic evaluation • cognitive walkthroughs • high-fidelity prototypes • user testing •
CSC
311
CSC311 input output
CSC311 Intro to Machine Learning
 input vectors • decision boundaries • kNN • training set • validation set • test set •
 input vectors • decision boundaries • kNN • training set • validation set • test set •
 decision trees • entropy • bias-variance decomposition • Bayes optimality • bagging • linear regression • supervised learning •
 decision trees • entropy • bias-variance decomposition • Bayes optimality • bagging • linear regression • supervised learning •
 gradient descent • feature mapping • regularization • logistic regression • softmax regression • ROC curve •
 gradient descent • feature mapping • regularization • logistic regression • softmax regression • ROC curve •
 multilayer perceptrons • backpropagation • convolution layers • GDA • PCA • K-means • GMM • reinforcement learning •
 multilayer perceptrons • backpropagation • convolution layers • GDA • PCA • K-means • GMM • reinforcement learning •
CSC
309
CSC309 globe
CSC309 Programming on the Web
 World Wide Web • URL • HTTP • DNS • Network 4-Layer Model • client • server •
 World Wide Web • URL • HTTP • DNS • Network 4-Layer Model • client • server •
 HTML • CSS • JavaScript • ES6 • hoisting • closures • objects • scope • prototypes • callbacks • listeners • promises •
 HTML • CSS • JavaScript • ES6 • hoisting • closures • objects • scope • prototypes • callbacks • listeners • promises •
 DOM • Virtual DOM • frameworks • libraries • React • transpiling • event loop • JSON • state • hooks •
 DOM • Virtual DOM • frameworks • libraries • React • transpiling • event loop • JSON • state • hooks •
 Node.js • express • MongoDB • models • authentication • cookies • sessions • HTTPS • TLS • keys • OWASP • OAuth •
 Node.js • express • MongoDB • models • authentication • cookies • sessions • HTTPS • TLS • keys • OWASP • OAuth •
CSC
301
CSC301 code
CSC301 Intro to Software Engineering
 Agile • Scrum • sprints • standups • XP • Kanban • Test Driven Development • Waterfall •
 Agile • Scrum • sprints • standups • XP • Kanban • Test Driven Development • Waterfall •
 personas • user stories • story points • planning poker • Class Responsibilities Collaborators •
 personas • user stories • story points • planning poker • Class Responsibilities Collaborators •
 REST • MVC • 3-tiered • burndown chart • sprint reviews • backlog • scrum master •
 REST • MVC • 3-tiered • burndown chart • sprint reviews • backlog • scrum master •
 testing • development • deployment • CI/CD • peer reviews • code styles • refactoring •
 testing • development • deployment • CI/CD • peer reviews • code styles • refactoring •
CSC
300
CSC300 people
CSC300 Computers & Society
 ethics • virtues • categorical imperative • utilitarianism • hybrid constructivism • infrastructure •
 ethics • virtues • categorical imperative • utilitarianism • hybrid constructivism • infrastructure •
 data politics • data analysis • privacy principles • surveillance capitalism • digital footprints • panopticon •
 data politics • data analysis • privacy principles • surveillance capitalism • digital footprints • panopticon •
 extraction • emissions • e-waste • broken world thinking • right to repair • copyright • intellectual property • fair-use •
 extraction • emissions • e-waste • broken world thinking • right to repair • copyright • intellectual property • fair-use •
 gender disparity • sexuality • race • intersectionality • modernization • digital colonialism •
 gender disparity • sexuality • race • intersectionality • modernization • digital colonialism •
CSC
263
CSC263 tree
CSC263 Data Structures & Analysis
 priority queue (heaps) • dictionary (AVL trees) • ADTs • disjoint set (path compression) •
 priority queue (heaps) • dictionary (AVL trees) • ADTs • disjoint set (path compression) •
 algorithms • random quicksort • Breadth First Search • Depth First Search • Prim’s • Kruskal’s •
 algorithms • random quicksort • Breadth First Search • Depth First Search • Prim’s • Kruskal’s •
 closed addressing • open addressing • hashing • linear, quadratic probing • double hashing •
 closed addressing • open addressing • hashing • linear, quadratic probing • double hashing •
 aggregate method • accounting method • WC sequence complexity • amortized analysis
 aggregate method • accounting method • WC sequence complexity • amortized analysis
CSC
258
CSC258 processor
CSC258 Computer Organization
 semiconductors • junctions • circuit design • transistors • gates •
 semiconductors • junctions • circuit design • transistors • gates •
 sequential circuits • multiplexers • adders • comparators • latches • clocks • registers •
 sequential circuits • multiplexers • adders • comparators • latches • clocks • registers •
 sequence recognizer • state tables • Finite State Machines • flip flops •
 sequence recognizer • state tables • Finite State Machines • flip flops •
 control unit • RAM • microprocessors • program counter • registers • ALU •
 control unit • RAM • microprocessors • program counter • registers • ALU •
CSC
236
CSC236 state transitions
CSC236 Intro to the
Theory of Computation
 simple • complete • structural • induction types • Principle of Well Ordering •
 simple • complete • structural • induction types • Principle of Well Ordering •
 divide-and-conquer algorithms • Master Theorem • Pumping Lemma • recurrence relation •
 divide-and-conquer algorithms • Master Theorem • Pumping Lemma • recurrence relation •
 runtime analysis of recursive programs • repeated substitution •
 runtime analysis of recursive programs • repeated substitution •
 partial correctness • recursive and iterative correctness proofs • termination • invariants •
 partial correctness • recursive and iterative correctness proofs • termination • invariants •
CSC
209
CSC209 processes
CSC209 Systems Programming
 dynamic memory allocation • C • function pointers • strings • structs •
 dynamic memory allocation • C • function pointers • strings • structs •
 shell programming • Unix • compilation • permissions •
 shell programming • Unix • compilation • permissions •
 pipes • fork • wait • dup2 • redir • sockets • select •
 pipes • fork • wait • dup2 • redir • sockets • select •
 processes • signals • system calls • error handling •
 processes • signals • system calls • error handling •
CSC
207
CSC207 dependency layers
CSC207 Software Design
 UML • CRC • Java • Javadoc • version control (Git) • regular expressions •
 UML • CRC • Java • Javadoc • version control (Git) • regular expressions •
 dependency injection • observer • factory • design patterns • facade • iterator •
 dependency injection • observer • factory • design patterns • facade • iterator •
 SOLID principles • abstraction • encapsulation • low coupling • high cohesion •
 SOLID principles • abstraction • encapsulation • low coupling • high cohesion •
 Clean Architecture • Model View Presenter Architecture •
 Clean Architecture • Model View Presenter Architecture •
CSC
165
CSC165 qed
CSC165 Math Expression & Reasoning for CS
 notation • sets • predicate logic • ¬ • ∧ • ∨ • ⇒ • ⇔ • ∀ • ∃ •
 notation • sets • predicate logic • ¬ • ∧ • ∨ • ⇒ • ⇔ • ∀ • ∃ •
 direct • cases • simple induction • proof techniques • contradiction • contrapositive • disproofs •
 direct • cases • simple induction • proof techniques • contradiction • contrapositive • disproofs •
 runtime analysis of iterative programs • worst case • best case • average case •
 runtime analysis of iterative programs • worst case • best case • average case •
 modular arithmetic • primes • binary representation • number theory
 modular arithmetic • primes • binary representation • number theory
CSC
148
CSC148 stack
CSC148 Intro to Computer Science
 Big O • Big Ω • Big Θ • asymptotic runtime analysis
 Big O • Big Ω • Big Θ • asymptotic runtime analysis
 abstract data types • linked list • stack • queue • binary tree • multiset •
 abstract data types • linked list • stack • queue • binary tree • multiset •
 binary search • bubble sort • sort & search algorithms • selection sort • insertion sort •
 binary search • bubble sort • sort & search algorithms • selection sort • insertion sort •
 recursion • binary search tree • mergesort • quick sort •
 recursion • binary search tree • mergesort • quick sort •
CSC
108
CSC108 shape classes
CSC108 Intro to Computer Programming
 loops • if statements • programming fundamentals • functions • classes •
 loops • if statements • programming fundamentals • functions • classes •
 function design recipe • string manipulation • nested data structures •
 function design recipe • string manipulation • nested data structures •
 primitive data types • int • bool • str • compound data types • lists • tuples • dictionaries •
 primitive data types • int • bool • str • compound data types • lists • tuples • dictionaries •
 inheritance • polymorphism • aliasing • object-oriented programming
 inheritance • polymorphism • aliasing • object-oriented programming

What you're looking for.

MY RESUME

Have a comment?
A position that suits me?
A heartfelt message?


Reach out. I don’t bite!

if you.are_interested:

Email Copied!
else: