Repository files navigation

What is lucyd?

lucyd is a music recommendation tool developed by four graduate students in UC Berkeley's Master of Information and Data Science (MIDS) program.

Why is it different?

lucyd let's you ask for music recommendations using whichever terms you want. lucyd seeks to demystify the typical "black box" music recommendation algorithm by not only giving you the freedom to customize your recommended playlists, but by giving you interactive tools and visualizations so you learn about your music while you explore.

lucyd offers something different. Our algorithm focuses on you--how do you perceive a song, and how can that be used to find new ones?

Who is lucyd for?

lucyd is a tool for people who are curious about music. If your favorite pasttime is perusing music blogs, clicking into the depths of your streaming service, or curating your own playlists, lucyd can provide you with more tools to navigate the worlds music.

Down to the data science

Designing lucyd required several steps:

  • Algorithms: Outline framework and requirements of a music recommendation algorithm based upon user-determined "tags", rather than song and/or artist attributes.
  • Data Source(s): Identify potential data sources to "teach" the recommendation algorithm.
  • Visualizations: Develop visualizations that help the user understand the songs in their playlist, and the ones nearby
  • Application Framework: Combine all of these elements into a live web application that allows the user to influence and learn from the songs recommended by lucyd.

About the developers

Tim Spittle

Product Design & Web Development
github | LinkedIn
Tim is an economic consultant in Boston, MA where he works on complex data modeling engagements. For lucyd he was responsible for the product design and connecting the work of the team into a web application. In his free time he enjoys long walks on the beach. He also enjoys short walks on the beach.
Primary Skills Developed: Django web framework (+ HTML, CSS, JavaScript), Cloud serverless web development (AWS: API Gateway, Lambda, IAM, CloudWatch, CloudFront, Route 53, Certificate Manager)

Kyle Redfield

Cloud Data Architect
github | LinkedIn
Kyle is a federal data science consultant in Washington DC. His professional work focuses on interacting with Medicare health claims databases and designing auditing and monitoring algorithms to identify non-compliance or risk. He leveraged this experience to scale lucyd's cloud infrastructure, developing the databases, data pipeline, and query structure that supports user interaction with the data.
Primary Skills Developed: Cloud Architecture (Amazon RDS mySQL, DynamoDB, DataPipeline, S3); Cloud Machine Learning (AWS EC2, AWS Sagemaker); Cloud serverless web development (AWS API Gateway, AWS Lambda, AWS IAM User Management); Python; SciPy

Michael Ballschmiede

Algorithmic Design
github | LinkedIn
Mike is a Chicago-based derivatives trader who enjoys live music and his mini Bernedoodle, Hugo. At a young age he developed an internal algorithm to identify the most efficient checkout line at any given supermarket; rumor has it he has never been wrong. He tried to replicate some of this magic in the development of lucyd, where he focused on algorithmic design and user interactivity.
Primary Skills Developed: Python, AWS cloud machine learning & serverless web development (API Gateway, Lambda, SageMaker, S3)

Hanna Rocks

User Interface & Project Management
github | LinkedIn
Hanna is a technology consultant working in the Customer Experience (CX) industry out of Bozeman, Montana. For most of the project, Hanna was responsible for building visualizations in D3, but in the final week discovered AJAX and re-arranged how everything on the front-end fit together so she could add some progress spinners. Thankfully, it worked out.
Primary Skills Developed: HTML, CSS, JQuery, JavaScript & D3

About MIDS

We developed lucyd during the course of our Capstone semester in UC Berkeley's Master of Information and Data Science (MIDS) program. MIDS offers a comprehensive curriculum in data science, including courses focused on computer science, machine learning at scale and legal, policy and ethical issues.

About

MIDS Capstone 2020 - lucyd is a music recommendation platform that enables users to interact with and learn from their music recommendations

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

What is lucyd?

lucyd is a music recommendation tool developed by four graduate students in UC Berkeley's Master of Information and Data Science (MIDS) program.

Why is it different?

lucyd let's you ask for music recommendations using whichever terms you want. lucyd seeks to demystify the typical "black box" music recommendation algorithm by not only giving you the freedom to customize your recommended playlists, but by giving you interactive tools and visualizations so you learn about your music while you explore.

lucyd offers something different. Our algorithm focuses on you--how do you perceive a song, and how can that be used to find new ones?

