Skip to main content

Work 03 · Full-Stack

Bevisly

Turn skill claims into structured, verifiable proof.

Role
Personal project, built solo
Scope
Full-stack
Year
2025 – now
Built with
React, TypeScript, Vite, Supabase, Tailwind CSS, Vitest
Bevisly, screenshot
01/03Bevisly
Database security
RLS
AI features
8+
SEO score
100

Overview

A platform where skill claims come with structured, verifiable proof. Built full-stack with Supabase, PostgreSQL, and a row-level security model designed for multi-role data isolation.

The challenge

Skills are claimed everywhere and verified nowhere. The product problem was making endorsements mean something. The technical problem was designing multi-role data isolation at the database layer, so the security model is a constraint, not a client-side hope.

Approach

Supabase for RLS-based multi-role auth so security lives in the database, not the frontend. React and TypeScript on the front so the data model surfaces cleanly in the component tree. Next.js for SSR and SEO.

How it was built

I owned the product end to end. I defined the two-role model, candidate and employer, and made one call early: enforce access with database-level row security instead of application-level checks. Why it matters: if those checks lived in the frontend or API, one missed guard would leak another role's data, and I would be trusting every future feature to remember the rule. Pushing it into the database means the rule holds even when the UI is wrong. I designed those policies before writing any UI, then shipped 8+ AI features on top of a security layer most side projects skip. I also designed the Employer Responsibility Score and Candidate Reliability Score to make ghosting visible and costly, an incentive-design decision, not a feature request.

The Making

  1. 01 · Brief

    I was applying for frontend jobs and getting rejected before anyone saw my work. So I started building a place to prove skills instead of claiming them: you complete a real task, it stays on your profile, recruiters rate it, and you decide whether it is public. Even after a rejection, the proof stays.

  2. 02 · First version, November 2025

    Bevis in November 2025: a dark hero reading 'Proof replaces promise. Fair, fast, and verifiable hiring for emerging talent', with a job search box.

    Still called Bevis, with one promise on the front page: proof replaces promise.

  3. 03 · Second version, February 2026

    Bevisly in 2026: 'Prove your skills. Get hired. Keep the proof forever.' above a box for generating a skill task from a job description.

    Renamed Bevisly and rebuilt around one line: prove your skills, get hired, keep the proof forever.

  4. 04 · Turning point

    A profile full of completed tasks turned out to be a portfolio by another name. In September 2026 Bevisly became a job board that can ask for the work, and it is now becoming a freelance platform.

  5. 05 · In progress, October 2026

    Bevisly in October 2026: 'Your work, confirmed by the clients who paid for it.' with a Create your page button.

    One page of your projects, each confirmed by the client who paid for it. Still being built.