This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
#
What I Built
As a student developer balancing coursework, side projects, job applications, and leadership roles in university societies, my biggest bottleneck was chaos. My technical progress lived in scattered git commits, draft ideas were lost in private Gemini/Claude chats, I constantly lost track of job application deadlines, and sitting down to write updates for Substack or LinkedIn felt like starting from a blank void every single time.
I built magpie (cdesk) β an offline, local-first work journal, posting desk, and productivity hub.
Instead of an AI that generates generic marketing fluff, magpie starts with the work you actually did:
Frictionless Capture Inbox: One-command ingestion of daily git commits, raw notes, or exported AI chat histories (Gemini / Claude JSON), tagged by origin and deduplicated.
2.
Source-Linked Work Journal: Daily and weekly summaries whereevery single line cites the exact capture receipts .
3.
Multi-Channel Workspaces: Tailored drafting for Substack, LinkedIn, and university society channels. Each workspace has its own voice profile (via vector embeddings), platform formatting rules, and banned-phrase filters.
4.
Deterministic Fact-Checking & Receipt Checking: The local model drafts, but pure Python deterministically audits the text. If the model hallucinates numbers, handles, links, or dates not grounded in your source captures, it catches them and retries.
5.
Content Planner & Nudges: Visual calendar views,.ics Google Calendar export, and gentle "you haven't posted in $N$ days" cadence nudges.
6.
Job Tracker & Resume Tailor: A Kanban tracker for internships and jobs, paired with a pipeline that tailors resume bullets and cover letters backed strictly by citations from your real work journal.
7.
Context Pack Generator: Instantly compiles recent journal lines, decisions, and open questions into a single markdown brief to paste into any new AI session.
Who would pay for this? Freelancers, solopreneurs, student builders, and developer advocates managing multiple side projects who want to maintain an active public presence and organized career pipeline without spending hours manually collating notes or paying hefty monthly SaaS subscriptions.
#
Demo
Here is a full walkthrough of magpie in action β from ingesting git logs and chat exports to generating verified, cited drafts and managing the job application pipeline:
(You can also run the full Streamlit interface locally in one command: streamlit run src/cdesk/app/Home.py or use the CLI via cdesk)
#
Code
magpie is 100% open-source and local-first:
#
How I Built It
magpie was engineered with a strict principle: The model writes; deterministic code verifies, schedules, and counts.
- Open-Source AI & Local Inference
Local LLMs via Ollama: Runs completely offline with open-weight models (such asqwen2.5:3b ,llama3.2 , ormistral ). #
Local Embeddings: Embeddings are generated locally and stored as binary BLOBs directly in SQLite for cosine-similarity voice matching and near-duplicate idea detection. #
Offline Template Fallback: Every LLM node has a deterministic Jinja2 template fallback, meaning the entire system remains functional even on a low-spec laptop with Ollama turned off.
- Stateful Graph Pipelines with LangGraph
magpie splits work into three distinct LangGraph cycles:
Journal Graph:select -> summarize (LLM) -> verify (receipt check) -> store . Unsupported claims are kicked back with exact violation feedback (up to 2 retries) before falling back. #
Drafting Graph:gather -> voice matching -> write (LLM) -> fact_check -> rules_check -> save . #
Job Tailor Graph:parse_jd (LLM) -> match_evidence -> write_bullets (LLM) -> verify (citations) -> store .
- Architecture & Stack
Database: SQLite with SQLite FTS5 (full-text search) synchronized via SQLite triggers. #
Frontend: Streamlit multi-page app with clean kanban boards, markdown editors, and visual diff badges for rules violations. #
CLI: Python Typer + Rich (cdesk capture ,cdesk journal ,cdesk draft ,cdesk tailor ,cdesk ics ).
#
Why Does Open Innovation Matter?
Open-source and local-first AI are essential for personal productivity tools:
Absolute Privacy for Sensitive Data: A work journal contains unreleased code commits, internal team notes, personal thoughts, and job hunt statuses. Sending this raw telemetry to proprietary cloud APIs is a non-starter. Open innovation allows everything to run 100% on localhost. 2. Accessible on Student Hardware: Proprietary frontier models demand ongoing credit card subscriptions and API fees. By leveraging 4-bit quantized open-weight models (1Bβ7B parameters), Content Desk runs efficiently on an everyday student laptop. 3. Auditability & Determinism: Open frameworks allow us to insert rigid verifiers between reasoning steps, eliminating hallucinations and ensuring the assistant remains grounded in real facts rather than speculative marketing fluff.
#
My First User
I built magpie out of personal necessity, and I was my own first user.
Before this, I had three persistent friction points:
Deadlines slipping away: Missing application deadlines and forgetting where I had applied or who I needed to follow up with. #
University Society updates: Spending hours every weekend trying to remember what our student team shipped during the week to write announcement posts. #
Content creation paralysis: Knowing I needed to share technical learnings on Substack and LinkedIn, but getting stuck on the blank page.
Dogfooding magpie during its development changed my workflow:
- Running
cdesk capture --git <repo-path>pulls my commits into the journal automatically at the end of the day. - When drafting our society newsletter, the drafting graph produces a structured draft in our tone within seconds, complete with citations to the actual pull requests.
- The Kanban job tracker with deadline reminders has kept my application pipeline organized without context switching between three different note-taking apps.
#
What's Next for Content Desk
This is just the beginning of my side hustle desk. On my roadmap:
- πΎ Desktop Application & Floating Widget: Packaging Content Desk as a lightweight desktop widget so I can quick-capture thoughts or check due nudges with a global hotkey.
- π¨ Vintage Y2K Aesthetic: Giving the UI a cohesive, playful retro Y2K theme with custom CSS styling to make daily planning and writing genuinely fun.
- π€ Grokbot-Style Proactive Assistant: Introducing an interactive, conversational buddy that actively nudges me about stalled job applications, brainstorms angles for society campaigns, and chats through project blockers.
- π§ͺ Further Polish & Edge-Case Debugging: Continuing to refine citation regex heuristics and parser support for more chat export formats.
#
Prize Categories
- Hacktoberfest Open-Source AI Challenge: Week 2 β Side Hustle