Better Filtering In JS Apps

Feedback is welcome via @chaluwa

Overview

Data randomly generated from http://www.generatedata.com/ representing info about developers and has the model below :

                [ {
                    "name": "Dara Dunn",
                    "dob": "Oct 12, 1988",
                    "city": "North Vancouver",
                    "country": "Chile",
                    "company": "Dolor Donec Fringilla Associates",
                    "tags": "GDE, Game"
                }, ... ];
            

Every entry has zero or several tags depicting their tech skills or preference. The tags were randomized from the following list :
PWA,Firebase,Cloud,Android,PHP,Go,Python,Git,Startups,Java,JavaScript,Ruby,Angular,React,Data Science,Machine Learning,VR,Game,Web,Mobile,AI,GDE,WTM,GDG,Polymer,UI/UX,Offline,APIs,Micro Services

Default (single or mutually exclusive) Filters With Angular

Filtering by either of the data fields works, but also try filtering with two queries (e.g a name and a country, separated by comma) to see that it fails

  100 of 100

Name DOB Company Location
Dara Dunn Oct 12, 1988 Dolor Donec Fringilla Associates North Vancouver, Chile
Fiona Bates Jul 20, 1989 Ac Consulting Avennes, Chile
Brittany Booth Mar 18, 1982 Ante Company Mobile, Benin
Veda Bradley Aug 3, 1994 Erat Eget Tincidunt LLP Sint-Kruis-Winkel, Sint Maarten
Jesse Thornton Aug 10, 1989 Risus Donec Foundation Pointe-aux-Trembles, Guam
Jaquelyn Kent Jul 9, 1985 Ac Eleifend Associates Kruibeke, Andorra
Juliet Hart Mar 12, 1995 Dapibus Rutrum Justo Associates Edremit, Canada
Debra Goodman Feb 11, 1977 Aliquam Inc. Cerchio, Guernsey
Donna Clark Feb 19, 1978 Nibh Industries Sneek, Bosnia and Herzegovina
Willow Shelton May 23, 1995 Ut Eros Non PC Mosciano Sant'Angelo, Indonesia
Melvin Marshall Oct 1, 1995 Eget Mollis Lectus PC Eisenhüttenstadt, Slovakia
Yoko Oneal Sep 21, 1978 Aenean Euismod Mauris Associates Orbais, Moldova
Evangeline Peck Jan 10, 1977 Praesent Eu LLP Gressan, Macao
Zenia Stanley Apr 15, 1987 Lacus Consulting Futaleufú, Saudi Arabia
Sybil Dickson Nov 8, 1989 Eget Ipsum Donec Industries Stornaway, Djibouti
Hillary Curry Jul 30, 1980 Augue Sed Molestie Ltd Mesa, Viet Nam
August Tran Feb 27, 1982 Dictum Mi Ac Limited Caramanico Terme, Puerto Rico
Daria Kim Jan 1, 1993 Vel Faucibus Corp. Lapscheure, Taiwan
Bo Raymond Apr 4, 1983 Venenatis Corporation Poggiorsini, Pakistan
Oleg Kramer Oct 22, 1983 At Consulting San Massimo, Bosnia and Herzegovina
Theodore Gallegos Jun 11, 1993 Non Lacinia At LLP Mobile, Malawi
Felicia Hensley May 11, 1993 Et LLP Santomenna, Luxembourg
Todd Bates Dec 30, 1981 Nunc Sed Pede Ltd Fresno, Czech Republic
Dominique Buckner Sep 14, 1981 Dapibus LLP Hathras, Sweden
Carlos Mercer Mar 13, 1983 Nec Consulting Castor, Heard Island and Mcdonald Islands
Laura Cleveland Oct 23, 1987 Adipiscing LLP Davangere, Gabon
Quintessa Fernandez Feb 2, 1992 Iaculis Inc. Karimnagar, Iceland
Fritz Mills Dec 6, 1995 Urna Nunc Industries San Nicolás, Bahamas
Jeanette Justice Nov 25, 1994 Consequat Industries Halberstadt, Madagascar
Bethany Burks Nov 8, 1996 Duis Dignissim Tempor Corp. Hulste, Armenia
Aiko Gilbert Nov 13, 1988 Urna Nullam Company Lahore, Tonga
Florence Rodriguez Dec 16, 1985 Suspendisse Sed Institute Montacuto, Bosnia and Herzegovina
Melyssa Gallagher Jun 12, 1996 Mus Proin Consulting Boston, Tuvalu
Jessamine Hale Feb 18, 1987 Et Eros Proin Industries Obaix, Togo
Lee Talley Sep 10, 1989 Id Libero Donec Institute Lodine, Brunei
Brock Mullins Oct 9, 1986 Iaculis Enim Sit Company Colchester, Papua New Guinea
Asher Cochran Feb 28, 1992 Ultrices Iaculis Corp. Blind River, Bahamas
Angelica Terrell Jan 2, 1985 Ut Dolor Dapibus Corporation Grimaldi, Chad
Taylor Clark Feb 15, 1989 Ligula Donec Luctus Institute Trento, Belize
Lacota Walker Nov 17, 1987 Quis Accumsan Convallis Ltd Torres del Paine, Palestine, State of
Clarke Garrett May 9, 1996 Odio Associates Bierges, Aruba
Gray Waters Apr 16, 1985 Gravida Sagittis Corporation Gouy-lez-PiŽton, Serbia
Yolanda Massey May 22, 1984 Et Netus Et Foundation Diets-Heur, Taiwan
Tara Roberts Mar 31, 1977 Cras Vulputate Incorporated Kuringen, Togo
Nayda Parrish Aug 22, 1990 Curae; LLP Roux, Panama
Piper Copeland Oct 11, 1995 Vulputate Mauris Ltd Fishguard, France
Len Cole Apr 4, 1996 Molestie Orci Inc. Hilo, Greenland
Elizabeth Yang Dec 25, 1994 Dignissim Maecenas Ornare LLP Bad Vöslau, United States
Ima Stout Apr 14, 1991 Arcu Eu Incorporated Skegness, Slovakia
Phoebe Chavez Feb 18, 1987 Pharetra LLC Gävle, Northern Mariana Islands
Eden Kennedy Jul 8, 1984 Pellentesque Tincidunt Limited Ukkel, Western Sahara
Bradley Mcdonald Oct 14, 1982 Nec Tempus Mauris Company Pitt Meadows, South Georgia and The South Sandwich Islands
Noble Ellis Nov 21, 1978 Non LLP Basirhat, Christmas Island
Joy Mcleod Dec 4, 1983 Mi Eleifend Limited Pudahuel, Sint Maarten
Drake Chaney May 18, 1993 Aliquam LLC Springdale, Turks and Caicos Islands
Andrew Rose Jan 7, 1986 Feugiat Company Anthisnes, Comoros
Darryl Graves Jul 8, 1996 In Consequat Enim LLC Maringá, Lithuania
Ora Mendez Apr 11, 1994 Dolor Vitae Dolor Limited Wansin, China
Madeline Daugherty Jul 4, 1993 Nibh Quisque Nonummy Corp. Elmshorn, Brazil
Brynne Wiggins Oct 20, 1982 Est Limited Zellik, Luxembourg
Kadeem Kidd Sep 12, 1986 Nisi Cum Sociis Incorporated Villers-aux-Tours, Belize
Georgia Robinson Nov 4, 1993 Nec Consulting Aosta, Côte D'Ivoire (Ivory Coast)
Hedwig Carroll Oct 1, 1982 Auctor Non Institute Diyarbakır, Somalia
Kibo Johnston Sep 29, 1986 Arcu Sed Inc. Ellikom, Singapore
Victor Sanchez Feb 23, 1988 Proin Dolor Nulla LLP Mendonk, Japan
Uriel Greene Nov 5, 1992 A Auctor Ltd Tintange, Central African Republic
Aurelia Garrett Nov 21, 1996 Vivamus Molestie Company Essex, Latvia
Winter Kirk Sep 19, 1993 Mauris PC Castelnovo del Friuli, Guinea-Bissau
Rhea Hayden Apr 4, 1993 Tellus Faucibus Leo Inc. Lumaco, Curaçao
Louis Lloyd Apr 7, 1995 Neque Company Frankston, Dominica
Thor Gomez Dec 29, 1991 In Lorem Donec Associates Gelbressee, Sri Lanka
Ulric Mcleod Jan 18, 1978 Praesent Luctus Company Edmonton, Belize
Lesley Crosby May 16, 1979 Orci Donec Nibh Ltd Helkijn, Wallis and Futuna
Alika Christensen Oct 13, 1983 Nisl Nulla Institute Bexbach, French Guiana
Adria Marsh Jul 12, 1982 Congue Turpis Industries Kitscoty, Tokelau
Melissa Mcknight Jan 5, 1977 Nulla In Incorporated Rhemes-Notre-Dame, Pakistan
Bell Lott Apr 1, 1991 Dapibus Corporation Oudergem, Puerto Rico
Destiny Pate Jan 11, 1996 Vestibulum Associates Van, Rwanda
Xavier Porter Oct 14, 1993 Volutpat Nulla Dignissim Foundation Molenbeersel, Botswana
Mira Mcdowell Dec 3, 1990 Mi Pede Associates Beverlo, Falkland Islands
Seth Cunningham Nov 16, 1994 Enim Mi Tempor Corp. Linkhout, Burundi
Sheila Cooper Aug 16, 1983 Nec Company Weyburn, Philippines
Lesley Gould Oct 14, 1982 Amet Consectetuer Ltd Namen, Hungary
Aubrey Holcomb Dec 19, 1988 Pharetra Nibh Aliquam LLC Cambrai, Guadeloupe
Ursa Woods Mar 27, 1989 Magnis Dis Ltd Torgiano, Tonga
Dieter Washington Dec 16, 1993 Turpis Egestas Aliquam LLP Berwick, Fiji
Jennifer Morales May 26, 1993 Etiam Gravida Inc. LaSalle, Oman
Breanna Roman Feb 28, 1984 Pulvinar Arcu Company Lieferinge, Virgin Islands, United States
Aretha Williamson Jul 26, 1982 Adipiscing PC Incourt, Sao Tome and Principe
Neville Matthews Nov 30, 1984 Ligula Nullam Enim Consulting San Giovanni Lipioni, Ecuador
Courtney Knowles Sep 30, 1994 Aliquet Libero Integer Institute Fuenlabrada, Togo
Ryder Stout Dec 14, 1991 Quisque LLC Dörtyol, Luxembourg
Emma Guthrie Aug 3, 1995 Cubilia Industries Stintino, Cambodia
Lance Nunez Mar 12, 1996 Nam Ligula Elit Institute Ede, Guam
McKenzie Hess Feb 25, 1991 Eleifend LLP Speyer, Angola
Tatum Riggs Apr 29, 1986 Ante Lectus Convallis LLC Marystown, Sierra Leone
Oscar Wright Feb 14, 1982 Etiam Imperdiet Corporation Watford, Mauritania
Elliott Browning Dec 12, 1992 Accumsan Interdum Ltd Kimberly, Chile
Simon Velasquez Jan 4, 1989 Adipiscing Mauris Foundation Maria, Korea, North
Kato Witt Oct 8, 1980 Malesuada Fringilla Industries Wolverhampton, Saudi Arabia

