Skip to content
Ismail Bentabet

Sweetr

A Twitter-style app with a SolidJS client and a Laravel API: short posts called sweets, threaded replies, likes and complete account flows.

For
A personal product, built in about a month over some 370 commits.
My role
Sole developer, client and API.
When
Dec 2023
Built with
SolidJS, TypeScript, Vite, Tailwind CSS, Laravel, Laravel Fortify
Sweetr home feed with a composer and three posts

The brief

I wanted to see how far SolidJS goes on a real app, not a counter demo, with a proper API behind it: sign-up, email verification, password reset and a feed people would use.

A SolidJS client

The client is SolidJS and TypeScript on Vite, with routing by @solidjs/router, requests through axios and a toast for every action that succeeds or fails.

Each user gets a generated avatar, so a new account never looks empty.

  • SolidJS, TypeScript and Vite
  • Tailwind CSS
  • @solidjs/router and axios
  • Generated avatars with DiceBear
Sweetr home feed with a composer and three posts

A Laravel API with tested auth

The API is Laravel with Fortify for register, log in, email verification and password reset, each covered by feature tests.

Sweets, comments and replies, and the interactions on them, are their own resources, with broadcast channels set up for live updates.

  • Laravel and Laravel Fortify
  • Feature tests for every auth flow
  • Sweets, comments, replies and interactions
  • Broadcast channels

What I'd keep

Fine-grained reactivity makes a busy feed feel light. Keeping the API strict, with feature tests on every auth flow, made the front end simple to write.