One Project, Many Stories: Project Storytelling with Gemma
Somehow this post was stuck in draft and I couldn't publish it. The following post is what I meant to submit to the Week Two Hacktoberfest Challenge. What I Built One Project, Many Stories turns one set of pr
Somehow this post was stuck in draft and I couldn't publish it. The following post is what I meant to submit to the Week Two Hacktoberfest Challenge.
What I Built
One Project, Many Stories turns one set of project facts into three editable drafts: a portfolio case study, a hiring summary, and a demo outline.
You supply the problem, your contribution, features, tradeoffs, and outcomes. Gemma shapes the writing for each audience. Source references stay in a separate review view, so copied and downloaded drafts are clean.
For the Side Hustle theme, Iโm exploring a tool for developers and freelancers who repeatedly write about their work. It could also support a project storytelling service. Whether people would pay is still a hypothesisโI havenโt validated demand or revenue.
Demo
YouTube demo: https://youtu.be/qKRQhKB3e9s
The walkthrough uses Patchwork, a clearly labeled synthetic project, and shows a real hosted Gemma response. You can load the same sample in the app. Hosted generation requires consent to send the notes to Google; please use synthetic or public information.
The demo outline only uses screen actions you write and confirm. The sample has none confirmed, so the app leaves that outline empty instead of inventing a walkthrough.
Code
prophen
/
one-project-many-stories
A local, source-preserving editorial workspace for turning one project into three audience-specific stories. Real-model inference not yet tested.
One Project, Many Stories
A focused local editorial workspace for developers and freelancers who repeatedly explain the same project to different audiences. Built October 18, 2026 for the Hacktoberfest Week 2 Side Hustle prompt. Buyer interest and willingness to pay are hypotheses, not validated findings.
Run
Requires Node 22.12+ (tested with Node 26), npm, and either a local Ollama model or a user-configured Gemini API key for AI generation.
npm ci npm run dev
Open http://127.0.0.1:5188. The app binds to loopback. It opens on a short landing page; Start with your project or Explore a synthetic sample takes you to the Facts screen. The Vite development server includes the local model API. On Vercel, the api/ functions provide hosted Google generation; dist/ alone is still only a frontend.
For generation, start your existing Ollama runtime (ollama serve) and install an open-weight instruction model of your choice afterโฆ
The application source is MIT licensed. Model and dependency licenses are separate.
How I Built It
The app uses React 19, TypeScript, and Vite 7, with Vercel functions calling Googleโs Gemini REST API. The server keeps the API key and uses the open-weight model gemma-4-26b-a4b-it.
Gemma writes structured, audience-specific drafts with source IDs. The app checks the response format, source references, summary length, and links to confirmed demo actions. Thereโs no mock fallback if generation fails.
An early version mostly rearranged the input passages. The results felt too much like the form, so I changed it to write distinct drafts while keeping the original notes available for review.
Whatโs tested: the latest completed checks passed 36 unit tests, 19 Chrome browser tests, and the production build. Automated generation tests use mocks. Separately, a real synthetic request completed the deployed browser โ backend โ Google โ output flow.
What still needs work: that real response omitted a qualification about testing and measured revenue from the hiring summary. Source IDs donโt prove factual accuracy, so every draft needs human review. Local Ollama inference and generated demo narration with confirmed actions have not completed real-model testing.
Drafts are editable, and changed facts mark existing drafts stale. Evidence links arenโt fetched. Project content stays in browser memory; there are no accounts or database.
Why Does Open Innovation Matter?
I want developers to be able to inspect and adapt the model integration, prompts, and validation rules.
Gemma provides an open-weight foundation, and the app also includes a local Ollama adapter. That offers a path toward running inference under your own control, although that local path is still unverified.
The working demo sends notes to Google. Iโm not claiming offline privacy, lower costs, or better quality than a closed model. The value of openness here is the ability to experiment with the writing workflow and inference setup as the project develops.
Which would help you most: the case study, hiring summary, or demo outline?
Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes โ full credit and traffic to the original publisher.