[ Product frontend · 01 ]
Boundless
Shared detail pages, workspaces and hackathon tools for a live funding platform
- Role
- Frontend developer
- Type
- Funding platform for builders
- Year
- 2025 – now
- Stack
- Next.js, React, TypeScript, Tailwind CSS, shadcn/ui, TanStack Query, react-hook-form + zod, Vitest

[ Overview ]
Boundless is where builders in the Stellar ecosystem find hackathons, bounties, grants and crowdfunding campaigns. I started contributing to the platform's Next.js codebase as an open-source developer in September 2025, and joined the team as a frontend developer in July 2026. 28 merged pull requests so far.
Boundless has four kinds of opportunity (hackathons, bounties, grants and crowdfunding) and each one needs a listing, a detail page and somewhere for organisers and contributors to manage their work. Work is planned as scoped issues against Figma designs and a typed API. I started on that board as an outside contributor and now work from it as part of the team.
The codebase is a large Next.js App Router project with generated OpenAPI types, React Query for data, react-hook-form and zod for forms, and tests in Vitest and Testing Library. Most of my work there is fitting new features into those conventions rather than inventing new ones.
[ My contributions ]
The parts I built, and where to find them.
References are pull request numbers. I built these features; teammates or maintainers reviewed them and sometimes added fixes before merging.
- 01Merged
One detail page for four kinds of opportunity
Built a shared detail feature used by hackathons, bounties, grants and crowdfunding: thin [slug] routes with loading skeletons, a pillar context, a data hook with a view-model mapper, and a DetailHeader composed from an organiser row, actions menu and participant meta.
#134 - 02Merged
The Discover landing page
Cards for each opportunity type, a featured carousel with snap scrolling and keyboard/touch support, a stats banner, and the reusable SectionHeader, PillarSection and PillarFeed pieces with their skeleton and empty states.
#31 – #41, #55 - 03Merged
Organiser tools: winners, announcements, activity
A bounty workspace for organisers: a countdown built on useSyncExternalStore to avoid hydration mismatches, a winners table with rank editing that locks once an award is on-chain, an announcement composer, an activity feed with filters, and CSV export.
#323 - 04Merged
Contributor workspace and workspace switcher
A ‘My Workspace’ area with projects, submissions, applications and saved items, filters kept in the URL, pagination and optimistic unsave. Plus a switcher between contributor and organiser consoles that reads context from the URL and remembers the last organisation.
#459, #296 - 05Merged
Hackathon features
Venue and timezone-aware timelines, a participants panel with team and skills filters and debounced search, a registration flow with organiser questions, project pages with milestones and voting, and submission details as an intercepting-route modal.
#174, #363, #594, #670, #710, #750
[ The pages ]
In the product.



[ Notes ]
- Boundless's platform repository is private, so PR links aren't public. The earlier public repo (boundlessfi/builders) has my Apollo/GraphQL setup and sponsor review dashboard.
- Several larger PRs include review commits from teammates. The features were mine; the final polish was shared.
[ Next project ]
Useroutr
Payment infrastructure
