Tiny Prompts for a Bigger Life: How to Reclaim Your Time with Practical AI
Everyone has had that day: you sit down with the best intentions to get work done, but somehow the hours melt away. Emails lead you to Slack, Slack alerts lead you to news headlines, and before you know it the afternoon is gone. It's not that you didn't try—you were busy all day—but at the end you feel like you didn't finish anything.
I know, because that was me. I remember a Tuesday when my coffee was cold and my to‑do list was a battlefield. My brain kept jumping from task to task, and I was caught in a loop of distraction. The hours slipped away, and with them, my energy and focus. If you've ever felt this way, you're not alone.
That day I tried something different. I opened my favorite AI assistant and typed a tiny prompt:
“List the tasks on my to‑do list, rate them by urgency and effort, suggest a schedule for the day that groups high‑focus tasks in the morning and admin tasks later, and end with a 60‑second action to get me started.”
The response was a revelation. It told me to write my report first, handle emails mid‑morning, and save planning sessions for after lunch. More importantly, it told me to spend one minute gathering materials for the report. That tiny first step—60 seconds—got me moving. Suddenly I was doing instead of dithering. It didn't feel like magic. It felt like clarity. The AI had taken 80% of the cognitive load from me and distilled it into a simple plan. All I had to do was follow it.
This was my introduction to the world of tiny prompts—short, practical scripts that help you reclaim your time. These are not science-fiction fantasies. They are everyday tools you can use right now to solve real problems—whether you're planning your budget, learning a new subject, cleaning your desk, or finding time to exercise. In this blog, I'll share how I use these prompts to run my day and how you can build your own Prompt Wallet—a collection of reusable prompts that do 80% of the work for you.
The 80‑20 Rule and Tiny Prompts
Before we dive into prompts, let's talk about why they work. You may have heard of the 80‑20 rule, also known as the Pareto Principle. It states that 80% of outcomes often result from 20% of causesinvestopedia.com. In other words, most of the results we see come from a small number of key factors. When applied to productivity, the idea is that a few well-chosen actions or decisions drive most of your progressinvestopedia.com.
Consider your own workday. A few tasks or decisions likely determine whether the day is successful. Should you focus on your most important project first? Will a brief break reset your energy? Once these key decisions are made, the rest flows more smoothly. The problem is that our brains often get bogged down in trivial choices—Do I reply to this email now? Should I check social media?—and we suffer from decision fatigue. Every choice drains mental energy. Tiny prompts solve this by embedding your important decisions in a clear, concise script. You set your context, constraints, and desired outcome, then let the AI handle the planning.
The Anatomy of a Tiny Prompt
A good prompt has four parts:
Context – This is our current reality. I describe what I am facing: my tasks, time available, tools, and energy levels.
Constraints – Here I specify any limits or requirements: how much time I have, what tools are available, any injuries or budget caps.
Outcome Format – Explain what I want back: a numbered list, a schedule, a checklist, or options to choose from.
Tiny First Step – Ask the AI for an action I can take in under a minute. It's the difference between reading advice and actually doing something.
Once you internalize this structure, you can apply it to anything: work, exercise, budgeting, studying, even cleaning up your living space. The beauty is that the AI doesn't decide for you—it reflects your reality back to you in a structured way, then suggests a plan based on your priorities.
Classic Prompts for Everyday Life
Let's start with the prompts I use every day. These scripts cover movement, money, learning, and organization. Each of them follows the four-step structure and comes with a first action that’s so easy you can't help but start.
1. Movement and Exercise Prompts
Moving your body shouldn't require Olympic-level effort. These prompts are designed for real life, not gym fantasies.
10‑Minute Micro‑Workout
“Goal: [mobility/strength/cardio/energy]. Time: 10 minutes. Equipment: [bodyweight/bands/dumbbells]. Injury/limitation: [if any]. Space: [tiny/normal]. Give me a warm start, a main set, and a one‑minute finish that makes me feel like a win without sweating through my clothes.”
Why it works: This prompt asks for a mini‑circuit that fits your space and equipment. If your goal is energy, it might suggest high knees, squats, lunges, and a quick plank. The tiny first step? Start marching in place. You can do that while reading this sentence.
30‑Day Progression (2× per week)
“I can commit to 2 days/week for 30 days. Equipment: [list]. Goals: [e.g., increase push‑ups from 10 to 30]. Create a week-by-week plan with easy and busy variations and a 6-minute salvage session if I miss a workout.”
Why it works: You set the commitment—twice a week, for one month. The AI gives you a progressive schedule that adapts to your life. If you miss a day, you still have a 6-minute protocol to stay on track.
Desk Detox Breaks
“I sit all day and my [neck/hips/back] hurt. Give me three 2-minute breaks with no equipment. Format: name → 3 cues → timer suggestion. Add one playful option (like wall angels) to make it fun.”
Why it works: Desk breaks keep you from feeling like a statue. Each mini‑routine is quick (2 minutes), specific (three cues to follow), and playful (like sliding your arms against an imaginary wall). It's self‑care without leaving your chair.
2. Money and Budgeting Prompts
Money stress is real, but these prompts can help you make decisions in seconds instead of hours.
Daily Dollar Decision
“Budget: [monthly amount]. Today’s temptation: [what + cost]. Priorities: [1–3 short-term goals]. Help me decide: give me a ‘yes/no’ with a two‑sentence rationale, a dollar offset (what I can skip to balance), and a friction trick to slow me down.”
Why it works: We often make impulse purchases without considering our bigger goals. This prompt forces you to weigh the temptation against your budget and offers a small trade-off. The friction trick might suggest removing your credit card from an app, which makes it harder to buy impulsively.
Zero‑Based Month + Bill Calendar
“Income: [net]. Fixed bills: [list with due dates]. Variable categories: [list with target amounts]. Sinking funds: [e.g., travel]. Create a zero‑based budget and a bill calendar. Output: table of categories, suggested weekly envelopes, first three cuts if I go over, and a 10‑minute Sunday ritual.”
Why it works: This prompt turns budgeting from a math problem into a plan. Every dollar has a purpose, and you know exactly when to pay bills. The Sunday check-in helps you adjust before overspending becomes a problem.
3. Study and Learning Prompts
I am able to learn better when I interact with the material.
Pomodoro Plan Builder
“Topic: [subject]. Time: [e.g., 60 minutes]. Level: [beginner/intermediate]. Deadline: [exam or project]. Make two 25-minute Pomodoros: the first to explain the concept ‘like I’m 12’ and identify five key terms; the second to answer five retrieval questions and solve one problem. End with a 5-minute self-quiz and tomorrow’s task.”
Why it works: The AI helps you break down complex material into digestible chunks. Explaining something like you’re 12 forces clarity. Retrieval practice strengthens memory. You finish with a tiny task for tomorrow so you know where to pick up next.
Teach‑Back & Test
“I’m learning [topic]. Give me a five‑point outline I should be able to ‘teach back’ in my own words, seven questions that test understanding, and one tiny project I can build in 30 minutes.”
Why it works: Teaching is the ultimate test of learning. This prompt provides a structure so you can teach yourself, then check your understanding with non‑trivial questions. The mini‑project makes you apply the knowledge.
4. Cleaning and Organization Prompt
Power Clean 15
“My [room/desk/kitchen] is cluttered. Items: [list]. Tools: [timer, boxes, trash bag]. Time: 15 minutes. Give me three steps to sort (trash/donate/keep), group tasks by area, and suggest one hack (like ‘clear surfaces first’). End with a one‑minute kickoff.”
Why it works: Tackling a mess in 15 minutes feels achievable. The prompt structures the cleanup (three categories, grouped by area) and ends with a simple action: set a timer or clear one corner. Once you start, momentum builds.
New Productivity Prompts
The classic prompts cover the basics, but many of us struggle most with productivity—how to plan our day, handle interruptions, and avoid overwhelm. That’s why I created five new prompts specifically for productivity hacks.
1. Time Block Scheduler
“I have [tasks], [morning, afternoon, evening] available. Sort tasks by urgency and effort. Allocate them into time blocks (morning, afternoon, evening) and suggest a one‑minute kickoff like ‘open your calendar and block 25 minutes for task one’.”
In practice: When I asked the AI to schedule a report, emails, and a brainstorm session across three blocks, it put the high‑effort report in the morning, administrative tasks before lunch, and creative work late in the afternoon. It told me to gather my documents for the report in the first minute. That tiny kickoff prevented me from procrastinating.
2. Task Prioritization & Sprint
“List all tasks with urgency (1–3) and effort (1–3). Ask the AI to sort tasks by highest impact and group similar ones. It should then suggest a 25-minute focus sprint on the first batch, plus a one‑minute step like ‘set a timer’.”
In practice: I tested this with three tasks: fixing a bug (urgency 3, effort 3), updating slides (urgency 2, effort 1), and clearing my inbox (urgency 1, effort 2). The AI sorted them by impact, grouped the slides and emails together, and gave me a 25-minute sprint on the bug. Here is the first step it gave me: Set a timer. Suddenly, my “monster list” became manageable.
3. Interrupt Handling Protocol
“Describe your day and likely interruptions (kids, meetings, Slack messages). Ask the AI for strategies to handle interruptions—like writing down where you left off when interrupted—and a 60-second prep step (e.g., silence notifications during deep work).”
In practice: I told the AI I had meetings at 10 AM and 2 PM, children who might need help, and Slack messages every five minutes. It gave me a complete day's plan with blocks for deep work , admin tasks, and simple rituals. When I got interrupted, it told me to jot down three lines about where I stopped, so it becomes easy to resume later. It recommended closing Slack or turning on do‑not‑disturb for 30 minutes. Interruptions became less chaotic.
4. Focus Sprint Routine
This was my tiny prompt for a focus sprint: “I need to focus on [task] for [time]. Distractions: [phone, social media]. Environment: [home/office]. Goal: [finish draft]. Output: a three‑segment focus routine: warm‑up (organize workspace), deep work (no distractions), and break. Start with a 60-second action like ‘clear your desk.’”
In practice: When I asked how to focus on a quarterly report for 45 minutes, the AI told me to spend five minutes clearing my desk and closing unnecessary apps. Then it recommended 35 minutes of deep work (writing, editing) and a five‑minute break to stand and stretch. The first step was to put my phone in another room for 60 seconds. These micro‑habits made it easier to get into the flow.
5. Daily Review & Prep
“At the end of the day, help me review what I accomplished, what I missed, what I learned, and what to tackle tomorrow. Suggest a two‑minute kickoff for tomorrow (like writing down my top three priorities).”
In practice: At 5 PM, I asked what I completed, what I deferred, and what I learned. The AI produced a short reflection with checkboxes for completed tasks, missed tasks, and lessons. It asked me to write down my top three priorities for the next day, block the first 90 minutes for the most important one, and note the first micro‑step (like “start outline”). This took the mental load off the next morning.
Live Demo: Planning a Day with Tiny Prompts
To show you how these prompts come together, here’s how I used them one afternoon:
Time Block Scheduler – I had to write a report, respond to emails, and brainstorm a new project. I fed my tasks, urgency, and available time blocks to the AI. It suggested a morning block for the report (9:00–9:50), a mid‑morning break, a midday window for emails and admin, and a creative session in the late afternoon. The one‑minute start? Open the report and write a five‑bullet outline.
Task Prioritization & Sprint – The AI sorted the tasks by impact and effort. It told me to tackle the bug first, update slides second, and leave the inbox for later. It grouped the slides and emails because both involve communication. It recommended a 25-minute sprint on the bug with a one‑minute kickoff: set a timer, open my code editor, and review the error logs.
Interrupt Handling – My day included two meetings and children at home. The AI built in buffer times and suggested writing breadcrumbs: three lines that say where I stopped, what I was doing, and what the next step is. If my kids interrupted me, I’d pause, write those lines, and return later. It also advised closing Slack for deep work blocks and summarizing meeting decisions immediately after each call.
Focus Sprint Routine – For a 45-minute sprint on the quarterly report, it suggested five minutes to clear my desk and set my phone to do‑not‑disturb. Then it broke down the 35 minutes of deep work into sub‑segments: outline, write, and refine. It ended with a five‑minute stretch break. The first step was to put my phone in a drawer for 60 seconds—easy and powerful.
Daily Review & Prep – At the end of the day, I asked the AI to help me reflect. It listed what I completed, what I missed, and what I learned. Then it asked me to write down my top three priorities for the next day, block time for them, and note the first micro‑step for priority one. The result? My brain could rest knowing tomorrow was already planned.
Putting these prompts together, I felt less overwhelmed and more in control. Instead of battling decisions, I followed a series of tiny scripts that kept me moving forward.
Your 7‑Day Prompt Challenge
If you want to build your own Prompt Wallet, here’s a challenge: try one prompt each day for the next seven days. Here’s a suggested schedule:
DayPromptTiny Action
1 Time Block Scheduler – Plan your tasks and allocate them to blocks. Gather your tasks and block 25 minutes for the highest impact task.
2 Task Prioritization & Sprint – Sort tasks by urgency and effort, then do a 25-minute sprint. Set a timer and begin the highest-priority task for 1 minute.
3 Interrupt Handling Protocol – Identify likely interruptions and prepare strategies. Put Slack or notifications on do‑not‑disturb for 30 minutes.
4 Focus Sprint Routine – Set up a focus routine for a project. Clear your desk and remove your phone for 60 seconds.
5 Daily Review & Prep – Reflect on the day and set tomorrow’s priorities. Write down your top three priorities for tomorrow.
6 Cleaning & Power Clean 15 – Declutter a space in 15 minutes. Set a timer for one minute and clear a surface.
7 Pomodoro Plan Builder or Teach‑Back – Choose a topic and study it using a Pomodoro or teach‑back prompt. Write down the topic and the first task (e.g., read the introduction).
Share your experience! Tag your posts with #PromptWalletChallenge or email me your story. Tracking your progress will help you see how tiny prompts shift your habits.
The Code
Bonus Tips for Prompt Success
Be Honest About Your Context – The more accurate your input, the more useful the output. If you only have 15 minutes and a screaming toddler, say so.
Add Constraints Up Front – If you have an injury, budget cap, or limited tools, mention it in the first line. It prevents unrealistic suggestions.
Specify the Output Format – If you want a schedule, say so. If you prefer a table or bullets, ask for that. The AI will adapt.
Always Ask for a Tiny First Step – This is where the magic happens. When you have a micro‑action, there’s no mental barrier. The first step leads to the next.
Save Your Favorite Prompts – Keep them in a note on your phone or a document. Reuse and refine them. They’re your personal cheat codes.
Review and Reflect – After using a prompt, note what worked and what didn’t. Ask the AI to adjust or simplify. Your prompts will improve with practice.
The Full Code
import json
import os
from pathlib import Path
from typing import Dict, List, Optional
import streamlit as st
from pydantic import BaseModel, Field
# Optional: .env support
try:
from dotenv import load_dotenv
load_dotenv()
except Exception:
pass
st.set_page_config(
page_title="Prompt Wallet • Tiny Prompts, Big Productivity",
page_icon="🧠",
layout="wide",
)
# ------------------------------
# AI Client (OpenAI-compatible)
# ------------------------------
def call_ai(prompt: str, model: str, temperature: float = 0.7, base_url: Optional[str] = None, api_key: Optional[str] = None) -> str:
"""
Send the prompt to an OpenAI-compatible Chat Completions API and return text.
"""
try:
from openai import OpenAI
except Exception as e:
return f"⚠️ OpenAI SDK not installed. Run `pip install openai`. Details: {e}"
_api_key = api_key or os.getenv("OPENAI_API_KEY", "")
if not _api_key:
return "⚠️ Missing OPENAI_API_KEY. Set it in your environment."
client_args = {"api_key": _api_key}
if base_url:
client_args["base_url"] = base_url
try:
client = OpenAI(**client_args)
resp = client.chat.completions.create(
model=model,
temperature=temperature,
messages=[
{"role": "system", "content": "You are a helpful, practical assistant. Write clearly, concisely, and with a friendly tone."},
{"role": "user", "content": prompt}
],
)
return resp.choices[0].message.content.strip()
except Exception as e:
return f"⚠️ AI request failed: {e}"
# ------------------------------
# Data: Prompt Templates (with defaults)
# ------------------------------
class PromptTemplate(BaseModel):
name: str
category: str
template: str
fields: List[str]
# Backward-compatible: if an older copy didn't have defaults, our code will still work.
defaults: Dict[str, str] = Field(default_factory=dict)
def tpl_defaults(t: PromptTemplate) -> Dict[str, str]:
"""Safely get defaults even if an older object lacks the attribute."""
return getattr(t, "defaults", {}) or {}
TEMPLATES: List[PromptTemplate] = [
# Movement & Fitness
PromptTemplate(
name="10-Minute Micro-Workout",
category="Movement & Fitness",
fields=["goal", "equipment", "limitations", "space"],
defaults={
"goal": "shake off midday slump; light sweat",
"equipment": "no equipment",
"limitations": "sore wrists; no jumping",
"space": "small living room"
},
template=("Goal: [{goal}]. Time: 10 minutes. Equipment: [{equipment}]. "
"Limitations: [{limitations}]. Space: [{space}]. "
"Output: warm-up (1–2 min), main set (6–7 min), 60-sec finisher. "
"Add one playful option. End with a 60-second kickoff.")
),
PromptTemplate(
name="30-Day Progression (2x/week)",
category="Movement & Fitness",
fields=["equipment", "goals"],
defaults={
"equipment": "resistance bands, yoga mat",
"goals": "core strength, posture, light cardio"
},
template=("I can do 2 sessions/week for 30 days. Equipment: [{equipment}]. "
"Goals: [{goals}]. Create a week-by-week progression (busy/easy variants) "
"+ one 6-minute ‘rescue’ if I miss a day. End with a 60-second kickoff.")
),
PromptTemplate(
name="Desk Detox (3×2-minute breaks)",
category="Movement & Fitness",
fields=["areas"],
defaults={"areas": "neck, hips, eyes"},
template=("I sit all day. Target areas: [{areas}]. No equipment. "
"Output: three 2-minute breaks I can do at my desk. "
"Label them: wake-up / reset / unwind. End with a 60-second kickoff.")
),
PromptTemplate(
name="Energy Reset Walk (8–12 min)",
category="Movement & Fitness",
fields=["setting"],
defaults={"setting": "quiet neighborhood block with one gentle hill"},
template=("I have 10 minutes. Setting: [{setting}]. "
"Give me a rhythmic walk sequence with 3 breath cues and one ‘look far’ eye relaxer. "
"End with a 60-second kickoff.")
),
# Money & Budget
PromptTemplate(
name="Daily $ Decision",
category="Money & Budget",
fields=["monthly_budget", "temptation", "cost", "priorities"],
defaults={
"monthly_budget": "$2,400",
"temptation": "takeout sushi",
"cost": "$24",
"priorities": "pay off card, build $1,000 buffer"
},
template=("Budget: [{monthly_budget}/month]. Today’s temptation: [{temptation}] (cost: {cost}). "
"Priorities: [{priorities}]. Provide: yes/no + trade-off (what to skip) "
"+ a friction trick to slow me down + a 60-second pause ritual.")
),
PromptTemplate(
name="Zero-Based Month + Bill Calendar",
category="Money & Budget",
fields=["net_income", "fixed_bills", "variable_categories", "sinking_funds"],
defaults={
"net_income": "$5,500",
"fixed_bills": "rent $2,200 (1st), internet $70 (5th), phone $60 (10th), utilities $160 (15th)",
"variable_categories": "groceries $500, transport $180, eating out $200, misc $150",
"sinking_funds": "car maintenance $60, gifts $40, travel $150"
},
template=("Income (net): [{net_income}]. Fixed bills + due dates: [{fixed_bills}]. "
"Variable categories: [{variable_categories}]. Sinking funds: [{sinking_funds}]. "
"Output: zero-based budget + bill calendar + first 3 cuts if overspent + a 10-min Sunday review. "
"End with a 60-second kickoff.")
),
PromptTemplate(
name="Expense Autopsy (10 min)",
category="Money & Budget",
fields=["period", "data_source"],
defaults={
"period": "last 14 days",
"data_source": "bank CSV export"
},
template=("I have 10 minutes to review spending for [{period}] from [{data_source}]. "
"Find 3 leaks, 3 quick wins, and 1 habit change. "
"Output a table (category, amount, action). End with a 60-second kickoff.")
),
PromptTemplate(
name="Savings Sprint (30 days)",
category="Money & Budget",
fields=["target", "constraints"],
defaults={
"target": "$500",
"constraints": "no overtime; two weekend events already planned"
},
template=("Target: save [{target}] in 30 days. Constraints: [{constraints}]. "
"Output: 5 quick wins (today), 5 weekly actions, 3 ‘no-spend’ rules, "
"and an accountability ritual. End with a 60-second kickoff.")
),
# Study & Learning
PromptTemplate(
name="Pomodoro Plan Builder (2×25)",
category="Study & Learning",
fields=["topic", "level", "deadline"],
defaults={
"topic": "retrieval-augmented generation (RAG)",
"level": "beginner",
"deadline": "Friday 5 PM"
},
template=("Topic: [{topic}]. Time: 60 minutes. Level: [{level}]. Deadline: [{deadline}]. "
"Make two 25-minute Pomodoros: (1) Explain like I’m 12. (2) Retrieval quiz. "
"End with a 5-minute self-quiz and tomorrow’s first step. "
"End with a 60-second kickoff.")
),
PromptTemplate(
name="Teach-Back & Test",
category="Study & Learning",
fields=["topic"],
defaults={"topic": "SQL window functions"},
template=("I’m learning [{topic}]. Provide a five-point outline to teach it back, "
"seven comprehension questions, and a 30-minute micro-project. "
"End with a 60-second kickoff.")
),
PromptTemplate(
name="Paper Skim → Value (12 min)",
category="Study & Learning",
fields=["paper_title"],
defaults={"paper_title": "Attention Is All You Need (Vaswani et al., 2017)"},
template=("I have 12 minutes to skim [{paper_title}]. Output: 5 bullets (problem, method, key idea, "
"limitation, application) and a 60-second ‘so what for me’. End with a 60-second kickoff.")
),
PromptTemplate(
name="Skill Ladder (3 rungs)",
category="Study & Learning",
fields=["skill"],
defaults={"skill": "building dashboards with Looker / dbt"},
template=("Skill: [{skill}]. Output: rung 1 (5-min intro), rung 2 (15-min build), "
"rung 3 (30-min mini-project), plus one ‘show your work’ idea. "
"End with a 60-second kickoff.")
),
# Cleaning & Personal
PromptTemplate(
name="Power Clean 15",
category="Cleaning & Personal",
fields=["space", "items", "tools"],
defaults={
"space": "studio apartment entry + desk",
"items": "mail pile, jackets, random cables",
"tools": "trash bags, microfiber cloth, small bin"
},
template=("Space: [{space}]. Items: [{items}]. Tools: [{tools}]. "
"Output: 3 steps (trash/donate/keep), area batching, surface-first rule, "
"and a 60-second kickoff.")
),
PromptTemplate(
name="Digital Declutter (10 min)",
category="Cleaning & Personal",
fields=["target"],
defaults={"target": "browser tabs"},
template=("Target: [{target}] (inbox/files/tabs). Output: triage rule, batch steps, 10-min cap, "
"and one prevention rule. End with a 60-second kickoff.")
),
PromptTemplate(
name="Social Reconnect (5–10 min)",
category="Cleaning & Personal",
fields=["person", "context"],
defaults={
"person": "former teammate, Priya",
"context": "new job; we worked together on the 2022 analytics launch"
},
template=("Person: [{person}] (context: {context}). Output: message opener, "
"2 memory hooks, a light-lift share (article/voice note), "
"and a 60-second send step.")
),
PromptTemplate(
name="Mindfulness Micro-Breaks (3×60s)",
category="Cleaning & Personal",
fields=["work_context"],
defaults={"work_context": "back-to-back Zoom calls; afternoon slump"},
template=("Context: [{work_context}]. Output: 3 one-minute resets (breath, vision shift, posture cue) "
"and one ‘say next action out loud’. End with a 60-second kickoff.")
),
# Productivity & Focus
PromptTemplate(
name="Time Block Scheduler",
category="Productivity & Focus",
fields=["tasks", "availability"],
defaults={
"tasks": "finish Q3 deck; reply to 6 emails; draft job application; 30-min workout",
"availability": "9:30–11:30 deep work; 2:00–3:30 admin; 4:30–5:00 buffer"
},
template=("Tasks: [{tasks}]. Available blocks: [{availability}]. "
"Sort by urgency and effort, batch similar tasks, schedule deep work in the morning. "
"Provide a time-boxed plan with buffers and a 60-second kickoff.")
),
PromptTemplate(
name="Task Prioritization & Sprint",
category="Productivity & Focus",
fields=["tasks_with_scores"],
defaults={
"tasks_with_scores": "Q3 deck (urgency 3, effort 2); inbox zero (u2,e1); jog (u1,e1); apply to Hims role (u3,e2)"
},
template=("Tasks with urgency(1–3) & effort(1–3): [{tasks_with_scores}]. "
"Reorder by highest impact, group similar tasks, suggest a 25-minute sprint on batch 1, "
"and a one-minute starter.")
),
PromptTemplate(
name="Interrupt Handling Protocol",
category="Productivity & Focus",
fields=["interruptions"],
defaults={"interruptions": "Slack pings, ad-hoc asks, calendar pop-ups"},
template=("Day interruptions: [{interruptions}]. "
"Output: guardrails (DND/status), breadcrumbs note, refocus ritual (3 breaths, read breadcrumbs, "
"say next action, 25-min timer), plus a 60-second prep step.")
),
PromptTemplate(
name="Focus Sprint Routine (45–60)",
category="Productivity & Focus",
fields=["task", "distractions", "environment", "duration"],
defaults={
"task": "finalize product analytics case study",
"distractions": "phone, email refresh",
"environment": "home desk with door closed",
"duration": "50 minutes"
},
template=("Task: [{task}]. Distractions: [{distractions}]. Environment: [{environment}]. "
"Duration: [{duration}]. Output: warm-up (2–5 min), deep work block, 5-min break, "
"and an exact first minute. End with a 60-second kickoff.")
),
PromptTemplate(
name="Daily Review & Prep",
category="Productivity & Focus",
fields=["done_today", "missed", "learned", "priorities_tomorrow"],
defaults={
"done_today": "finished EDA blog outline; 30-min run",
"missed": "didn’t send recruiter follow-up",
"learned": "shorter outlines speed up drafting",
"priorities_tomorrow": "send follow-up; draft intro; 45-min interview prep"
},
template=("End-of-day review. What I completed: [{done_today}]. What I missed: [{missed}]. "
"What I learned: [{learned}]. Priorities for tomorrow: [{priorities_tomorrow}]. "
"Suggest a 2-minute kickoff for tomorrow (block time, write start step).")
),
]
CATEGORIES = sorted(set(t.category for t in TEMPLATES))
# ------------------------------
# Helpers
# ------------------------------
def fill_template(t: PromptTemplate, values: Dict[str, str]) -> str:
s = t.template
defs = tpl_defaults(t)
for f in t.fields:
v = values.get(f, defs.get(f, f"{{{f}}}"))
s = s.replace("{" + f + "}", v)
s = s.replace("[" + f + "]", v)
return s
def save_preset(name: str, data: Dict):
tmpl = next((x for x in TEMPLATES if x.category == data["category"] and x.name == data["template"]), None)
base_defaults = tpl_defaults(tmpl) if tmpl else {}
values = dict(base_defaults)
values.update({k: v for k, v in data.get("values", {}).items() if v})
payload = {
"category": data["category"],
"template": data["template"],
"values": values
}
presets = load_presets()
presets[name] = payload
Path("presets.json").write_text(json.dumps(presets, indent=2))
def load_presets() -> Dict[str, Dict]:
p = Path("presets.json")
if p.exists():
return json.loads(p.read_text())
return {}
def template_by(cat: str, name: str) -> Optional[PromptTemplate]:
return next((t for t in TEMPLATES if t.category == cat and t.name == name), None)
# ------------------------------
# Sidebar — AI Settings
# ------------------------------
st.sidebar.header("⚙️ AI Settings")
default_model = "gpt-4o-mini"
model_name = st.sidebar.text_input("Model", value=default_model, help="OpenAI or compatible model name, e.g., gpt-4o-mini")
base_url = st.sidebar.text_input("Base URL (optional)", value="", help="For OpenAI-compatible endpoints")
api_key = st.sidebar.text_input("API Key (optional)", type="password", value=os.getenv("OPENAI_API_KEY", ""))
temperature = st.sidebar.slider("Temperature", 0.0, 1.5, 0.7, 0.1)
auto_answer = st.sidebar.checkbox("Auto-answer after Generate", value=True)
# ------------------------------
# Title & Tabs
# ------------------------------
st.title("🧠 Prompt Wallet — Tiny Prompts, Big Productivity")
st.caption("Fill the brackets with your reality, pick your format, and always end with a 60-second first step.")
tab_build, tab_wallet, tab_presets = st.tabs(["Build a Prompt", "All Prompts", "Presets"])
# ------------------------------
# Build a Prompt
# ------------------------------
with tab_build:
col1, col2 = st.columns([1, 2], vertical_alignment="top")
with col1:
category = st.selectbox("Category", CATEGORIES)
templates = [t for t in TEMPLATES if t.category == category]
template_obj = st.selectbox("Template", templates, format_func=lambda t: t.name)
st.write("**Fields**")
values = {}
if st.button("↺ Use Defaults", use_container_width=True):
st.session_state["form_defaults_token"] = (category, template_obj.name)
for f in template_obj.fields:
default_prefill = tpl_defaults(template_obj).get(f, "")
token = st.session_state.get("form_defaults_token", None)
if token == (category, template_obj.name):
current_value = default_prefill
else:
current_value = st.session_state.get(f"field_{template_obj.name}_{f}", default_prefill)
values[f] = st.text_input(
f"• {f}",
value=current_value,
key=f"field_{template_obj.name}_{f}"
)
gen_clicked = st.button("Generate Prompt", type="primary", use_container_width=True)
if "generated" not in st.session_state:
st.session_state["generated"] = ""
if "ai_answer" not in st.session_state:
st.session_state["ai_answer"] = ""
if gen_clicked:
st.session_state["generated"] = fill_template(template_obj, values)
st.session_state["ai_answer"] = ""
with st.expander("Save as preset"):
preset_name = st.text_input("Preset name")
if st.button("Save preset", use_container_width=True, disabled=not preset_name):
save_preset(preset_name, {
"category": category,
"template": template_obj.name,
"values": values
})
st.success(f"Saved preset: {preset_name}")
with col2:
st.subheader("Your Prompt")
st.code(st.session_state["generated"] or "Fill fields and click Generate.", language="markdown")
col_a, col_b, col_c = st.columns([1,1,1])
with col_a:
st.download_button(
"Download .txt",
data=(st.session_state["generated"] or "").encode("utf-8"),
file_name="prompt.txt",
mime="text/plain",
use_container_width=True
)
with col_b:
st.download_button(
"Download .md",
data=(st.session_state["generated"] or "").encode("utf-8"),
file_name="prompt.md",
mime="text/markdown",
use_container_width=True
)
with col_c:
ask_now = st.button("Ask AI", use_container_width=True, type="secondary")
if gen_clicked and auto_answer and st.session_state["generated"].strip():
st.session_state["ai_answer"] = call_ai(
st.session_state["generated"],
model=model_name,
temperature=temperature,
base_url=base_url or None,
api_key=api_key or None
)
if ask_now and st.session_state["generated"].strip():
st.session_state["ai_answer"] = call_ai(
st.session_state["generated"],
model=model_name,
temperature=temperature,
base_url=base_url or None,
api_key=api_key or None
)
st.markdown("### AI Response")
if st.session_state["ai_answer"]:
st.write(st.session_state["ai_answer"])
st.download_button(
"Download answer (.md)",
data=(st.session_state["ai_answer"]).encode("utf-8"),
file_name="answer.md",
mime="text/markdown",
use_container_width=True
)
else:
st.info("Click **Ask AI** (or enable Auto-answer) after generating a prompt to see the response here.")
# ------------------------------
# All Prompts
# ------------------------------
with tab_wallet:
st.subheader(f"All {len(TEMPLATES)} Templates")
for cat in CATEGORIES:
st.markdown(f"### {cat}")
for t in [x for x in TEMPLATES if x.category == cat]:
with st.expander(f"• {t.name}"):
st.write("**Fields:** " + ", ".join(t.fields))
st.write("**Sample defaults:**")
st.json(tpl_defaults(t))
st.write("**Template:**")
st.code(t.template, language="markdown")
if st.button(f"Generate with defaults → {t.name}", key=f"gen_default_{t.name}"):
st.session_state["generated"] = fill_template(t, tpl_defaults(t))
st.success("Generated in 'Build a Prompt' → see right panel there.")
# ------------------------------
# Presets
# ------------------------------
with tab_presets:
st.subheader("Saved Presets")
presets = load_presets()
if not presets:
st.info("No presets saved yet.")
else:
for name, data in presets.items():
with st.expander(name):
st.json(data)
if st.button(f"Load → {name}", key=f"load_{name}"):
cat = data["category"]
tmpl_name = data["template"]
vals = data.get("values", {})
sel_t = template_by(cat, tmpl_name)
if sel_t:
st.session_state["generated"] = fill_template(sel_t, vals or tpl_defaults(sel_t))
for f in sel_t.fields:
st.session_state[f"field_{sel_t.name}_{f}"] = (vals.get(f) if vals else tpl_defaults(sel_t).get(f, ""))
st.success("Loaded into generator. Switch to 'Build a Prompt'.")
else:
st.error("Template not found in current wallet.")
Conclusion: Reclaim Your Time with AI
I began this with a cold cup of coffee and a chaotic to‑do list. We end with a toolbox of tiny prompts that can transform your day. Instead of staring at tasks and freezing, you can set up a plan in seconds. Whether it’s scheduling your work, prioritizing projects, handling interruptions, focusing on deep work, or reviewing your day, the right prompt does 80% of the heavy lifting. You provide the context; AI provides the clarity.
Remember, the 80‑20 rule isn’t a law—it’s a guideline. Most of your progress comes from a few key actions, investopedia.com. By using tiny prompts, you identify those critical actions quickly. The next time you feel overwhelmed, don’t stare at your to‑do list and hope. Open your Prompt Wallet, pick a script, and let AI help you reclaim your day.