Who is lucyd for?

lucyd is a tool for people who are curious about music. If your favorite pasttime is perusing music blogs, clicking into the depths of your streaming service, or curating your own playlists, lucyd can provide you with more tools to navigate the worlds music.

Down to the data science

Designing lucyd required several steps:

  • Algorithms: Outline framework and requirements of a music recommendation algorithm based upon user-determined "tags", rather than song and/or artist attributes.
  • Data Source(s): Identify potential data sources to "teach" the recommendation algorithm.
  • Visualizations: Develop visualizations that help the user understand the songs in their playlist, and the ones nearby
  • Application Framework: Combine all of these elements into a live web application that allows the user to influence and learn from the songs recommended by lucyd.

About the developers

Tim Spittle

Product Design & Web Development
github | LinkedIn
Tim is an economic consultant in Boston, MA where he works on complex data modeling engagements. For lucyd he was responsible for the product design and connecting the work of the team into a web application. In his free time he enjoys long walks on the beach. He also enjoys short walks on the beach.
Primary Skills Developed: Django web framework (+ HTML, CSS, JavaScript), Cloud serverless web development (AWS: API Gateway, Lambda, IAM, CloudWatch, CloudFront, Route 53, Certificate Manager)

Kyle Redfield

Cloud Data Architect
github | LinkedIn
Kyle is a federal data science consultant in Washington DC. His professional work focuses on interacting with Medicare health claims databases and designing auditing and monitoring algorithms to identify non-compliance or risk. He leveraged this experience to scale lucyd's cloud infrastructure, developing the databases, data pipeline, and query structure that supports user interaction with the data.
Primary Skills Developed: Cloud Architecture (Amazon RDS mySQL, DynamoDB, DataPipeline, S3); Cloud Machine Learning (AWS EC2, AWS Sagemaker); Cloud serverless web development (AWS API Gateway, AWS Lambda, AWS IAM User Management); Python; SciPy

Michael Ballschmiede

Algorithmic Design
github | LinkedIn
Mike is a Chicago-based derivatives trader who enjoys live music and his mini Bernedoodle, Hugo. At a young age he developed an internal algorithm to identify the most efficient checkout line at any given supermarket; rumor has it he has never been wrong. He tried to replicate some of this magic in the development of lucyd, where he focused on algorithmic design and user interactivity.
Primary Skills Developed: Python, AWS cloud machine learning & serverless web development (API Gateway, Lambda, SageMaker, S3)

Hanna Rocks

User Interface & Project Management
github | LinkedIn
Hanna is a technology consultant working in the Customer Experience (CX) industry out of Bozeman, Montana. For most of the project, Hanna was responsible for building visualizations in D3, but in the final week discovered AJAX and re-arranged how everything on the front-end fit together so she could add some progress spinners. Thankfully, it worked out.
Primary Skills Developed: HTML, CSS, JQuery, JavaScript & D3

About MIDS

We developed lucyd during the course of our Capstone semester in UC Berkeley's Master of Information and Data Science (MIDS) program. MIDS offers a comprehensive curriculum in data science, including courses focused on computer science, machine learning at scale and legal, policy and ethical issues.

About

MIDS Capstone 2020 - lucyd is a music recommendation platform that enables users to interact with and learn from their music recommendations

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

What is lucyd?

lucyd is a music recommendation tool developed by four graduate students in UC Berkeley's Master of Information and Data Science (MIDS) program.

Why is it different?

lucyd let's you ask for music recommendations using whichever terms you want. lucyd seeks to demystify the typical "black box" music recommendation algorithm by not only giving you the freedom to customize your recommended playlists, but by giving you interactive tools and visualizations so you learn about your music while you explore.

lucyd offers something different. Our algorithm focuses on you--how do you perceive a song, and how can that be used to find new ones?

Who is lucyd for?

lucyd is a tool for people who are curious about music. If your favorite pasttime is perusing music blogs, clicking into the depths of your streaming service, or curating your own playlists, lucyd can provide you with more tools to navigate the worlds music.

Down to the data science

Designing lucyd required several steps:

  • Algorithms: Outline framework and requirements of a music recommendation algorithm based upon user-determined "tags", rather than song and/or artist attributes.
  • Data Source(s): Identify potential data sources to "teach" the recommendation algorithm.
  • Visualizations: Develop visualizations that help the user understand the songs in their playlist, and the ones nearby
  • Application Framework: Combine all of these elements into a live web application that allows the user to influence and learn from the songs recommended by lucyd.

