AutonomousVehicleControlBeginnersGuide
Python sample codes and documents about Autonomous vehicle control algorithm. This project can be used as a technical guide book to study the algorithms and the software architectures for beginners.
Download ApexPrep by Mikaela Arey on the App Store. See screenshots, ratings and reviews, user tips, and more apps like ApexPrep.
EducationJavaScript · TypeScriptGitHub @MikaelaAreyOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
MCAT and LSAT practice for iPhone, live on the App Store: 1,000+ original MCAT questions, FSRS spaced review, the Climb, badges and offline-first sync. Expo, React Native, TypeScript, SQLite and Supabase.
Loading the full README.
Read the full README ↗Download on the App Store · Website
MCAT and LSAT practice built for two-minute gaps. An iPhone app (Expo / React Native) with a Daily 5, Quick Drills, passage sets, spaced review that plans around the test date, streaks, stats, and explanations for every answer choice. It works fully offline; accounts and backup run on Supabase.
The game layer:
npm install
npx expo start --ios # opens in Expo Go on the simulator
npm run ios:native # full native build (needs Xcode + CocoaPods)
The native build is needed for Sign in with Apple and real notifications. If Xcode
isn't your active developer directory, prefix commands with
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer (or run
sudo xcode-select -s /Applications/Xcode.app once).
Without keys the app runs offline and never syncs. To connect it, follow
docs/SUPABASE.md: create the project, run
supabase/schema.sql, switch on anonymous sign-ins, and put the URL and
publishable key in .env.local (see .env.example).
| Path | What's there |
|---|---|
content/ | The question bank, as YAML. Edit here, then npm run content. Files ending in -gen.yaml are generated. |
scripts/item-models/ | Code that generates questions: MCAT calculations, concept sets and LSAT formal logic. |
src/content/ | Taxonomy (sections, question types, trap labels) and the compiled packs. |
src/engine/ | Pure logic: streaks, XP, mastery, FSRS-6 spaced review, session building, stats, difficulty levels, the Climb, badges, scores and Sprout's lines. |
src/data/ | On-device SQLite storage (the source of truth). |
src/state/ | App store and derived data (streak, due reviews, today's plan). |
src/sync/ | Supabase sync engine and accounts. |
src/app/ | Screens (Expo Router). src/session/ holds the study-session screens; src/ui/ holds shared pieces such as Sprout, confetti and badge medals. |
supabase/ | Database schema, and a local stand-in for testing sync. |
.maestro/ | UI flows that drive the app in the simulator. |
The bank has 1,037 MCAT questions and 256 LSAT questions. All are original
practice items written for ApexPrep, not official AAMC or LSAC content. Every
item still needs review by a top scorer before it's marked status: live.
npm run items # regenerate the *-gen.yaml files from scripts/item-models/
npm run content # validate, rank by difficulty and compile into the app's packs
npm test # unit tests: engine, game layer, and a check of every question
npm run test:sync # sync engine against a local Postgres + PostgREST stand-in
npm run typecheck && npx eslint .
UI flows (simulator must be booted and the dev server running):
maestro test .maestro/onboarding.yaml .maestro/daily5.yaml .maestro/tour.yaml # Expo Go
maestro test .maestro/native/first-run.yaml .maestro/native/review.yaml .maestro/native/exams.yaml .maestro/native/game.yaml # native build
The dev-only link apexprep://dev-reset?onboarded=1&exam=LSAT&demo=1 resets the
app and loads three weeks of demo history; Settings → Developer has the same
tools. None of it ships in release builds.
python3 -m pip install pillow && python3 scripts/make-icons.py
Copyright © 2026 Mikaela Arey. All rights reserved; see LICENSE.