PrepNexus is a native iOS and Android exam-study app, tuned first for CompTIA A+ Core 1 220-1201, CompTIA A+ Core 2 220-1202, and CompTIA Security+ SY0-701.
- iOS version/build:
3.2 (22) - Android version/code:
1.0 (1) - Release focus: enforced Apple App Attest protection for AI and adaptive-learning requests, plus Render Starter hosting with persistent learner and attestation state.
- Main project:
StudyBuddy.xcodeproj - Android project:
Android/ - Android Studio and Google Play guide:
AndroidMigrationGuide.md - Google Play data-safety checklist:
GooglePlayDataSafety.md - AI server:
AI_SERVER/ - App Store/TestFlight guide:
TestFlightGuide.md - App Store upload configuration:
AppStoreExportOptions.plist - Release action guide:
ReleaseNotes_3.0.md - App Review notes:
AppReviewNotes_3.0.md - App Store privacy answers:
AppPrivacyAnswers.md - Public support source:
Support.mdandSupport.html - Render hosting guide:
RenderDeploymentGuide.md - App Attest rollout guide:
AppAttestDeploymentGuide.md
- Today dashboard with countdown, daily study target, app-open streak tracking, progress, focus areas, and more useful exam-ready coaching notes.
- First-time dashboard state that shows starter defaults, grayed/zeroed metrics, and a baseline Quick Practice recommendation until the user starts studying.
- Achievement system with hard targets, progress bars, and an animated congratulations overlay when an achievement is completed.
- Active exam picker for switching between A+ Core 1, A+ Core 2, and Security+.
- Study plan organized by objective domain.
- Learn tab with objectives, adaptive flashcard decks, interactive labs, cheat-sheet PDFs, video links, and exam strategy tips.
- Six original hands-on environments across A+ Core 1, A+ Core 2, and Security+, covering terminal troubleshooting, printer service, workstation service configuration, malware response, firewall hardening, and SOC investigation.
- A virtual terminal that accepts typed
ipconfig,ping, andnslookupcommands and maintains isolated DNS and network state. - Stateful printer, service, malware, firewall, and SOC workspaces where controls alter the simulated system and grading evaluates the final state.
- Guided mode with coaching and mobile command shortcuts, plus Challenge mode that hides those assists.
- Per-exam lab progress and best scores that participate in the study dashboard and clear during Reset All Progress.
- Practice tab with difficulty-aware randomized Quick Practice, Real Exam Mode, Speed Training, Exam Stress Mode, Nightmare Mode, and AI Targeted Recovery Exam.
- Quick Practice is filtered to the selected exam so A+ Core 1, A+ Core 2, and Security+ questions do not mix, and every randomized question is guarded to show at least four answer choices.
- Results tab with per-exam score history, latest score, readiness, confidence, PBQ average, objective progress, trend review, and next-step coaching.
- Exam simulation mode with randomized 90-question sessions, a 90-minute timer, PBQs first, flag-for-review, review screen, automatic confidence tracking, hard PBQ-style items, matching scenarios, drag-to-order scenarios, scaled-score estimates, and result review.
- Expanded difficulty-aware question generation for all three built-in exams, with scenario-based prompts, domain-specific plausible distractors, fresh ordering each run, and no copied paid-bank content.
- Plan tab AI study target with recommended daily minutes, suggested exam date, domain-by-domain time targets, and adaptive follow-up after tasks are completed.
- Learn tab in-app PDF cheat sheets rendered with PDFKit.
- Optional AI tutor server in
AI_SERVER/that learns from full attempts and missed-question reviews for all three exams. - Apple App Attest registration and signed assertions for protected AI requests on supported physical devices.
- Automatic AI server startup support for Xcode simulator runs through the shared
StudyBuddyscheme. - A welcoming splash screen that appears when the app opens and stays visible for about 5 seconds.
- Settings tab for changing the active exam, displayed exam label, personal focus notes, all-progress reset, and AI server URL.
- Local study storage with
UserDefaults, plus HTTPS calls to the configured AI tutor server for health checks and AI-enabled learning features. - A simple app icon asset and App Store/TestFlight checklist.
- A detailed Xcode-to-TestFlight walkthrough in
TestFlightGuide.md. - An update and future iOS maintenance plan in
UpdateAndMaintenancePlan.md.
- Open
StudyBuddy.xcodeproj. - Select the
StudyBuddytarget. - In Signing & Capabilities, choose your Apple Developer Team.
- Change the bundle identifier from
com.example.studybuddyto one you own, for examplecom.yourcompany.studybuddy. - Run on an iPhone simulator or connected iPhone.
- Open Android Studio.
- Choose Open and select the
Androidfolder. - Let Gradle sync with Android Studio's bundled JDK.
- Select a phone, tablet, resizable, or foldable API 36 device.
- Run the
appconfiguration.
The Android client uses adaptive window layouts, so Fold-class devices receive compact navigation while folded and two-pane navigation, learning, practice, results, and lab layouts when unfolded. See AndroidMigrationGuide.md for signing and Google Play internal testing.
For the full upload path, read TestFlightGuide.md.
The iOS app can call the optional Node server in AI_SERVER/ after a practice exam or missed-question review. The server keeps the OpenAI API key off the device, stores a per-student learning profile, and returns Socratic coaching, weak-objective assignments, PBQ drills, flashcards, scenario review, and video review tasks.
PrepNexus automatically checks the AI server /health endpoint when the app opens and keeps retrying in the background. The user does not need to press a button to connect. The status appears in Settings under AI Tutor Server.
The local AI server was verified with OpenAI billing enabled. A sample AI tutor interaction returned source: openai. That measured request used 310 input tokens and 567 output tokens, about $0.0093 on gpt-5.6-terra at the listed pricing of $2.50 per 1M input tokens and $15.00 per 1M output tokens.
Hosted production server:
https://studybuddy-ai-server-m5zi.onrender.com
PrepNexus uses this Render URL as the default AI Tutor Server URL for new installs and migrates older saved placeholder or localhost defaults to it. You can still enter a different server URL in Settings if you host another backend later.
For local simulator testing with a local Node server:
- Open
StudyBuddy.xcodeproj. - Select the shared
StudyBuddyscheme. - Run the app.
- Xcode runs
AI_SERVER/ensure-ai-server.commandbefore launching the simulator app. - Change the AI Tutor Server URL in Settings to
http://127.0.0.1:8787if you intentionally want the simulator to use your local Node server instead of Render.
To use live OpenAI tutoring locally, run AI_SERVER/start-ai-server.command once and paste your API key when it asks. The script hides the key while you type, saves it in AI_SERVER/.env, and starts the server.
For TestFlight or the App Store, the included default is the hosted Render HTTPS URL above. The iOS app cannot run Node.js directly on the device, so the production server must stay deployed as an always-on hosted service.
Your local AI_SERVER/.env file is intentionally excluded from StudyBuddy.zip. If you move the project to another Mac or upload it to a host, create the environment variables again on that machine or hosting provider.
For Render hosting, read RenderDeploymentGuide.md. The project includes a root render.yaml for deploying the full StudyBuddy repo and an AI_SERVER/render.yaml for deploying a server-only repo.
Version 3.2 build 22 uses Apple App Attest in enforced mode for the iOS AI request flow. Android protected AI requests require a separate Google Play Integrity rollout; the Android app remains usable offline until that security gate is complete. See AppAttestDeploymentGuide.md and AndroidMigrationGuide.md.
Edit StudyBuddy/ExamCatalog.swift.
Useful places to update:
domains: official objectives, weighting, and focus summaries.studyTasks: daily checklist items.flashcards: quick recall material.practiceQuestions: original practice prompts and explanations.aPlusCore1ChallengeQuestions,aPlusCore2ChallengeQuestions, andsecurityPlusChallengeQuestions: harder randomized scenario banks.aPlusCore1HardPerformanceItems,aPlusCore2HardPerformanceItems, andsecurityPlusHardPerformanceItems: hard PBQ-style simulation items.simulations(for:): short and full exam simulator profiles and PBQ-style items.quickTips: short coaching notes.exams: the built-in list shown by the Settings exam picker.AI_SERVER/server.js: AI tutor behavior, learning profile logic, and server-side OpenAI call.StudyBuddy/InteractiveLabs.swift: lab catalog, session routing, persistent grading, and results.StudyBuddy/LabSimulationEnvironments.swift: terminal, printer, support workstation, firewall, packet-test, and SOC environments.
Avoid adding real exam questions or copied paid question-bank content. For App Review and exam-vendor rules, keep questions original and include the existing independent-study disclaimer.
PrepNexus uses CompTIA-style scaled-score estimates on a 100-900 range with public-style pass thresholds. CompTIA's exact scoring algorithm and real item weights are proprietary, so the app does not claim to reproduce official scoring exactly.
- App category: Education.
- Privacy: If you enable the AI tutor server, disclose that exam performance, selected answers, inferred confidence signals, and study activity may be sent to your server for personalization.
- Privacy: Build 20 also sends an App Attest key identifier, attestation material, signed assertions, and anti-replay counters to protect the AI service. These values are used for app functionality and security, not advertising or tracking.
- Suggested age rating: 4+ unless you add web access, social features, or user-generated content.
- Do not imply endorsement by CompTIA. Keep the app name as
PrepNexus: IT Certsand retain the independent-study disclaimer. - Before release, compare all objectives and weights against the current official CompTIA 220-1201, 220-1202, and Security+ objectives PDFs.
- App updates, bug fixes, and future iOS compatibility releases should be delivered through TestFlight and the App Store.