About the developers

Tim Spittle

Product Design & Web Development
github | LinkedIn
Tim is an economic consultant in Boston, MA where he works on complex data modeling engagements. For lucyd he was responsible for the product design and connecting the work of the team into a web application. In his free time he enjoys long walks on the beach. He also enjoys short walks on the beach.
Primary Skills Developed: Django web framework (+ HTML, CSS, JavaScript), Cloud serverless web development (AWS: API Gateway, Lambda, IAM, CloudWatch, CloudFront, Route 53, Certificate Manager)

Kyle Redfield

Cloud Data Architect
github | LinkedIn
Kyle is a federal data science consultant in Washington DC. His professional work focuses on interacting with Medicare health claims databases and designing auditing and monitoring algorithms to identify non-compliance or risk. He leveraged this experience to scale lucyd's cloud infrastructure, developing the databases, data pipeline, and query structure that supports user interaction with the data.
Primary Skills Developed: Cloud Architecture (Amazon RDS mySQL, DynamoDB, DataPipeline, S3); Cloud Machine Learning (AWS EC2, AWS Sagemaker); Cloud serverless web development (AWS API Gateway, AWS Lambda, AWS IAM User Management); Python; SciPy

Michael Ballschmiede

Algorithmic Design
github | LinkedIn
Mike is a Chicago-based derivatives trader who enjoys live music and his mini Bernedoodle, Hugo. At a young age he developed an internal algorithm to identify the most efficient checkout line at any given supermarket; rumor has it he has never been wrong. He tried to replicate some of this magic in the development of lucyd, where he focused on algorithmic design and user interactivity.
Primary Skills Developed: Python, AWS cloud machine learning & serverless web development (API Gateway, Lambda, SageMaker, S3)

Hanna Rocks

User Interface & Project Management
github | LinkedIn
Hanna is a technology consultant working in the Customer Experience (CX) industry out of Bozeman, Montana. For most of the project, Hanna was responsible for building visualizations in D3, but in the final week discovered AJAX and re-arranged how everything on the front-end fit together so she could add some progress spinners. Thankfully, it worked out.
Primary Skills Developed: HTML, CSS, JQuery, JavaScript & D3

About MIDS

We developed lucyd during the course of our Capstone semester in UC Berkeley's Master of Information and Data Science (MIDS) program. MIDS offers a comprehensive curriculum in data science, including courses focused on computer science, machine learning at scale and legal, policy and ethical issues.

About

MIDS Capstone 2020 - lucyd is a music recommendation platform that enables users to interact with and learn from their music recommendations

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

What is lucyd?

lucyd is a music recommendation tool developed by four graduate students in UC Berkeley's Master of Information and Data Science (MIDS) program.

Why is it different?

lucyd let's you ask for music recommendations using whichever terms you want. lucyd seeks to demystify the typical "black box" music recommendation algorithm by not only giving you the freedom to customize your recommended playlists, but by giving you interactive tools and visualizations so you learn about your music while you explore.

lucyd offers something different. Our algorithm focuses on you--how do you perceive a song, and how can that be used to find new ones?

Who is lucyd for?

lucyd is a tool for people who are curious about music. If your favorite pasttime is perusing music blogs, clicking into the depths of your streaming service, or curating your own playlists, lucyd can provide you with more tools to navigate the worlds music.

Down to the data science

Designing lucyd required several steps:

  • Algorithms: Outline framework and requirements of a music recommendation algorithm based upon user-determined "tags", rather than song and/or artist attributes.
  • Data Source(s): Identify potential data sources to "teach" the recommendation algorithm.
  • Visualizations: Develop visualizations that help the user understand the songs in their playlist, and the ones nearby
  • Application Framework: Combine all of these elements into a live web application that allows the user to influence and learn from the songs recommended by lucyd.

About the developers

Tim Spittle

Product Design & Web Development
github | LinkedIn
Tim is an economic consultant in Boston, MA where he works on complex data modeling engagements. For lucyd he was responsible for the product design and connecting the work of the team into a web application. In his free time he enjoys long walks on the beach. He also enjoys short walks on the beach.
Primary Skills Developed: Django web framework (+ HTML, CSS, JavaScript), Cloud serverless web development (AWS: API Gateway, Lambda, IAM, CloudWatch, CloudFront, Route 53, Certificate Manager)

