GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - Maple-Development/Maple-PeerJS: Local music library first platform to organize & enjoy your music! All music handled client side. Optional social & data sharing features!

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

573 Commits
573 Commits

Folders and files

NameName
Last commit message
Last commit date
api
api
 
 
resources
resources
 
 
src
src
 
 
static
static
 
 
.eslintrc.cjs
.eslintrc.cjs
 
 
.gitignore
.gitignore
 
 
.npmrc
.npmrc
 
 
.prettierignore
.prettierignore
 
 
.prettierrc
.prettierrc
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
eslint.config.cjs
eslint.config.cjs
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 
postcss.config.cjs
postcss.config.cjs
 
 
server.js
server.js
 
 
svelte.config.js
svelte.config.js
 
 
tsconfig.json
tsconfig.json
 
 
vercel.json
vercel.json
 
 
vite.config.ts
vite.config.ts
 
 
wrangler.jsonc
wrangler.jsonc
 
 

Repository files navigation

Maple Icon

Maple

web · beta · iOS

Need Help? Join our Development Server

2026-01-16.15-10-45.mp4

Maple is a music library and organization tool. It allows you to upload your music library and watch it be organized into albums, artists, playlists, and more! You are given robust controls to play and organize your music. In the future, it will include optional social and stat-tracking features.

How to use?

  • Head to settings
  • Upload your music library
  • That's it!

How do Accounts work?

Accounts give you access to social, and other online features! Want to know what your friends are listening to? Share your music to your discord server? Have access to a public API to get your recent listening history? All of that & More is unlocked when you make an account! No email required + free!.

Q&As

Will my library be sent to anyone?

  • No! Your library is completely managed on-device using the Origin Private File System (OPFS). If you enable developer controls in settings, you can interface with this OPFS in a rudimentary terminal-style environment!

Help! I have ___ Bug!

  • You can report any bugs in the Issues tab here!

    Please note, this site is still early in development. Many features/bugs are known and are actively being worked on. Check our discord here for more information.

How do the account features work?

  • By creating an account, and logging in, you unlock the ability to share your currently playing music with a community webhook instance or your own personal webhook. You also can add friends, transfer your library to other devices, and more! All person to person transfers are peer2peer based.

What data is saved on the server?

  • Your username, id, hashed & salted password*, pfp, and then friendship status with other users. More information may be stored temporarily, or for other features. Please see our Privacy Policy for more information.

    *your plaintext password will NEVER be avalible to anyone, even those with access to our servers.

If you have any other questions, feel free to DM cattn. on discord, or email me @ [email protected]

API Documentation

API Link: https://api.maple.music/

GET - /public/get/user/:username

Returns a user based on the given username.

Request Example:

const response = await fetch(`${this.SERVER}/public/get/user/${username}`, {
	method: 'GET'
});
const data = await response.json();

Response:

{
    id: id,
    username: username,
    name: name | null
}

GET - /public/get/user/id/:id

Returns a user based on the given id. listening is only included if the user's listening activity is public, or if you are logged in as that user.

Request Example:

const response = await fetch(`${this.SERVER}/public/get/user/id/${id}`, {
	credentials: 'include',
	method: 'GET'
});
const data = await response.json();

Response:

{
    id: id,
    username: username,
    name: name | null,
    listening: {
        current: {
            title: title,
            artist: artist,
            album: album,
            duration: duration | null,
            playing: playing,
            position: position,
            playbackRate: playbackRate,
            artwork: artwork | null
        } | null,
        lastPlayed: {
            title: title,
            artist: artist,
            album: album,
            duration: duration | null,
            playedAt: playedAt | null,
            artwork: artwork | null
        } | null
    } | null
}

GET - /public/get/pfp/:id

Returns a profile picture based on the given id.

Request Example:

const response = await fetch(`${this.SERVER}/public/get/pfp/${id}`, {
	method: 'GET'
});
const data = await response;

Response:

File Object

GET - /public/get/albumArt/:id/:artwork

Returns the album art of the song a user is currently playing, based on the given id. artwork should be the artwork value from that user's listening data. Only available if the user's listening activity is public, or if you are logged in as that user.

Request Example:

const response = await fetch(`${this.SERVER}/public/get/albumArt/${id}/${artwork}`, {
	credentials: 'include',
	method: 'GET'
});
const data = await response;

Response:

File Object

What's the inspiration behind it?

Maple was inspired by various experiences, such as being on a plane without internet. While I had my music with me, I found local tools like Windows Media Player lacking. This project not only aims to solve that issue but also serves as a learning experience for me.

Wondering how we use your data?

You can view our privacy policy here!

Credits

Lead Developer

  • Cattn

Logos & Various Help

  • Nailington (@Nailington)

About

Local music library first platform to organize & enjoy your music! All music handled client side. Optional social & data sharing features!

maple.music

Resources

Readme
License
Activity
Custom properties

Stars

1 star

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.