SShortSingh.
Back to feed

Developer Builds Open-Source AI Journaling Tool That Runs Entirely on Local Machines

0
·1 views

A developer has created MindMirror, an open-source AI companion designed for emotional reflection that runs locally using Ollama, eliminating the need for cloud-based AI APIs. The tool combines journaling with AI-powered analysis, allowing users to explore emotional patterns while keeping their data entirely on their own device. MindMirror is built with Next.js on the frontend and FastAPI on the backend, and can be set up via Docker alongside a locally installed language model such as Llama 3. Its conversation structure is inspired by cognitive behavioural therapy, guiding users through steps like emotion detection, validation, and grounding. The project is fully open source and available on GitHub, with a live demo hosted on Vercel.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Nitter and XCancel Resume Service After X Corp Cease-and-Desist Threat

X Corp issued cease-and-desist letters on August 24 demanding the shutdown of Nitter instances and its repository, raising fears that two widely used privacy-friendly Twitter viewers would disappear. After seeking legal advice, the Nitter project confirmed it will continue operating, and XCancel has also come back online. Nitter is an open-source, JavaScript-free alternative front end that supports self-hosting, though public instances remain only as reliable as whoever runs them. XCancel offers a simpler, no-setup option for quickly viewing public profiles, but users have no control over its availability. Both tools serve overlapping but distinct needs, and experts suggest bookmarking multiple viewers since any service relying on public X data can break if the platform changes its access rules or rate limits.

0
ProgrammingDEV Community ·

How generateStaticParams Interacts With Next.js Cache Components: Key Findings

A developer built a test project to answer unresolved questions about how generateStaticParams behaves with Next.js Cache Components, after community members raised edge cases in a previous post. The tests showed that knowing route IDs at build time does not automatically exempt a route from the stream, cache, or block requirement enforced by Cache Components. Using a Suspense wrapper passes the build but leaves known static IDs marked as Partial Prerender, while replacing it with a 'use cache' directive bakes those paths into fully static output. When a layout and a page both access the same route params unguarded, fixing only the page component is insufficient — the layout must also be addressed independently. Additionally, the dynamicParams route config option is disabled when cacheComponents is active, meaning unlisted IDs are handled at request time rather than returning a 404.

0
ProgrammingDEV Community ·

MonoLisa vs. Monaspace: How Two Popular Coding Fonts Compare

MonoLisa and Monaspace are two widely used monospace typefaces designed for coding, each optimized for different priorities. MonoLisa supports more languages and writing systems, offers more fixed weights, and features more distinctly redrawn italic forms compared to Monaspace. Monaspace, developed by GitHub, is free and open source, exposes three variable axes (weight, width, and slant), and includes five coordinated font families that can be mixed within a single codebase. A standout Monaspace feature called texture healing allows wider letters to borrow unused space from adjacent narrow letters, improving visual rhythm while preserving the monospace grid. Both fonts support coding ligatures, terminal symbols, and rich stylistic customization, making the choice largely dependent on budget, language needs, and personal preference.

0
ProgrammingDEV Community ·

How to replace localhost port numbers with custom local domains using HAProxy and mkcert

Developers working with multiple local apps often juggle hard-to-remember port numbers like localhost:46176, which can be replaced with cleaner custom domain names such as omnideck.omni. The setup uses HAProxy as a reverse proxy, mkcert for local HTTPS certificates, and Homebrew for installation and service management on macOS or Linux. Custom hostnames are mapped to 127.0.0.1 via the /etc/hosts file, while HAProxy listens on port 80 and forwards requests to the correct local port based on the domain name. This approach improves readability, enables testing of production-like behavior for cookies, CORS, and OAuth redirects, and allows multiple apps to run simultaneously without port conflicts. A key security step involves restricting HAProxy's wildcard bind to loopback addresses only, preventing external devices on the same network from reaching the local apps.

Developer Builds Open-Source AI Journaling Tool That Runs Entirely on Local Machines · ShortSingh