Kyle Redfield

Cloud Data Architect
github | LinkedIn
Kyle is a federal data science consultant in Washington DC. His professional work focuses on interacting with Medicare health claims databases and designing auditing and monitoring algorithms to identify non-compliance or risk. He leveraged this experience to scale lucyd's cloud infrastructure, developing the databases, data pipeline, and query structure that supports user interaction with the data.
Primary Skills Developed: Cloud Architecture (Amazon RDS mySQL, DynamoDB, DataPipeline, S3); Cloud Machine Learning (AWS EC2, AWS Sagemaker); Cloud serverless web development (AWS API Gateway, AWS Lambda, AWS IAM User Management); Python; SciPy

Michael Ballschmiede

Algorithmic Design
github | LinkedIn
Mike is a Chicago-based derivatives trader who enjoys live music and his mini Bernedoodle, Hugo. At a young age he developed an internal algorithm to identify the most efficient checkout line at any given supermarket; rumor has it he has never been wrong. He tried to replicate some of this magic in the development of lucyd, where he focused on algorithmic design and user interactivity.
Primary Skills Developed: Python, AWS cloud machine learning & serverless web development (API Gateway, Lambda, SageMaker, S3)

Hanna Rocks

User Interface & Project Management
github | LinkedIn
Hanna is a technology consultant working in the Customer Experience (CX) industry out of Bozeman, Montana. For most of the project, Hanna was responsible for building visualizations in D3, but in the final week discovered AJAX and re-arranged how everything on the front-end fit together so she could add some progress spinners. Thankfully, it worked out.
Primary Skills Developed: HTML, CSS, JQuery, JavaScript & D3

About MIDS

We developed lucyd during the course of our Capstone semester in UC Berkeley's Master of Information and Data Science (MIDS) program. MIDS offers a comprehensive curriculum in data science, including courses focused on computer science, machine learning at scale and legal, policy and ethical issues.

About

MIDS Capstone 2020 - lucyd is a music recommendation platform that enables users to interact with and learn from their music recommendations

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

What is lucyd?

lucyd is a music recommendation tool developed by four graduate students in UC Berkeley's Master of Information and Data Science (MIDS) program.

Why is it different?

lucyd let's you ask for music recommendations using whichever terms you want. lucyd seeks to demystify the typical "black box" music recommendation algorithm by not only giving you the freedom to customize your recommended playlists, but by giving you interactive tools and visualizations so you learn about your music while you explore.

lucyd offers something different. Our algorithm focuses on you--how do you perceive a song, and how can that be used to find new ones?

Who is lucyd for?

lucyd is a tool for people who are curious about music. If your favorite pasttime is perusing music blogs, clicking into the depths of your streaming service, or curating your own playlists, lucyd can provide you with more tools to navigate the worlds music.

Down to the data science

Designing lucyd required several steps:

  • Algorithms: Outline framework and requirements of a music recommendation algorithm based upon user-determined "tags", rather than song and/or artist attributes.
  • Data Source(s): Identify potential data sources to "teach" the recommendation algorithm.
  • Visualizations: Develop visualizations that help the user understand the songs in their playlist, and the ones nearby
  • Application Framework: Combine all of these elements into a live web application that allows the user to influence and learn from the songs recommended by lucyd.

About the developers

Tim Spittle

Product Design & Web Development
github | LinkedIn
Tim is an economic consultant in Boston, MA where he works on complex data modeling engagements. For lucyd he was responsible for the product design and connecting the work of the team into a web application. In his free time he enjoys long walks on the beach. He also enjoys short walks on the beach.
Primary Skills Developed: Django web framework (+ HTML, CSS, JavaScript), Cloud serverless web development (AWS: API Gateway, Lambda, IAM, CloudWatch, CloudFront, Route 53, Certificate Manager)

Kyle Redfield

Cloud Data Architect
github | LinkedIn
Kyle is a federal data science consultant in Washington DC. His professional work focuses on interacting with Medicare health claims databases and designing auditing and monitoring algorithms to identify non-compliance or risk. He leveraged this experience to scale lucyd's cloud infrastructure, developing the databases, data pipeline, and query structure that supports user interaction with the data.
Primary Skills Developed: Cloud Architecture (Amazon RDS mySQL, DynamoDB, DataPipeline, S3); Cloud Machine Learning (AWS EC2, AWS Sagemaker); Cloud serverless web development (AWS API Gateway, AWS Lambda, AWS IAM User Management); Python; SciPy

