mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-05 09:48:44 +00:00
3.0 KiB
3.0 KiB
Remaining Tasks
Last Minute Burndown
-
AWS / Cloudfront Hosting
- Move jungle.horse to cloudfront.
-
In-Memory LRU Cache
-
Better audio samples
- Multiple "umm" / "uhh" samples
- Fix words that sound bad
-
User input filtering
- Strip spaces in frontend.
- Make sure there's no XSS injection.
- Maximum # characters (frontend, backend)
- Maximum # words (backend, ie. number expansion)
- Configs
- Remove speed query parameter (for now).
-
Frontend filesize
- Downscale the animation. Maybe make a sprite sheet?
Super Low Priority
- Frontend filesize:
- Progressive loading of the animation (involved).
- Zepto.js
- Remove pixi.js dependency
Old Goals
HIGH LEVEL GOALS
- Sound better
- Handle load
- Recoup costs
- Look good (UI, speaking capability) - good reflection
- Good code
Audio Samples
- MORE SAMPLES
- IMPROVED SAMPLES
- Remove extra space between words (using parsing to insert spacing)
- No more missing phonemes
- Real versions of ['AO0', 'AW0', 'AW2', 'AY0', 'EY0', 'OY0', 'UH0'], which were backfilled with fakes.
Scaling
- Load test
- Read wave files into memory
- Multi-server, with nginx as load balancer
- Prevent others from calling it
- Caching strategy - Caching headers (make sure they work) - Filter strings clientside to boost savings.
Tokenizing
- Plurals
- Times (9 p.m. ET)
Parsing
- (Everything in tokenizing)
- Decimal numbers
- Collapse pauses, eg: "Foo,,," -> "Foo (breath)"
- Numbers that are years (2016)!
- Twitter hashtags, usernames - conjoined word parsing (difficult)
Synthesis
- Get rid of static with "Uhhh", "Ummm" of variable length (option).
- Syllable System:
Cleanup
- Refactor into a very well-defined "SpeakRequest" with all parameters, including new ones like "is_twitter", "missing_word_mode = slience, record_pop, umm", etc.
- Remove old query parameters
- Set default volume
Server
- Favicon, .ico and apple icon
- robots.txt
Hardening
- Reduce API surface
- Limit length of input sentences
- Rate limiting
Presentation
- Better frontend UI
- Testing page (current frontend)
Monetization
- Can I get sued?
- Ads
- Native Apps
- (I don't have time to learn this.)
- Contact other developers?
- PhoneGap? (Blah)
Extra
- Clientside speed changing
- Let people type nonsense syllables
Parsing Examples
- Camel case even outside of hashtags:
- "Google acquires FameBit", StateOfW, AdaLovelaceDay
- Time: 7:30pm, 5:30ET, 9pm ET, 8:00 P.M., 8pm ET
- Hyphenated: 2-party
- They will get horrible sentences, violently.We have the support.#RepealThe1st
- #100YearsStrong