SHSAT App Update

A personal passion project I began a while ago, but abandoned because I got too busy 😢. But, now that I’m working on a novella, and not doing other stuff, there’s quite a bit of room in my brain for the things I care about!

SHSAT mini quizzes

Take practice tests in a browser or a phone.


Printable Sample Problems—lots of them

Generates a TON of SHSAT sample problems—along with answer keys and hints. Content is entirely math at the moment, but can be extended.

Printable Sample Tests

Each quiz prints well, and preserves the math formulae—like this

Printable Answer keys

Check your answers

The Answer Key is intended for people who want to practice with a pencil + paper, and look like this

Answers are always available when you do the quizzes interactively in a web browser or phone.


Layouts should work on several common devices

Works on phones too

I’m using Bootstrap 5.2 so the layouts are responsive, and scale well to different screen resolutions.


How does it work?

  • Content

    • Generated through the expansion of problem grammars, using Rita.js, Faker, and MathJax

    • Done at the command line for now, but will be automated when I have a better idea of how to control the growth of the datasets. Example…node generate.js --template=percents --questions=20

    • Can be hosted anywhere that enables CORS. I’m currently hosting some sample content on an aws S3 bucket

  • Rendering

    • Handled by a super simple Vue.js single file component that queries and displays data with a bit of help from jQuery, Axios, and Anime.js

    • This component requires no build step, transpilers, complex web server setup (at the moment) just the Vue3 SFC http loader


Current Status

  • Still very scrappy, but is looking pretty good!

  • Many problems have been worked out

  • Several small issues have yet to be discovered (I’m sure of it)

  • Possible next steps

    • Containerize the app

    • Find a real place to host it

    • Use a legit content management system for the backend, rather than json files

    • Put some authentication behind it


Why I’m working on this

🗽You can read about it here.