Michael Ballschmiede

Algorithmic Design
github | LinkedIn
Mike is a Chicago-based derivatives trader who enjoys live music and his mini Bernedoodle, Hugo. At a young age he developed an internal algorithm to identify the most efficient checkout line at any given supermarket; rumor has it he has never been wrong. He tried to replicate some of this magic in the development of lucyd, where he focused on algorithmic design and user interactivity.
Primary Skills Developed: Python, AWS cloud machine learning & serverless web development (API Gateway, Lambda, SageMaker, S3)

Hanna Rocks

User Interface & Project Management
github | LinkedIn
Hanna is a technology consultant working in the Customer Experience (CX) industry out of Bozeman, Montana. For most of the project, Hanna was responsible for building visualizations in D3, but in the final week discovered AJAX and re-arranged how everything on the front-end fit together so she could add some progress spinners. Thankfully, it worked out.
Primary Skills Developed: HTML, CSS, JQuery, JavaScript & D3

About MIDS

We developed lucyd during the course of our Capstone semester in UC Berkeley's Master of Information and Data Science (MIDS) program. MIDS offers a comprehensive curriculum in data science, including courses focused on computer science, machine learning at scale and legal, policy and ethical issues.

About

MIDS Capstone 2020 - lucyd is a music recommendation platform that enables users to interact with and learn from their music recommendations

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

What is lucyd?

lucyd is a music recommendation tool developed by four graduate students in UC Berkeley's Master of Information and Data Science (MIDS) program.

Why is it different?

lucyd let's you ask for music recommendations using whichever terms you want. lucyd seeks to demystify the typical "black box" music recommendation algorithm by not only giving you the freedom to customize your recommended playlists, but by giving you interactive tools and visualizations so you learn about your music while you explore.

lucyd offers something different. Our algorithm focuses on you--how do you perceive a song, and how can that be used to find new ones?

Who is lucyd for?

lucyd is a tool for people who are curious about music. If your favorite pasttime is perusing music blogs, clicking into the depths of your streaming service, or curating your own playlists, lucyd can provide you with more tools to navigate the worlds music.

Down to the data science

Designing lucyd required several steps:

  • Algorithms: Outline framework and requirements of a music recommendation algorithm based upon user-determined "tags", rather than song and/or artist attributes.
  • Data Source(s): Identify potential data sources to "teach" the recommendation algorithm.
  • Visualizations: Develop visualizations that help the user understand the songs in their playlist, and the ones nearby
  • Application Framework: Combine all of these elements into a live web application that allows the user to influence and learn from the songs recommended by lucyd.

About the developers

Tim Spittle

Product Design & Web Development
github | LinkedIn
Tim is an economic consultant in Boston, MA where he works on complex data modeling engagements. For lucyd he was responsible for the product design and connecting the work of the team into a web application. In his free time he enjoys long walks on the beach. He also enjoys short walks on the beach.
Primary Skills Developed: Django web framework (+ HTML, CSS, JavaScript), Cloud serverless web development (AWS: API Gateway, Lambda, IAM, CloudWatch, CloudFront, Route 53, Certificate Manager)

Kyle Redfield

Cloud Data Architect
github | LinkedIn
Kyle is a federal data science consultant in Washington DC. His professional work focuses on interacting with Medicare health claims databases and designing auditing and monitoring algorithms to identify non-compliance or risk. He leveraged this experience to scale lucyd's cloud infrastructure, developing the databases, data pipeline, and query structure that supports user interaction with the data.
Primary Skills Developed: Cloud Architecture (Amazon RDS mySQL, DynamoDB, DataPipeline, S3); Cloud Machine Learning (AWS EC2, AWS Sagemaker); Cloud serverless web development (AWS API Gateway, AWS Lambda, AWS IAM User Management); Python; SciPy

Michael Ballschmiede

