Development Log · Building step by step

The journey of Faber.
From Day 0 to campus scale.

Stay up to date with the latest changes to Faber! I've been working hard to make Faber the best it can be. Thanks everyone for your feedback! ❤️

v0.8.0Security Latest Release

Multi-Email Security & Student Leadership Delegation

Unifying academic and personal identities with cryptographic verification and empowering student Class Representatives.

As students navigate between personal side projects and multiple university cohorts, identity integrity became paramount. I engineered multi-email account support with cryptographic secondary verification tokens to eliminate unverified account risks. Concurrently, I introduced the Class Representative role with seamless workspace switching—empowering student leaders to coordinate cohorts, review rosters, and launch stages without requiring administrative faculty access.

Key Implementations
Secondary Email Verification State EngineSecurity

Hardened the multi-email model with two-stage cryptographic verification tokens, ensuring secondary emails remain strictly isolated until explicit inbox challenge completion.

Class Representative (CR) Role DelegationRBAC

Implemented dynamic workspace-level role detection and switching. Class Representatives can launch stages, build cohorts, and oversee class rosters with tailored permissions.

Auditorium & Tablet Responsive Stage KioskStage UX

Overhauled layout breakpoints with fixed-height containers to eliminate layout shifts during slot machine spins, and introduced a responsive slide-out drawer for tablet and mobile control.

CSV Roster Sanitization & Duplicate ProtectionData Ingestion

Reinforced CSV student ingestion with automated email sanitization, registration number uniqueness validation, and scoped member deletions.

Stack:Multi-EmailClass RepresentativeJWT Context SwitcherResponsive StageCSV Pipeline
v0.7.0Expansion

The Activity Hub: Group Discussions & 10-Star Rubrics

Transitioning from single-stage lotteries into a multi-student collaborative debate and discussion engine.

Classroom communication is not confined to monologue presentations. True soft-skill mastery requires spontaneous debate, consensus building, and group dynamics. I shipped the Group Discussion activity engine, allowing professors to convene multiple students on the floor concurrently. I also overhauled evaluation precision, expanding rubrics to a 10-star quantitative model paired with qualitative observation logs.

Key Implementations
Group Discussion Activity EngineCore Engine

Built multi-participant round tracking with real-time participation scoring, group consensus timers, and consolidated faculty review sheets.

10-Star Quantitative Evaluation RubricsRubrics

Replaced rigid rating scales with granular 10-star rubrics across technical depth, articulation, and stage presence, backed by instant calculated percentages.

Deterministic Glassmorphic AvatarsPrivacy

Integrated local DiceBear Loops avatar generation, generating privacy-preserving deterministic glass avatars without third-party CDN tracking or latency.

Dual MIME-Type Transactional EmailsComms

Enhanced system-wide notification dispatch with plain-text fallback alternatives and official brand assets for guaranteed inbox deliverability.

Stack:Group DiscussionActivity Engine10-Star RubricDiceBear AvatarsEmail Deliverability
v0.6.0Infrastructure

National College Database & Institutional Approval Pipeline

Streamlining campus adoption with a national higher-ed catalog and automated verification pipelines.

Bringing Faber to colleges across the country required eliminating administrative friction. I built an automated institutional approval and rejection pipeline for platform administrators, complete with email notification alerts. I also curated, sanitized, and bundled thousands of accredited universities and colleges into a high-speed autocomplete search engine.

Key Implementations
National University & College DatasetData Pipeline

Sanitized and indexed thousands of higher-education institutions with sub-millisecond local fuzzy search and department name suggestions during registration.

Institutional Verification PipelineSuper Admin

Built a dedicated Super Admin review queue with one-click approval/rejection workflows, automated campus provisioning, and transactional email dispatch.

Selenium E2E & Cloud Stress Test SuitesReliability

Authored automated Selenium browser tests, Postman API collections, and cloud load tests simulating hundreds of concurrent classroom evaluations under load.

Inline Topic & Metadata ManagementClass Management

Added instant in-place editing of assigned topics and student roster metadata directly within class management dashboards.

Stack:Institutional PipelineCollege SearchSelenium E2ECloud StressDepartment Suggestions
v0.5.0Stage UX

The Auditorium Stage Wheel & Pre-Assigned Syllabi

Re-imagining speaker selection for lecture hall projectors with physical suspense and syllabus mapping.

Projecting onto 100-inch auditorium displays requires software that commands attention and builds excitement. I redesigned the stage selection mechanism into a high-visibility, physics-paced slot machine spinner wheel with audible cues. To support semester-long curriculums, I added the Pre-Assigned Topic engine, allowing instructors to map syllabus chapters to students in advance.

Key Implementations
Physics-Paced Selection WheelKiosk UX

Engineered a randomized lottery wheel with suspense timing, automated absence awareness, and sound chime cues designed specifically for lecture hall smartboards.

Pre-Assigned Topic Mechanism (`PRE_ASSIGNED` Mode)Syllabus Engine

Added support for mapped syllabus presentations alongside impromptu lotteries, automatically drawing the student's assigned topic as their wheel lands.

Cohort Lifecycle & Trash RecoveryData Safety

Implemented soft deletion with a dedicated `/trash` restoration interface, ensuring professors never lose academic evaluation records from accidental deletion.

Multi-Theme Stage CustomizationTheming

