Project / 2026
ThinkUp Website
Presentation site of think-up.academy, with the recruitment system, a blog and contact.
- Role
- Tech Director. Author of 43 of 49 commits.
- Team
- Team of 3, built with the ThinkUp team.
- Vite
- React
- TypeScript
- Tailwind
- shadcn/ui
- Supabase

01
Problem
ThinkUp Academy needed a presentation site for think-up.academy and the infrastructure of its recruitment system, with staff managing the content themselves.
02
What I built
Recruitment opens and closes from settings, and the form stays hidden if the setting cannot be read. Admin sections are gated by role, and an Edge Function creates admin accounts.
03
Result
The presentation site of think-up.academy, with departments, blog, partners and contact. Behind it sits the recruitment system: an admin dashboard for applications, members, content and recruitment status.
04
In the code
The application form fails closed when the recruitment setting cannot be read.
src/pages/JoinUs.tsx
Routes and navigation are gated by role.
src/pages/admin
Admin accounts are created by an Edge Function.
supabase/functions/create-user/index.ts
Recruitment moved from one applications table to program-based tables.
supabase/migrations/20260829140000_recruitment_full.sql
05
Size
- 49 commits
- 9 migrations