Algorithmic Design
github | LinkedIn
Mike is a Chicago-based derivatives trader who enjoys live music and his mini Bernedoodle, Hugo. At a young age he developed an internal algorithm to identify the most efficient checkout line at any given supermarket; rumor has it he has never been wrong. He tried to replicate some of this magic in the development of lucyd, where he focused on algorithmic design and user interactivity.
Primary Skills Developed: Python, AWS cloud machine learning & serverless web development (API Gateway, Lambda, SageMaker, S3)

Hanna Rocks

User Interface & Project Management
github | LinkedIn
Hanna is a technology consultant working in the Customer Experience (CX) industry out of Bozeman, Montana. For most of the project, Hanna was responsible for building visualizations in D3, but in the final week discovered AJAX and re-arranged how everything on the front-end fit together so she could add some progress spinners. Thankfully, it worked out.
Primary Skills Developed: HTML, CSS, JQuery, JavaScript & D3

About MIDS

We developed lucyd during the course of our Capstone semester in UC Berkeley's Master of Information and Data Science (MIDS) program. MIDS offers a comprehensive curriculum in data science, including courses focused on computer science, machine learning at scale and legal, policy and ethical issues.

About

MIDS Capstone 2020 - lucyd is a music recommendation platform that enables users to interact with and learn from their music recommendations

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

What is lucyd?

lucyd is a music recommendation tool developed by four graduate students in UC Berkeley's Master of Information and Data Science (MIDS) program.

Why is it different?

lucyd let's you ask for music recommendations using whichever terms you want. lucyd seeks to demystify the typical "black box" music recommendation algorithm by not only giving you the freedom to customize your recommended playlists, but by giving you interactive tools and visualizations so you learn about your music while you explore.

lucyd offers something different. Our algorithm focuses on you--how do you perceive a song, and how can that be used to find new ones?

Who is lucyd for?

lucyd is a tool for people who are curious about music. If your favorite pasttime is perusing music blogs, clicking into the depths of your streaming service, or curating your own playlists, lucyd can provide you with more tools to navigate the worlds music.

Down to the data science

Designing lucyd required several steps:

  • Algorithms: Outline framework and requirements of a music recommendation algorithm based upon user-determined "tags", rather than song and/or artist attributes.
  • Data Source(s): Identify potential data sources to "teach" the recommendation algorithm.
  • Visualizations: Develop visualizations that help the user understand the songs in their playlist, and the ones nearby
  • Application Framework: Combine all of these elements into a live web application that allows the user to influence and learn from the songs recommended by lucyd.

About the developers

Tim Spittle

Product Design & Web Development
github | LinkedIn
Tim is an economic consultant in Boston, MA where he works on complex data modeling engagements. For lucyd he was responsible for the product design and connecting the work of the team into a web application. In his free time he enjoys long walks on the beach. He also enjoys short walks on the beach.
Primary Skills Developed: Django web framework (+ HTML, CSS, JavaScript), Cloud serverless web development (AWS: API Gateway, Lambda, IAM, CloudWatch, CloudFront, Route 53, Certificate Manager)

Kyle Redfield

Cloud Data Architect
github | LinkedIn
Kyle is a federal data science consultant in Washington DC. His professional work focuses on interacting with Medicare health claims databases and designing auditing and monitoring algorithms to identify non-compliance or risk. He leveraged this experience to scale lucyd's cloud infrastructure, developing the databases, data pipeline, and query structure that supports user interaction with the data.
Primary Skills Developed: Cloud Architecture (Amazon RDS mySQL, DynamoDB, DataPipeline, S3); Cloud Machine Learning (AWS EC2, AWS Sagemaker); Cloud serverless web development (AWS API Gateway, AWS Lambda, AWS IAM User Management); Python; SciPy

Michael Ballschmiede

Algorithmic Design
github | LinkedIn
Mike is a Chicago-based derivatives trader who enjoys live music and his mini Bernedoodle, Hugo. At a young age he developed an internal algorithm to identify the most efficient checkout line at any given supermarket; rumor has it he has never been wrong. He tried to replicate some of this magic in the development of lucyd, where he focused on algorithmic design and user interactivity.
Primary Skills Developed: Python, AWS cloud machine learning & serverless web development (API Gateway, Lambda, SageMaker, S3)

Hanna Rocks

User Interface & Project Management
github | LinkedIn
Hanna is a technology consultant working in the Customer Experience (CX) industry out of Bozeman, Montana. For most of the project, Hanna was responsible for building visualizations in D3, but in the final week discovered AJAX and re-arranged how everything on the front-end fit together so she could add some progress spinners. Thankfully, it worked out.
Primary Skills Developed: HTML, CSS, JQuery, JavaScript & D3

