Lavenes Confession: Anonymous Confessions and Greeting Cards

Words people would not sign
In a student community, people sometimes want to send words they would not attach a name to. A confession, a thank-you, or a card for a teacher on a holiday all need a place light enough to write in.
Lavenes Confession started in 2019 to be that place. Users write anonymous confessions, optionally with a background card or attached media, and post them to a shared feed. There is also a set of ready-made greeting cards, from Teachers' Day cards to Lunar New Year lucky-money cards.

Reactions instead of long replies
Each post has five reactions: like, love, sad, angry and funny. Comments are nested into threads, so a reader can follow a conversation. The interface has a dark mode and is built to work well on phones, tablets and desktops.
Filtering toxic posts: the hardest decision
With anonymity, the hardest part is not the code. One post full of abuse can drown the whole feed, and the readers who are kind leave. I had to choose a mechanism to filter dirty and toxic content.
That decision had a cost. The community wanted two different things. Some wanted a clean feed, and others wanted drama. Filtering kept the first group, but it lost part of the second group. I accepted that, because a feed nobody wants to read has no value.
Audited and published in 2026
In 2026, I audited the whole codebase so it could be published. The system does not store any user information. Only the content of each post is saved, so no one has to leave an identity to post.
The stack is React on the front end, Node.js with Express, MongoDB, and Socket.io for live updates. The project is now archived. I planned the features, designed the interface and wrote the code myself.
Tech Stack
React
Node.js
MongoDB
Socket.io
Sass