Multiple, Advanced, and Custom Filters - my experimentation so far

Q1, Q2, Q3, Q4 will display those born in the quarter of the year matching your query.

H1 or H2 will display those born in the half of the year matching your query.

To filter for developers keen on Firebase, type #Firebase. "#Firebase, #PWA" (i.e a comma separated query), will filter for developers keen on Firebase AND PWA. Thus, allowing you apply multiple filters to the data at the same time.

Way to go mehn ...

  100 of 100

Name DOB Company Location
Dara Dunn Oct 12, 1988 Dolor Donec Fringilla Associates North Vancouver, Chile
Fiona Bates Jul 20, 1989 Ac Consulting Avennes, Chile
Brittany Booth Mar 18, 1982 Ante Company Mobile, Benin
Veda Bradley Aug 3, 1994 Erat Eget Tincidunt LLP Sint-Kruis-Winkel, Sint Maarten
Jesse Thornton Aug 10, 1989 Risus Donec Foundation Pointe-aux-Trembles, Guam
Jaquelyn Kent Jul 9, 1985 Ac Eleifend Associates Kruibeke, Andorra
Juliet Hart Mar 12, 1995 Dapibus Rutrum Justo Associates Edremit, Canada
Debra Goodman Feb 11, 1977 Aliquam Inc. Cerchio, Guernsey
Donna Clark Feb 19, 1978 Nibh Industries Sneek, Bosnia and Herzegovina
Willow Shelton May 23, 1995 Ut Eros Non PC Mosciano Sant'Angelo, Indonesia
Melvin Marshall Oct 1, 1995 Eget Mollis Lectus PC Eisenhüttenstadt, Slovakia
Yoko Oneal Sep 21, 1978 Aenean Euismod Mauris Associates Orbais, Moldova
Evangeline Peck Jan 10, 1977 Praesent Eu LLP Gressan, Macao
Zenia Stanley Apr 15, 1987 Lacus Consulting Futaleufú, Saudi Arabia
Sybil Dickson Nov 8, 1989 Eget Ipsum Donec Industries Stornaway, Djibouti
Hillary Curry Jul 30, 1980 Augue Sed Molestie Ltd Mesa, Viet Nam
August Tran Feb 27, 1982 Dictum Mi Ac Limited Caramanico Terme, Puerto Rico
Daria Kim Jan 1, 1993 Vel Faucibus Corp. Lapscheure, Taiwan
Bo Raymond Apr 4, 1983 Venenatis Corporation Poggiorsini, Pakistan
Oleg Kramer Oct 22, 1983 At Consulting San Massimo, Bosnia and Herzegovina
Theodore Gallegos Jun 11, 1993 Non Lacinia At LLP Mobile, Malawi
Felicia Hensley May 11, 1993 Et LLP Santomenna, Luxembourg
Todd Bates Dec 30, 1981 Nunc Sed Pede Ltd Fresno, Czech Republic
Dominique Buckner Sep 14, 1981 Dapibus LLP Hathras, Sweden
Carlos Mercer Mar 13, 1983 Nec Consulting Castor, Heard Island and Mcdonald Islands
Laura Cleveland Oct 23, 1987 Adipiscing LLP Davangere, Gabon
Quintessa Fernandez Feb 2, 1992 Iaculis Inc. Karimnagar, Iceland
Fritz Mills Dec 6, 1995 Urna Nunc Industries San Nicolás, Bahamas
Jeanette Justice Nov 25, 1994 Consequat Industries Halberstadt, Madagascar
Bethany Burks Nov 8, 1996 Duis Dignissim Tempor Corp. Hulste, Armenia
Aiko Gilbert Nov 13, 1988 Urna Nullam Company Lahore, Tonga
Florence Rodriguez Dec 16, 1985 Suspendisse Sed Institute Montacuto, Bosnia and Herzegovina
Melyssa Gallagher Jun 12, 1996 Mus Proin Consulting Boston, Tuvalu
Jessamine Hale Feb 18, 1987 Et Eros Proin Industries Obaix, Togo
Lee Talley Sep 10, 1989 Id Libero Donec Institute Lodine, Brunei
Brock Mullins Oct 9, 1986 Iaculis Enim Sit Company Colchester, Papua New Guinea
Asher Cochran Feb 28, 1992 Ultrices Iaculis Corp. Blind River, Bahamas
Angelica Terrell Jan 2, 1985 Ut Dolor Dapibus Corporation Grimaldi, Chad
Taylor Clark Feb 15, 1989 Ligula Donec Luctus Institute Trento, Belize
Lacota Walker Nov 17, 1987 Quis Accumsan Convallis Ltd Torres del Paine, Palestine, State of
Clarke Garrett May 9, 1996 Odio Associates Bierges, Aruba
Gray Waters Apr 16, 1985 Gravida Sagittis Corporation Gouy-lez-PiŽton, Serbia
Yolanda Massey May 22, 1984 Et Netus Et Foundation Diets-Heur, Taiwan
Tara Roberts Mar 31, 1977 Cras Vulputate Incorporated Kuringen, Togo
Nayda Parrish Aug 22, 1990 Curae; LLP Roux, Panama
Piper Copeland Oct 11, 1995 Vulputate Mauris Ltd Fishguard, France
Len Cole Apr 4, 1996 Molestie Orci Inc. Hilo, Greenland
Elizabeth Yang Dec 25, 1994 Dignissim Maecenas Ornare LLP Bad Vöslau, United States
Ima Stout Apr 14, 1991 Arcu Eu Incorporated Skegness, Slovakia
Phoebe Chavez Feb 18, 1987 Pharetra LLC Gävle, Northern Mariana Islands
Eden Kennedy Jul 8, 1984 Pellentesque Tincidunt Limited Ukkel, Western Sahara
Bradley Mcdonald Oct 14, 1982 Nec Tempus Mauris Company Pitt Meadows, South Georgia and The South Sandwich Islands
Noble Ellis Nov 21, 1978 Non LLP Basirhat, Christmas Island
Joy Mcleod Dec 4, 1983 Mi Eleifend Limited Pudahuel, Sint Maarten
Drake Chaney May 18, 1993 Aliquam LLC Springdale, Turks and Caicos Islands
Andrew Rose Jan 7, 1986 Feugiat Company Anthisnes, Comoros
Darryl Graves Jul 8, 1996 In Consequat Enim LLC Maringá, Lithuania
Ora Mendez Apr 11, 1994 Dolor Vitae Dolor Limited Wansin, China
Madeline Daugherty Jul 4, 1993 Nibh Quisque Nonummy Corp. Elmshorn, Brazil
Brynne Wiggins Oct 20, 1982 Est Limited Zellik, Luxembourg
Kadeem Kidd Sep 12, 1986 Nisi Cum Sociis Incorporated Villers-aux-Tours, Belize
Georgia Robinson Nov 4, 1993 Nec Consulting Aosta, Côte D'Ivoire (Ivory Coast)
Hedwig Carroll Oct 1, 1982 Auctor Non Institute Diyarbakır, Somalia
Kibo Johnston Sep 29, 1986 Arcu Sed Inc. Ellikom, Singapore
Victor Sanchez Feb 23, 1988 Proin Dolor Nulla LLP Mendonk, Japan
Uriel Greene Nov 5, 1992 A Auctor Ltd Tintange, Central African Republic
Aurelia Garrett Nov 21, 1996 Vivamus Molestie Company Essex, Latvia
Winter Kirk Sep 19, 1993 Mauris PC Castelnovo del Friuli, Guinea-Bissau
Rhea Hayden Apr 4, 1993 Tellus Faucibus Leo Inc. Lumaco, Curaçao
Louis Lloyd Apr 7, 1995 Neque Company Frankston, Dominica
Thor Gomez Dec 29, 1991 In Lorem Donec Associates Gelbressee, Sri Lanka
Ulric Mcleod Jan 18, 1978 Praesent Luctus Company Edmonton, Belize
Lesley Crosby May 16, 1979 Orci Donec Nibh Ltd Helkijn, Wallis and Futuna
Alika Christensen Oct 13, 1983 Nisl Nulla Institute Bexbach, French Guiana
Adria Marsh Jul 12, 1982 Congue Turpis Industries Kitscoty, Tokelau
Melissa Mcknight Jan 5, 1977 Nulla In Incorporated Rhemes-Notre-Dame, Pakistan
Bell Lott Apr 1, 1991 Dapibus Corporation Oudergem, Puerto Rico
Destiny Pate Jan 11, 1996 Vestibulum Associates Van, Rwanda
Xavier Porter Oct 14, 1993 Volutpat Nulla Dignissim Foundation Molenbeersel, Botswana
Mira Mcdowell Dec 3, 1990 Mi Pede Associates Beverlo, Falkland Islands
Seth Cunningham Nov 16, 1994 Enim Mi Tempor Corp. Linkhout, Burundi
Sheila Cooper Aug 16, 1983 Nec Company Weyburn, Philippines
Lesley Gould Oct 14, 1982 Amet Consectetuer Ltd Namen, Hungary
Aubrey Holcomb Dec 19, 1988 Pharetra Nibh Aliquam LLC Cambrai, Guadeloupe
Ursa Woods Mar 27, 1989 Magnis Dis Ltd Torgiano, Tonga
Dieter Washington Dec 16, 1993 Turpis Egestas Aliquam LLP Berwick, Fiji
Jennifer Morales May 26, 1993 Etiam Gravida Inc. LaSalle, Oman
Breanna Roman Feb 28, 1984 Pulvinar Arcu Company Lieferinge, Virgin Islands, United States
Aretha Williamson Jul 26, 1982 Adipiscing PC Incourt, Sao Tome and Principe
Neville Matthews Nov 30, 1984 Ligula Nullam Enim Consulting San Giovanni Lipioni, Ecuador
Courtney Knowles Sep 30, 1994 Aliquet Libero Integer Institute Fuenlabrada, Togo
Ryder Stout Dec 14, 1991 Quisque LLC Dörtyol, Luxembourg
Emma Guthrie Aug 3, 1995 Cubilia Industries Stintino, Cambodia
Lance Nunez Mar 12, 1996 Nam Ligula Elit Institute Ede, Guam
McKenzie Hess Feb 25, 1991 Eleifend LLP Speyer, Angola
Tatum Riggs Apr 29, 1986 Ante Lectus Convallis LLC Marystown, Sierra Leone
Oscar Wright Feb 14, 1982 Etiam Imperdiet Corporation Watford, Mauritania
Elliott Browning Dec 12, 1992 Accumsan Interdum Ltd Kimberly, Chile
Simon Velasquez Jan 4, 1989 Adipiscing Mauris Foundation Maria, Korea, North
Kato Witt Oct 8, 1980 Malesuada Fringilla Industries Wolverhampton, Saudi Arabia

Possible improvement to this implementation could be to be explicit on how to combine multiple filters. The comma in "#Firebase, #PWA" is a tad ambigious, right now it means, #Firebase AND #PWA. So how do we filter for developers tagged with Firebase but not PWA ?

Maybe we can use "+" to indicate AND, "|" to indicate OR, and "!" to indicate negation, such that "#Firebase +#PWA !Q1" will mean "gimme devs tagged with Firebase and PWA who were not born in Q1", and "#Firebase |#GDE !Q1" will mean "gimme devs tagged with Firebase or GDE who were not born in Q1".
Sounds good ? or too cryptic for app users ?