About MIDS

We developed lucyd during the course of our Capstone semester in UC Berkeley's Master of Information and Data Science (MIDS) program. MIDS offers a comprehensive curriculum in data science, including courses focused on computer science, machine learning at scale and legal, policy and ethical issues.

About

MIDS Capstone 2020 - lucyd is a music recommendation platform that enables users to interact with and learn from their music recommendations

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

What is lucyd?

lucyd is a music recommendation tool developed by four graduate students in UC Berkeley's Master of Information and Data Science (MIDS) program.

Why is it different?

lucyd let's you ask for music recommendations using whichever terms you want. lucyd seeks to demystify the typical "black box" music recommendation algorithm by not only giving you the freedom to customize your recommended playlists, but by giving you interactive tools and visualizations so you learn about your music while you explore.

lucyd offers something different. Our algorithm focuses on you--how do you perceive a song, and how can that be used to find new ones?

Who is lucyd for?

lucyd is a tool for people who are curious about music. If your favorite pasttime is perusing music blogs, clicking into the depths of your streaming service, or curating your own playlists, lucyd can provide you with more tools to navigate the worlds music.

Down to the data science

Designing lucyd required several steps:

  • Algorithms: Outline framework and requirements of a music recommendation algorithm based upon user-determined "tags", rather than song and/or artist attributes.
  • Data Source(s): Identify potential data sources to "teach" the recommendation algorithm.
  • Visualizations: Develop visualizations that help the user understand the songs in their playlist, and the ones nearby
  • Application Framework: Combine all of these elements into a live web application that allows the user to influence and learn from the songs recommended by lucyd.

About the developers

Tim Spittle

Product Design & Web Development
github | LinkedIn
Tim is an economic consultant in Boston, MA where he works on complex data modeling engagements. For lucyd he was responsible for the product design and connecting the work of the team into a web application. In his free time he enjoys long walks on the beach. He also enjoys short walks on the beach.
Primary Skills Developed: Django web framework (+ HTML, CSS, JavaScript), Cloud serverless web development (AWS: API Gateway, Lambda, IAM, CloudWatch, CloudFront, Route 53, Certificate Manager)

Kyle Redfield

Cloud Data Architect
github | LinkedIn
Kyle is a federal data science consultant in Washington DC. His professional work focuses on interacting with Medicare health claims databases and designing auditing and monitoring algorithms to identify non-compliance or risk. He leveraged this experience to scale lucyd's cloud infrastructure, developing the databases, data pipeline, and query structure that supports user interaction with the data.
Primary Skills Developed: Cloud Architecture (Amazon RDS mySQL, DynamoDB, DataPipeline, S3); Cloud Machine Learning (AWS EC2, AWS Sagemaker); Cloud serverless web development (AWS API Gateway, AWS Lambda, AWS IAM User Management); Python; SciPy

Michael Ballschmiede

Algorithmic Design
github | LinkedIn
Mike is a Chicago-based derivatives trader who enjoys live music and his mini Bernedoodle, Hugo. At a young age he developed an internal algorithm to identify the most efficient checkout line at any given supermarket; rumor has it he has never been wrong. He tried to replicate some of this magic in the development of lucyd, where he focused on algorithmic design and user interactivity.
Primary Skills Developed: Python, AWS cloud machine learning & serverless web development (API Gateway, Lambda, SageMaker, S3)

Hanna Rocks

User Interface & Project Management
github | LinkedIn
Hanna is a technology consultant working in the Customer Experience (CX) industry out of Bozeman, Montana. For most of the project, Hanna was responsible for building visualizations in D3, but in the final week discovered AJAX and re-arranged how everything on the front-end fit together so she could add some progress spinners. Thankfully, it worked out.
Primary Skills Developed: HTML, CSS, JQuery, JavaScript & D3

About MIDS

We developed lucyd during the course of our Capstone semester in UC Berkeley's Master of Information and Data Science (MIDS) program. MIDS offers a comprehensive curriculum in data science, including courses focused on computer science, machine learning at scale and legal, policy and ethical issues.

About

MIDS Capstone 2020 - lucyd is a music recommendation platform that enables users to interact with and learn from their music recommendations

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages