04

LHBK Web

Non-Profit / Operations

RoleSoftware Engineer
Timeline2024 – Ongoing
ClientLittle Haiti BK
StatusLive
LHBK Web screenshot

Outcomes

5 SaaS tools → 1 platform

HRIS, CRM, forms, mapping, and CMS consolidated into one Next.js app a small ops team can maintain themselves.

Paychex API live

Submitted hours flow straight from staff timesheets into payroll, pre-validated against budget rules so exceptions surface before submission.

Overview

Little Haiti BK is a Brooklyn-based non-profit preserving Haitian culture and supporting small businesses through a Business Improvement District. What started as a community website grew into the organization's operating platform: staff timesheets with Paychex payroll integration, a form builder for community programs, file management, and a Mapbox-driven CRM for the BID's commercial property roster.

Next.js 15 App Router, Better Auth for staff + community sign-in, Prisma + PostgreSQL, with Mapbox for property mapping and Paychex API integration for payroll.

Challenge

LHBK runs on tight non-profit margins, so they couldn't afford a five-tool stack (HRIS + CRM + forms + maps + CMS). The goal was to consolidate operations into a single platform the team could maintain themselves, while keeping the public-facing community pages fast and accessible.

Tech Stack

Next.jsTypeScriptPrismaBetter AuthMapboxPaychex API

Architecture

SURFACESDATAINTEGRATIONSBID property CRMMapboxTimesheetsForm builderOne Prisma schemaproperties · people · forms · timePaychex APIpre-validatedBetter Authrole gates
Five SaaS tools (HRIS, CRM, forms, mapping, CMS) consolidated into one Prisma-backed platform a small team maintains itself. Timesheets are pre-validated against budget rules before they reach Paychex, so exceptions surface before submission.

Key Features

01

BID Property CRM

Mapbox-driven map of Business Improvement District commercial properties. Staff can browse, filter by status, and update property records inline. Replaces a spreadsheet-and-PDF workflow.

02

Timesheets + Paychex

Staff timesheet capture wired into Paychex's payroll API. Submitted hours flow straight to payroll without re-keying, cutting administrative overhead for the small ops team.

03

Form Builder + Community Hub

Schema-driven form builder for community programs (event signups, BID applications, surveys) that staff can configure without developer involvement. Wraps the public-facing community pages.

Lessons & tradeoffs

Little Haiti BK runs on nonprofit margins, so the win was never the slickest CRM. It was consolidating five SaaS subscriptions into one platform a small team can actually maintain themselves. Once you optimize for whoever keeps the lights on after you leave, you reach for the tool they can run, not the one that demos best.

Challenge

Paychex's API is a 'submit and hope' integration, and a payroll error in a small org is somebody's rent.

Decision

I built a validation layer that pre-checks timesheets against budget rules before anything reaches Paychex.

Lesson

Validate before the integration, not after. My own pre-submission checks caught more than Paychex's webhook responses did.

Challenge

One platform had to serve two very different audiences at once: internal staff running operations and community members signing up for programs.

Decision

I ran both on a single Better Auth instance and gated every surface by role instead of standing up a second auth system.

Lesson

When one platform wears two faces, clean role boundaries are what keep the staff tools and the public pages from leaking into each other.

Challenge

Staff needed to spin up new community forms without me in the loop, but flexible form builders get UX-mushy fast.

Decision

I shipped a schema-driven form builder, accepting that it trades polish for staff autonomy.

Lesson

Schema-driven builders save dev hours and cost UX hours. Worth it for an internal ops team, not for a public-facing product.

Next ProjectGood Call Technologies