Trigalarm is a habit-correcting alarm for heavy sleepers that forces you to solve for theta in right triangles. It's the perfect amount of thought to activate your brain in the morning!
The Pitch
Simple
The alarm setter is only one page. You can only set one alarm. There is no snooze, there is no weekly schedule, and there is no way to disable the alarm (you'll always have one set - every day - like it or not).
Persistent
The alarm cannot be disabled until the user solves their configured number of triangles. Each triangle comes with a time limit. Failure to solve a triangle within the time limit will demote the user to the previous triangle.
Guards are in place to prevent the user from force-quitting/resetting the alarm when an alarm is meant to be active.
Adaptable
Trigalarm is meant to be adapted to your needs with as little confusion as possible. There are three powerful settings:
- Number of triangles to solve in order to disarm the alarm
- The time limit for the final (fastest) triangle
- Time limits for prior triangles are calculated automatically based on this one
- Pavlok integration (API key + zap intensity)
- Punishes the user via mild electrocution if they...
- ...take too long to respond to the first triangle
- ...get demoted from a higher level triangle
- ...force quit the app by holding the back button (the app re-opens and sends a zap)
- Punishes the user via mild electrocution if they...
Tips & Tricks
- When you successfully disarm the alarm, you are prompted with the options to either exit and keep the same alarm time for tomorrow, or to select a new time. If choosing the latter, whatever time you select will assume you mean tomorrow. This avoids situations where you wake up at 6 on a Friday, set an alarm intended for 9 on Saturday, and end up with your wrist buzzing in three hours!
- There is a "Reset Alarm" button in the phone-side settings to help if you make an unsolvable alarm configuration by mistake.
Some Neat Stuff
- The vibration pattern is randomized. It derives the length of the three pulses from the angles in the generated triangle. Neat!
- Some of the alarm scheduling code was taken from Gentle Wake. It seems trusted by the community, so... I stole it! The beauty of open source, no AI needed!
- A custom font was made to satisfy the need for something that looks like LECO but is monospaced. The version I made contains only numbers, period, and colon, but if you want to build off of it, it's public and easy to modify!
Future Goals (2.1 and beyond)
- Custom, self-hosted Pavlok API support (going to try some Bluetooth reverse engineering)
