You are browsing as a guest. Sign up (or log in) to start making projects!

allisonly_huang

@allisonly_huang

Joined June 26th, 2026

  • 8Devlogs
  • 7Projects
  • 1Ships
  • 2Votes
Hi, I'm Allison.

Biology and computation have been separate for a long time. With a new level of quantiative definition in how we look at cellular systems, I am extremely fascinated by and want to be building between computation/engineering/AI and neuroscience for disease therapeutics.

Learning python + data analysis + app dev + network diffusion.
Open comments for this post

1h 8m 3s logged

Finished data collection in CoreData + started on UI

Setting up CoreData was 70% researching how it works and 30% actual coding, only to produce a very simple table that I feel could have been accomplished in two hours. But we move on.

Set up health data fetching from apple watch to be normalized to midnight in order to allow the symptom tests taken throughout the day to be all linked to the same date.

Some key UI design choices:

  • swiping to access different sections of the app instead of small menus
  • calming/warm colors
  • large text

I have not done pixel art before and creating an entire plants and farming asset would take too long so I think I’ll go with modifying existing pixel art assets.

0
0
11
Open comments for this post

2h 47m 51s logged

Apple CoreData Organization for Movement Tests

Finished organizing and setting up the entities and attributes using apple’s CoreData for the app.

Each entity stores data that needs to be analyzed by the clinician for each test/log type, including AkinesiaResult, BradykinesiaResult, DexterityResult, MedicationLog, and so on.

Each test will have specific parameters calculated by the touchscreen inputs based on what’s important to be measured. For example, the dexterity test requires completing a swipe sequence on the screen and measuring the distance between the user’s input and the predefined path. Attributes of the DexterityResult entity would be rmsError (root mean square error), avgSwipeSpeed, swipeDist, cvSwipeSpeed (correlation of variation of the swipe speed) etc.

Probably spent way too much time researching exactly which parameters should be added but you can never be too meticulous.

0
0
9
Ship Changes requested

Desktop Cat Vending Machine

This project is an interactive desktop widget built in Python using Tkinter. The application runs as a frameless, transparent overlay pinned above your active windows.

When a user left-clicks the vending machine, it runs a brief vending machine like shake animation and dispenses a random cat image pulled from a local asset folder. The dispensed images automatically disappear after 5 seconds or close immediately when clicked.

Primary Challenges:
The main challenge was ensuring the application could reliably locate its image assets when executed on other devices or compiled into a standalone binary. Standard relative pathing broke depending on the user's working directory, but I resolved this by using an environment-aware utility that checks sys.frozen to toggle the asset lookup root between the local script file and the compiled executable path.

Input Spamming: Rapidly clicking the widget queued multiple overlapping movement instructions, causing the layout to be distorted. I fixed this by introducing a state lock that ignores incoming click inputs while a dispense animation sequence is actively running.

What are you proud of?
Instead of building a fragile script that crashes under unexpected conditions, if the image directory is missing, empty, or contains corrupted files, a try-except block intercepts the failure and falls back to a procedurally generated default text UI. I also ensured that window creation and destruction properly clear memory references to prevent resource leaks during extended use. This might be a standard feature, but as a very beginner python programmer, it's something I'm still relatively proud of.

Controls: Left-click the vending machine to dispense an item. Left-click the spawned image to dismiss it early. Right-click the vending machine to close the application entirely.

Customization: The application scans the cat_library directory dynamically. You can add, remove, or change the contents of this folder with your own images (.png, .jpg, .gif, etc.) to modify what the machine dispenses.

Environment: If running from the source code, ensure you have Python 3 installed and have run pip install Pillow to handle the graphic resizing. Otherwise, launch the standalone executable directly.

Finally, this project was made the day before my friend's birthday as a mildly crammed last-minute gift. So, keep this on your own desktop for a cat companion while you work, or share some cats with your friends as well.

  • 1 devlog
  • 2h
Try project → See source code →
Open comments for this post

1h 40m 29s logged

Don’t have a cat? This project will give you 70 random ones, for 5 seconds each.

My friend’s birthday is tomorrow. I am too broke to buy a gift, so I made this project in one sitting. That is why there is only one devlog (apologies Hackclub staff) and much less time logged than I actually spent on it (~4.5 hours).

