View Code? Open in Web Editor
NEW
The simplest way to do brain and behaviour research - right in your browser or mobile phone. Discord: https://discord.gg/sqsuzXWE3K
Home Page: https://usefusion.ai/research
License: GNU Affero General Public License v3.0
Python 5.62%
HTML 4.06%
JavaScript 12.63%
CSS 0.16%
TypeScript 75.33%
Java 1.23%
Objective-C 0.04%
Objective-C++ 0.41%
Swift 0.02%
Ruby 0.50%
fusion's People
fusion's Issues
Basically this - https://p5.eegedu.com
The dino game (#19 ) is the first experiment
User can create and share them for others to run on Fusion
Including support for lab.js experiments
And three.js too!
We already have a flow to:
We should integrate an OAuth flow to the spotify api that allows us to fetch listening history for a user periodically and update:
https://github.com/dgendill/spotify-play-history has a good javascript example for connecting to spoify api and fetching periodically.
Data should be stored in remote blob (if user consents) - /y/m/d/-listening_history.json
This'll eventually make creating the desktop version of fusion.
The goal here is to explore how much brain activity can be stored locally. For context, indexed db can go up to 20GB (or 1% of total device storage -- need to validate this part)
ToDesktop for electron generation from the web app - https://app.todesktop.com/
this one is big! redefines how we onboard a fusion user - basically making you anon by default
[will update]
We need to guide the user on more expressive in terms of what user should expect (e.g after creating prompt, tell them what happens next, why are prompts important?)
Figma link
In the /datasets route, allow the user delete a particular dataset
just like we do with magicflow, we need to setup period data fetch for
Will involve adding more methods to the vital controller & processors
doesn't need to be perfect. just communicate direction and what exist right now. (all pieces are there)
This needs some more detailed thinking but the gist here is that:
An "explorer/researcher" on fusion defines a quest ( a set of experiments & workflow that a user should do) with duration
Explorer can share for other users to subscribe to
Researcher should be able to track adherence & see raw data
from the granular event entries, we're looking to:
Just did a 30min recording and upload failed because for some reason I had been logged out from fusion backend.
Currently the token expiry is set for 7days I believe... need to add a refresh flow
After a single dataset exists, we need to apply some correlation to the data to:
know what events are tightly correlated
trend analysis : how to a sequence of these events affect an outcome
Approaches
We also display the signal quality values for each in the circle
This will grow over time but the core objective here is around sending relevant messages to:
self sample a question of interest. e.g 'energy levels' - the user gets to set this
Rough concept:
(try with just activity information)
top events, when they occur
current thinking is to parse this as context to a LLM
fusion initiates a conversation with the user
user engages with fusion
Include interface in web & mobile
Show relevant information from ActivityWatch & Magicflow
I have some scripts from a while ago that auto predicted the "project of interest" I was working on and general app usage summaries.
I think there's value in looking at this data over time.
A useful view is something similar to this
Script for fetching data is already available.
In prep for launch this weekend, we need to make sure all our endpoints are 🔐
Now, when you login to fusion, we make a request to /api/userlogin
which then (creates a user if not & returns details) See implementation
One thing to keep in mind though is that our analytics runner will still need to be able to access the api ( not sure what the best approach here is since it needs to access "regardless" of the user
after having conditional probability is done, we need to present this.
what questions are we answering
chart display
electron app with results
Current implementation of magicflow daily fetch should have it happen nightly, but something's off...
I think it has to do with the token not being in the UserProvider table ... will investigate
Current integration hardcodes Oura in the controller for generating the token.
We should update this
Continuous data pipeline to pre-process from github, spotify, web history from google chrome, twitter
Not sure why this is the case, I've added a Notifications.dismissNotificationsAsync(identifier)
call.
This works for Yes/No type prompts,
Number & Input prompts get logged but don't dismiss automatically unless the user cancels it themselves.
This is annoying but good enough to ship for now (spent the last 30mins trying to fix this but no luck ._.)
Next steps:
Try using handleLastNotificationResponse
instead of using the addNotificationResponseListener
File a bug with expo dev team
From the existing data sources, we will take the following columns:
activity_watch_summarized = summary_day, total_time_surfing, what_app_did_user_spend_x_percent_of_time_on (one column per percent) , events_usage (tuple: event_classification (encoded), sum_total_time)
google_calendar = summary_day, total_time_in_meetings, average_meeting_duration, mode_meeting_duration, count_of_meetings_initiated, count_of_meetings_invited, avg_number_of_people_per_meeting
oura = (drop some rows) - remove combination identifiers
tweets = summary_day, count_of_tweets, count_of_total_positive, total_neutral, total_negative, sum_likes_positive, sum_likes_negative, sum_likes_neutral, sum_retweets_positive, sum_retweets_negative, sum_retweets_neutral
these datasets will then be joined by summary_day
for a single day's entry
Things to keep in mind during combination:
activity watch
cluster events into groups (max 5 & then make them columns)
encode all events, consider magnitude = 0: 70, 1: 30
google calendar
considering how many meetings were created impromptu
meetings initiated vs invited ( giving / taking time )
how start_time vs end_time fit into daily activities
twitter
original tweets vs retweets
how are people interacting with tweets
people interacting with