A personal finance workspace that makes budgeting feel calm instead of chaotic.
Summary
FinanCinno is a lightweight finance app for tracking spending, reviewing habits, and making sense of monthly budgets from a single place.
Built for people who want structured financial visibility without the overhead of a full accounting tool.
Problem
Most budgeting tools are either too rigid or too noisy. Expense entry is repetitive, insights arrive late, and the experience rarely feels calm enough for daily use.
Solution
A friction-light flow: capture spending quickly, surface useful context in plain language, and keep the interface calm so it stays useful over time.
Features
Architecture
Stack: React · Node.js · Express · MongoDB · Clerk · Vercel
React SPA sends requests through a thin Express API layer.
MongoDB stores transactions and budget state as flexible documents.
Clerk handles authentication so sign-in and access control stay simple.
MongoDB was chosen for flexible document shapes around spending records and budget snapshots.
Key code
router.post("/api/transactions", requireAuth, async (req, res) => {
const { amount, category, description, date } = req.body;
const transaction = await db.transactions.create({
userId: req.auth.userId,
amount,
category,
description,
date: new Date(date),
});
// Auto-update budget coaching
const budget = await db.budgets.findByUserAndCategory(
req.auth.userId, category
);
if (budget && budget.spent + amount > budget.limit) {
transaction.coaching = {
type: "warning",
message: `You've used ${Math.round(((budget.spent + amount) / budget.limit) * 100)}% of your ${category} budget.`
};
}
res.json({ transaction });
});Results
Core flow is usable as a daily habit rather than a quarterly chore.
Taught me that a good finance experience depends on clarity and pacing, not features.