Added selectable color themes and stage styling options to accommodate different auditorium lighting environments and smartboard displays.

Stack:Stage WheelSlot MachinePre-Assigned TopicsTrash RecoverySmartboard Kiosk
v0.4.0Security

Enterprise Security, 'God's Eye' Impersonation & Audit Trail

Fortifying campus compliance with immutable audit logging, non-blocking auth, and administrative impersonation.

Enterprise software in academia must satisfy rigorous governance standards. I implemented structured audit logging across all platform actions, built Super Admin user impersonation ('God's Eye') with seamless cookie restoration for in-situ troubleshooting, and migrated transactional email dispatch to non-blocking asynchronous threads to eliminate OTP timeout bottlenecks.

Key Implementations
'God's Eye' Impersonation SuiteSuper Admin

Engineered a secure context-swapping protocol enabling superadmins to inspect faculty or student views in-situ with automatic cookie restoration upon return.

Asynchronous OTP & Email DispatchPerformance

Decoupled email delivery from primary HTTP threads using Spring async task executors, preventing network timeouts during high-traffic orientation days.

Immutable Security Audit LogsCompliance

Structured relational audit logs tracking every role elevation, score modification, cohort change, and institutional access attempt.

Self-Service Password RecoverySecurity

Built a secure forgot/reset password architecture using time-bounded cryptographic tokens and rate-limited verification endpoints.

Stack:God's EyeAudit LogsAsync SpringPassword RecoverySecurity Hardening
v0.3.0Infrastructure

Production DevOps, Caddy Ingress & Native ARM64 CI/CD

Moving from local development to automated, zero-downtime containerized cloud deployments.

Transitioning from local development to production readiness required a hardened cloud pipeline. I containerized the Next.js frontend, Spring Boot backend, and PostgreSQL with Docker Compose, replaced legacy Nginx routing with Caddy automatic HTTPS, and migrated GitHub Actions to native ARM64 runners to eliminate slow QEMU emulation.

Key Implementations
Zero-Downtime Deployment PipelineDevOps

Automated GitHub Actions deployment pipeline with pre-deployment container teardown, health checks, and automatic rollback to eliminate port conflicts.

Native ARM64 Cloud RunnersCI/CD

Switched continuous integration from emulated cross-compiles to native ARM64 runners, cutting container build and test runtimes by over 70%.

Caddy Ingress & Host RoutingNetworking

Streamlined reverse proxy configuration with Caddy for automatic Let's Encrypt SSL/TLS certificate renewal and host-port routing.

Strict TypeScript & Memory HardeningStability

Resolved strict-mode typing issues in the Stage components and tuned JVM heap limits for optimal memory efficiency on cloud nodes.

Stack:Docker ComposeARM64CaddyGitHub ActionsJVM Tuning
v0.2.0Architecture

The Live Stage Engine & Decoupled Multi-Tenancy

Building the core classroom projection kiosk and establishing strict multi-tenant boundary rules.

The foundational premise of Faber was validated here: replacing chaotic roll calls and paper stopwatches with an impartial, software-guided Stage. I built the real-time stage projection kiosk with speech intervals and synchronized faculty grading forms, and decoupled user accounts from institution memberships so personal student progress is never compromised by institutional bounds.

Key Implementations
The Live Selection Stage (v1)Core Engine

Developed the real-time classroom projection interface with countdown segment timers, dynamic student lottery calls, and instant faculty rubric inputs.

Decoupled Multi-Tenant SchemaArchitecture

Architected strict relational boundaries separating personal user activity from institutional classes, adhering to zero cross-tenant data visibility rules.

4-Tier Role-Based Access ControlRBAC

Implemented comprehensive authorization across Super Admin, Institution Admin, Faculty, and Student tiers with fine-grained endpoint protection.

Podium Stage CredentialsPodium Security

Engineered dedicated class-stage login accounts so faculty can run sessions on shared classroom smartboards without typing personal passwords on public projectors.

Stack:Live StageMulti-TenantRBACPodium ModePostgreSQL
v0.1.0Genesis

Day 0: The First Commit & Monorepo Genesis

Scaffolding the full-stack monorepo with Spring Boot, Next.js, and Flyway database migrations.

Faber began with a straightforward observation: presentation and speaking hours in higher education are universally disengaged, biased by hand-raising, and governed by lost paper sheets. On July 24, 2026, I wrote the first commit to scaffold the full-stack monorepo with Spring Boot 3 on the backend, Next.js with React 19 on the frontend, and PostgreSQL managed via Flyway migrations.

Key Implementations
Full-Stack Type-Safe MonorepoStack

Architected a production-ready monorepo combining Java 21 / Spring Boot 3 for high-performance transactional logic and Next.js / TypeScript for a modern web interface.

Flyway Database VersioningDatabase

Implemented automated SQL migration tracking from Day 0, guaranteeing deterministic database state across all local, testing, and production environments.

Core Domain AbstractionsDomain Model

Drafted initial entities for institutions, faculties, students, cohorts, classes, and speech activities, laying the groundwork for extensible strategy engines.

Stack:GenesisSpring Boot 3Next.jsJava 21PostgreSQLFlyway

I'm just getting started.

Classroom presentations and group discussions are only the beginning. I am actively building town halls, mock vivas, and collaborative parliamentary formats to empower students everywhere.