I often get sent cat reels from him, so I decided to bring the cats directly to his desktop: through a desktop-pet style vending machine that dispenses random cats (with a kirby easter egg).

This project was made in python using tkinter for desktop applications and Pillow for advanced image resizing and rendering.

Most of the trials and tribulations came from getting the vending machine animation to look right and the cat library to be actually accessed instead of always falling back on the try catch.

Anyway, here is a cat vending machine.

0
0
3
Open comments for this post

48m 48s logged

Alzheimer’s Disease eats away at your brain before symptoms even show up.

AD is driven by a misfolded protein called tau, which essentially clogs up the brain and kills neurons irreversibly. Misfolded tau induces other tau to misfold, essentially spreading across the brain’s connectome like a contact disease.

The thing is, this looks different for everyone–but time is of the essence, and clinicians can’t waste time and money on treatments that might not work when the brain is actively deteriorating.

I’m building TauPropagation, a network diffusion model (or reaction diffusion if I can get someone to help me out) to predict tau propagation throughout the brain in Alzheimer’s disease. Not only will this help clinicians make better treatment decisions, but it also serves as a basis for modeling how drugs (like monoclonal antibodies) might clear tau, which will hopefully be the second branch of this project.

A lot of math and a lot of computer science and a lot of fumbling with biological variables but we’ll make it through.

0
0
2
Open comments for this post

2h 52m logged

Core functions of the app complete: bradykinesia, dexterity, tremors, and more

Looked into apple’s HealthKit and movement disorder API for tracking tremors so that’s what I’ll be using. As long as everything stays local, the law will not be after me.

Each of the mobile symptom tests go like this:

  • Bradykinesia: finger tapping test that measures the time between each tap, how much the taps drift across the screen, and how those variables change with time.
  • Akinesia: the time it takes for a motion to start
  • Dexterity: swiping test for measuring amplitude, speed, etc.

Next will be coding the actual UI 🏃‍♂️

0
0
7
Open comments for this post

1h 46m 1s logged

Final model parameters done - but will it survive in print?

After a week of speedrunning how to use Autodesk Fusion (this was before I joined Stardance) and understanding TPMS shapes, I got down the final parameters that reached over double the target surface area.

A gyroid is described by the following equation:

cos(x)sin(y) + cos(y)sin(z) + cos(z)sin(x) = c,

where at c=0 the gyroid is at the minimum possible surface area. This also describes the relative density of the 3d shape.

After failing to reach the desired surface area using only autodesk fusion, I switched to MSLattice, which is specifically built for modeling TPMS structures, and finally got measurements I was content with: around 14082.717mm^2 for a 20x25mm cylinder filter.

This means 14082.717mm^2 worth of biofilm that can trap contaminants and produce clean air and water.

Will this print with a 0.4mm nozzle? The wall thickness I manually measured to be about 0.8mm so theoretically it’s fine but we’ll see.

0
0
4
Open comments for this post

19m 1s logged

Maximum Surface Area Biofilter

Biofilters filter contaminants by using fungi, bacteria, and other micro-organisms that form a biofilm to trap contaminants as the fluid flows through.

This is used in air pollution control, water purification, and more.

So, intuitively, to maximize the contaminants trapped, the water must contact as much of the biofilm as possible——in other words, the filter must maximize surface area.

So my goal is to:

  • create a 3D CAD model of a Biofilter that maximizes surface area for most efficient filtering of fluid
0
0
3
Open comments for this post

57m 37s logged

Parkinson’s tracker apps aren’t built for Parkinson’s patients.

Parkinson’s (PD) is a movement disorder, meaning patients have:

  • tremors in their hands
  • rigid and slow movements

in addition to dementia and cognitive impairment.

So it’s important that patients track their sleep, medication adherence, symptoms, etc. so clinicians know how to adjust their treatment to fully support rehabilitation.

but current apps: sterile and condensed UI with small buttons, complex menus and nav, low incentive…are not ideal. That’s why up to 75% of patients don’t use their tracking app more than 10 times after first downloading.

my app solution:

a gamified PD tracker that prioritizes:

  • accessible UI/UX
  • calming + aesthetic graphics
  • incentive

so far we’ve got:

  • swiping instead of menus
  • cat garden/farm concept
  • slightly punitive streak system

currently working on getting in contact with a clinician for opinions + getting started on xcode.

5
0
313

Followers

Loading…