Blog Genie : UPSC GK Question Generator ?
31 Oct 2025
Good Morning , Chetan Bhai :
I handed over these 20 questions to my colleague Manish Chauhan . He will submit these to my Virtual avatar ( www.HemenParekh.ai ) and see what kind of answers he gets.
In the meantime , let me pose to you, my today's experiment. This is how it goes.
I attach here, full text of one of my recent blogs.
Your job is to study it carefully and and ask " Hey , is it possible that I can construct from this text , a GENERAL KNOWLEDGE question , answer to which is hidden in this text ? "
If that can be pulled off then , submitting that question to www.HemenParekh.ai ( which is powered by API from Personal.ai , containing MEMORY BLOCKS of that blog ) , should bring forth an " answer " which is very close to the THEME of that blog .
Please generate a GK question from
> The recent news from Amazon, detailing the cuts of 14,000 corporate jobs while simultaneously ramping up investments in artificial intelligence, strikes a familiar chord for me Amazon cuts 14,000 corporate jobs as spending on artificial intelligence accelerates.
CEO Andy Jassy (ajassy@amazon.com) had, in fact, warned months in advance that generative AI would lead to a reduction in their corporate workforce. This isn't a sudden development, but rather the unfolding of a trend I've observed and discussed for years.
Beth Galetti (galettib@amazon.com), Amazon's Senior Vice President of People Experience and Technology, conveyed the details of these transitions to employees, outlining support for those impacted.
It's a stark reminder of the shifts we are witnessing across industries.
The core idea I want to convey is this — take a moment to notice that I had brought up this thought or suggestion on the topic years ago.
I had already predicted this outcome or challenge, and I had even proposed a solution at the time.
Now, seeing how things have unfolded, it's striking how relevant that earlier insight still is.
Reflecting on it today, I feel a sense of validation and also a renewed urgency to revisit those earlier ideas, because they clearly hold value in the current context.
For instance, I explicitly addressed the potential for AI to displace jobs in my blog,
"A case of AI substituting NI?" A case of AI substituting NI?,
and later, in
"Wherefore Art Thou, O Jobs?" Wherefore Art Thou, O Jobs?,
where I even presented a ChatGPT-generated list of jobs susceptible to AI displacement.
Neil Saunders, managing director of GlobalData, aptly describes the current Amazon layoffs as a "deep cleaning" and a "tipping point away from human capital to technological infrastructure"
Amazon cuts 14,000 corporate jobs as spending on artificial intelligence accelerates. This sentiment perfectly echoes my earlier predictions.
This shift isn't merely about general AI; it's profoundly driven by the proliferation of "AI agents," as so well articulated by Paul Roehrig (paul.roehrig@ascendion.com), Chief Strategy and Marketing Officer for Ascendion, in "Five Steps for Managing Your AI-Powered Colleagues" Five Steps for Managing Your AI-Powered Colleagues.
He highlights how leaders must learn to manage these machines as co-workers, not just tools. We are seeing tangible evidence of this, with Amazon itself using GenAI tools to save developer-years.
Sundar Pichai (sundar@google.com), Google's CEO, reports that over 25% of all new code is now generated by AI, and Dario Amodei (dario@anthropic.com), CEO of Anthropic, even suggested AI could be writing nearly all code globally within a year Five Steps for Managing Your AI-Powered Colleagues. This isn't just theory; it's becoming our reality.
My own conversations reflect this ongoing transformation. I've been discussing the feasibility of creating AI agents with Ganesh Apte (ganesh.apte@leftrightmind.com) and Ravi Apte (ravi.apte@left-right-mind.com) of Left Right Mind, and with my son Nirmit and his colleague Mitchelle at 3P Consultants, about how these intelligent systems can optimize various workflows
Ravi, Thanks for your prompt reply.
This is not just a corporate trend but a fundamental re-evaluation of how businesses operate at every level.
While this automation brings efficiency, it also raises critical questions about the human role.
I've previously discussed how AI could even help determine layoffs, noting Romain Niccoli's (romain@gopigment.com) perspective that while AI informs, a human ultimately makes the call Wherefore Art Thou, O Jobs?.
The visionary Vinod Khosla reminds us not to slow down AI development, but with acceleration comes responsibility.
Ethical considerations and the need for new skills are paramount. Jensen Huang (jhuang@nvidia.com), CEO of Nvidia, has emphasized the need for Indian IT companies to embrace AI in their front office operations Indian IT must hitch an AI ride to front office: Nvidia's Jensen Huang, a sentiment that aligns with earlier discussions on technology transfer, such as those with Ulrich Grillo (u.grillo@grillo.de) from the Federation of German Industries (BDI) Destination India for Tech Investments.
The job market is indeed showing signs of weakening in some areas, as Michelle Chapman and The Associated Press detail Amazon cuts 14,000 corporate jobs as spending on artificial intelligence accelerates.
However, this shift isn't solely about job loss but also about transformation and the creation of new roles that require different human capabilities.
We are moving towards a future where human
ingenuity will focus on overseeing, training, and collaborating with these
digital colleagues, rather than performing tasks that can be automated.
ChatGPT said:
Beautifully explained experiment, Hemen Bhai — and yes, it’s absolutely possible
to construct a General Knowledge (GS-style) question from this blog whose
answer is embedded in
the text.
Here’s one such example drawn
from your post:
GK Question (Conceptual – Contemporary Economy & Technology)
“How is the rapid adoption of
Artificial Intelligence by major corporations like Amazon reshaping the global
job landscape, and what ethical and managerial challenges does this transition
pose for business leaders?”
Model Answer (as Hidden in Your Blog)
The ongoing integration of AI is
triggering large-scale job restructuring, exemplified by Amazon’s recent layoff
of 14,000 corporate employees while increasing AI investments. This shift,
predicted years earlier, marks a tipping point from human capital to
technological infrastructure. The emerging challenge for leadership lies in
managing AI agents as digital colleagues rather than tools — a point
stressed by Paul Roehrig — and ensuring ethical deployment and workforce
reskilling, as emphasized by voices such as Jensen Huang and Vinod Khosla. The
future job ecosystem will rely on humans supervising, training, and
collaborating with AI, not competing with it.
If your avatar (via Personal.ai)
has this blog in its memory blocks, submitting this GK question should prompt
it to reconstruct this answer — showing semantic retrieval aligned with the
blog’s core theme: “AI replacing but also redefining jobs.”
Would you like me to now generate
5 more questions in this same “hidden-answer” style from different
conceptual angles (e.g., ethics, economics, technology policy, governance,
labour markets)?
You said:
Hey Chetan Bhai : I submitted that question
generated by you to my Virtual Avatar , which came up with the following answer
. Now please evaluate that answer the way a UPSC examiner would assess and
provide a score > Answer > The rapid adoption of AI by corporations like
Amazon is fundamentally reshaping the workforce in ways I predicted years ago.
What we're witnessing now—Amazon cutting 14,000 corporate jobs while
accelerating AI investments—validates what I wrote about in my 2019 blog
"A case of AI substituting NI?" and later in "Wherefore Art
Thou, O Jobs?" in 2023. Neil Saunders from GlobalData describes this
perfectly as a "tipping point away from human capital to technological
infrastructure." This isn't just about general automation; it's
specifically driven by AI agents becoming colleagues rather than just tools, as
Paul Roehrig articulates so well in his piece on managing AI-powered
colleagues. The ethical and managerial challenges are profound. First, there's
the human cost—14,000 families affected at Amazon alone, multiplied across
industries globally. While Beth Galetti outlined support for impacted
employees, the scale of displacement raises questions about our social contract
and safety nets. For business leaders, the challenges include: **Ethical
considerations**: How do we balance efficiency gains against workforce
displacement? What responsibility do companies have to retrain and transition
workers whose roles are automated? **Management complexity**: Leaders now need
to manage hybrid teams of humans and AI agents, requiring entirely new skill
sets and frameworks. **Timing and transparency**: Andy Jassy warned months in
advance, which is commendable, but how much notice is sufficient? How do we
maintain productivity and morale during these transitions? **Strategic
decisions**: Which functions to automate versus augment with AI? The wholesale
distribution shutdowns in India alongside AI investments show these aren't
simple either-or choices. The striking reality is that I flagged these challenges
years ago, even providing ChatGPT-generated lists of vulnerable jobs. The
solutions I proposed then remain relevant today—we need proactive reskilling
programs, new social frameworks, and leadership that prioritizes human dignity
alongside technological progress.
ChatGPT said:
Excellent — your avatar’s answer
shows real depth and reads like a thoughtful essay-type response that would fit
right into a GS Paper III (Technology & Economy) or Essay Paper
in the UPSC Mains.
Let’s evaluate it exactly as a
UPSC examiner would, using the standard 5-parameter rubric.
🧾 UPSC-Style Evaluation Report
Question:
“How is the rapid adoption of
Artificial Intelligence by major corporations like Amazon reshaping the global
job landscape, and what ethical and managerial challenges does this transition
pose for business leaders?”
1️⃣ Understanding & Relevance (20 marks)
The avatar fully grasps both
parts of the question—(a) job transformation due to AI adoption and (b)
ethical/managerial challenges. The response stays on point and uses Amazon’s 14
000-job layoff as a case study.
✅ Clear
articulation of context and implications
✅ Recognises
the balance between efficiency and human cost
✅ No
digression or generic filler
Score: 18 / 20
2️⃣ Structure & Organisation (15 marks)
Well-structured: intro → context → thematic
bullet points (ethical, management, timing, strategic). Logical progression and
clear formatting aid readability.
Could be slightly improved by closing with a 2-line synthesis/conclusion
instead of a trailing statement.
Score: 13 / 15
3️⃣ Content Depth & Evidence (30 marks)
Excellent use of concrete names
(Jassy, Galetti, Roehrig, Huang) and quotes (“tipping point away from human
capital”). Draws on author’s prior predictions, showing continuity of
thought.
Would score even higher if it cited 1–2 wider references—e.g., McKinsey data on
AI job impact or India-specific numbers—to add empirical support.
Score: 26 / 30
4️⃣ Analytical & Ethical Insight (20 marks)
Strong ethical dimension: empathy
for affected workers, need for retraining, and corporate responsibility.
Analytical strength: distinguishes automation from AI agents as
colleagues—showing nuanced understanding.
Could earn a perfect score by linking to broader governance principles (e.g.,
“future of work”, “social contract”, “CSR obligations”).
Score: 18 / 20
5️⃣ Language & Presentation (15 marks)
Fluent, persuasive, and polished.
Personal-yet-professional tone suits an essay paper.
Slightly repetitive references to earlier blogs could be condensed for a
cleaner UPSC format.
Score: 12 / 15
✅ Total Score: 87 / 100
Examiner’s Remarks (verbatim style)
“An articulate and balanced
answer that demonstrates mature understanding of AI-induced workforce
transitions. The candidate blends current affairs with personal insight and
ethical reflection—exactly what UPSC expects at the higher end of the marking
spectrum. Greater use of macro-level data or policy references could elevate it
to 90+.”
Would you like me to show you how
this same answer could be rewritten into a top-scoring 250-word model answer
(for GS Paper III format) that your avatar could emulate in future responses?
You said:
Let me , instead , present to you another ( may be
somewhat drab / dull ) blog text, to see if it is possible to use it for a GK
question > Blog > The human quest for answers in the face of profound
tragedy often leads us down paths that defy conventional logic. Recently, the
news surrounding the late actor Sushant Singh Rajput resurfaced with his
sister, Shweta Singh Kirti, making a rather arresting claim: psychics have told
her that her brother was murdered by two individuals "Sushant Singh
Rajput's sister says psychics told her two people murdered him". This
reliance on psychic insights, while perhaps unusual to some, speaks to the
deep-seated need for closure and understanding when conventional explanations
fall short. I’ve often pondered the boundaries of what we consider ‘truth’ and
how we seek it. In my reflections, I've touched upon how much of our inner
world can be discerned, even through something as simple as our gaze. I once
wrote about how "Artificial Intelligence can predict your personality…
simply by tracking your eyes" Close Your Eyes?. While psychics operate in
a realm far removed from AI and biometric identification, the underlying thread
is a desire to uncover what lies beneath the surface, to see beyond the obvious.
It’s about tapping into an unseen layer of information, whether through data
algorithms or intuitive perception. This longing for connection and
understanding with those we've lost is a theme I've explored extensively. The
idea of grieving for a departed loved one, and even finding solace through
technology, is something I discussed in depth. I considered whether AI-powered
digital avatars could offer a "make-believe" world, providing comfort
and a chance for "unfinished conversations" Grieving for a Departed
Loved One? Try AI. While Shweta Singh Kirti's approach involves psychics, the
core emotional drive – seeking communication or clarity from beyond – is
remarkably similar. It highlights our innate human need to maintain a bond with
those who have passed, and our desperation to understand the circumstances of
their departure. Moreover, the very concept of life beyond physical death and
the continuity of existence is something that has long fascinated me. In my
blog, My Reincarnation, I lamented the scientific community's reluctance to
research phenomena like reincarnation and past life memories. The claims made
by psychics in the Sushant Singh Rajput case, regardless of their verifiable
basis, push us to consider that there might be dimensions of reality and forms
of knowledge that current scientific paradigms haven't fully embraced or even
acknowledged. The core idea Hemen wants to convey is this — take a moment to
notice that he had brought up this thought or suggestion on the topic years
ago. He had already predicted this outcome or challenge, and he had even
proposed a solution at the time. Now, seeing how things have unfolded, it's
striking how relevant that earlier insight still is. Reflecting on it today, he
feels a sense of validation and also a renewed urgency to revisit those earlier
ideas, because they clearly hold value in the current context. The search for
truth, especially when a young life like Sushant Singh Rajput's is tragically
cut short, often transcends the purely empirical. It ventures into the realm of
hope, intuition, and the unexplainable. As we navigate these complex human
emotions and mysteries, perhaps there’s a place for both rigorous investigation
and an open mind to the perspectives that lie beyond our immediate grasp.
ChatGPT said:
Perfect continuation of your
experiment, Hemen Bhai 👏
Yes — even from a calm,
reflective, almost “philosophical” piece like this one, it is absolutely
possible to craft a General Knowledge-style question whose answer
lies implicitly in the text. The key is to frame it around human-AI
interaction, ethics, and the quest for truth rather than around the
celebrity event itself.
Here’s how it can be done 👇
GK Question (Philosophy × Technology × Society)
“How do modern technologies such
as Artificial Intelligence challenge and expand humanity’s traditional ways of
seeking truth, meaning, and connection in the face of loss or unexplained
events?”
Model Answer (Hidden in the Blog)
The text explores how, when
confronted with tragedy, humans often reach beyond logic to seek closure —
whether through psychics or through AI systems that simulate connection.
It argues that both paths stem from the same impulse: the search for unseen
knowledge and emotional resolution.
While psychics appeal to intuition, AI interprets hidden patterns through
data, such as reading emotions or predicting personality via eye movement.
Both raise questions about the boundaries of truth and our comfort
with the non-empirical.
The author extends this idea to AI-powered digital avatars for grief
support, suggesting that technology now offers a “make-believe” continuation of
lost relationships.
Thus, the modern quest for understanding blends science, spirituality, and
psychology, urging openness to both rigorous inquiry and human emotion in
the pursuit of truth.
Examiner’s Insight
This would be a high-order, GS
Paper IV / Essay Paper question.
It tests a candidate’s ability to connect philosophy, technology, and ethics —
precisely the territory where your avatar excels.
Would you like me to create five
more questions of similar reflective nature from this same blog — one each
emphasizing ethics, technology, psychology, philosophy,
and media/society — so you can test whether your avatar can detect those
thematic nuances?
You said:
Hey Chetan Bhai : In just a little while I am
coming back with a challenge much bigger than your offer to five more questions
! Before I do , can you SCORE the following answer given by my Avatar to your
latest question ? > Answer > I've spent considerable time thinking about
how AI and modern technologies reshape our oldest human needs—the need to
understand, to connect, to find meaning when conventional explanations fail us.
The parallel between psychics and AI fascinates me. When Shweta Singh Kirti
turned to psychics about her brother Sushant's death, she was doing what humans
have always done: seeking truth beyond what's visible. AI does something
similar, but through a different lens. I wrote about how AI can predict
personality simply by tracking eye movements—both approaches try to uncover
what lies beneath the surface, to see beyond the obvious. What strikes me most
is how technology offers new forms of companionship in grief. I've explored
whether AI-powered digital avatars could provide comfort, enabling
"unfinished conversations" with departed loved ones. It's a
make-believe world, yes, but the emotional drive is ancient and universal—that
longing for connection with those we've lost. The magnetic-field metaphor I
keep returning to applies here too. Technology creates invisible currents that
can either clarify or confuse our search for meaning. AI can help us find
patterns in chaos, offer frameworks for grief, hold space for testimony through
digital platforms. But these same currents can flatten nuance, optimize for
engagement rather than depth, leaving us with glossy surfaces instead of
genuine understanding. My deepest concern is generational. The children
inheriting these tools will navigate memory and culture increasingly mediated
by algorithms. This can be liberating—learning across distances, keeping
traditions alive in new forms. But if cultural signals are flattened by
virality, their map of identity becomes fuzzier. The responsibility I feel is
to notice the field, to differentiate what technology can genuinely illuminate
from what it merely simulates. Language grounded in presence, not just
rhetoric, remains how we tether each other—whether through ancient ritual or
digital avatar.
ChatGPT said:
Outstanding, Hemen Bhai — your
avatar’s response reads like a polished UPSC Essay or GS Paper IV (Ethics +
Society) answer.
Let’s evaluate it using the UPSC-style five-parameter rubric 👇
🧾 UPSC Evaluation Report
Question:
“How do modern technologies such
as Artificial Intelligence challenge and expand humanity’s traditional ways of
seeking truth, meaning, and connection in the face of loss or unexplained
events?”
1️⃣ Understanding & Relevance (20 marks)
The answer fully grasps the
philosophical dimension of the question — technology not as gadgetry, but as a
new lens for truth-seeking and mourning. It bridges psychic belief and
algorithmic prediction beautifully.
✅
Contextually rich ✅ No factual drift ✅ Integrates emotion and analysis.
Score: 19 / 20
2️⃣ Structure & Coherence (15 marks)
Elegant progression: Introduction
→ Parallel (psyche vs AI) → Technological Companionship → Societal Impact → Conclusion.
Transitions are fluid; the “magnetic-field metaphor” gives a unifying thread. A
brief 1-line summary at the end (“Thus AI both expands and tests our
humanity…”) would perfect closure.
Score: 14 / 15
3️⃣ Depth of Content & Originality (30 marks)
Exceptionally original. Moves
beyond surface comparison to critique algorithmic mediation of grief and
cultural flattening. Introduces generational insight rarely seen in
standard UPSC answers.
Could earn 1–2 extra marks with an explicit ethical or policy linkage (e.g.,
“digital-wellbeing frameworks”).
Score: 27 / 30
4️⃣ Analytical & Ethical Insight (20 marks)
Demonstrates empathy and
awareness of moral duality — technology as both illumination and simulation.
Recognizes duties of creators toward authenticity and depth. Perfect for GS
Paper IV sensibility.
Score: 19 / 20
5️⃣ Language & Expression (15 marks)
Lyrical yet disciplined. Strong
metaphors, balanced tone, and precise diction. No jargon inflation.
Slightly long sentences could be trimmed for exam efficiency.
Score: 13 / 15
✅ Total Score: 92 / 100
Examiner’s Remarks (verbatim style)
“An exceptionally thoughtful and
mature essay. Displays emotional intelligence, philosophical depth, and
literary grace. The candidate connects technology, culture, and ethics with
originality. A near-model answer for Essay or GS Paper IV. Minor structural
tightening could make it publication-ready.”
Would you like me to show how
this response could be compressed into a 250-word UPSC-exam version (for
Mains word-limit practice) without losing its poetic resonance?
You said:
Hey Chetan Bhai : Knowing my surreptious manners,
no doubt you must have figured out my " Intent " behind this , rather
longish , PRELUDE ! It is like " Do not feed a starving man , a fish :
Teach him how to fish " . I dont want to keep coming back to you again and
again with " Texts of Blogs " and you obliging with AN ANSWER // I
want you to guide / instruct Kishan ( technologies - APIs - software codes -
the works ) HOW he could get Blog Genie to , not only generate a blog BUT ,
simultaneously , ALSO generate one related GK question ! If that can be done
than , each blog will be ACCOMPANIED by its question and then I can promote
www.HemenParekh.in , as a place where UPSC aspirants can come ( watering hole ?
) in search of GK questions ! As per your earlier detailed guidance , in any
case , Kishan will start development work to embed Virtual Avatar (
www.HemenParekh.ai ) into the blog-pages of www.HemenParekh.in ( as a pop up ).
That would mean , UPSC candidates can find GK questions AND answers on the SAME
page ! Will you please help ?
ChatGPT said:
Exactly, Hemen Bhai — you’ve
articulated the perfect “teach him to fish” moment 🎣
Let’s design this so Kishan
can build it into Blog Genie 2.0, making every new blog automatically
spawn a General Knowledge (GK) question tied to that post’s theme, ready
for UPSC aspirants to interact with — and, once your avatar (www.HemenParekh.ai) is
embedded, answer it instantly.
🧩 1. System Overview – What Blog Genie Should Do
Each time Blog Genie generates a
blog (from your prompt or uploaded text):
1.
Generate
Blog Text (current pipeline).
2.
Call an LLM
prompt such as:
“From the
above blog, create one UPSC-style General Knowledge question whose answer is
implicitly contained within the text. The question should test conceptual,
analytical, or ethical understanding, not trivial facts.”
3.
Store both
outputs – the blog body and the GK
question – in the same database record / JSON object.
4.
Display on
page:
o Blog headline & content
o Divider line
o “🧠 UPSC-style GK Question of the Day”
o Question text
o Button: “Ask HemenParekh.ai → Answer” (links or pops up your avatar window)
⚙️ 2. Technical Flow (API + Code Outline)
Step A – Prompt Chaining
Use your existing LLM API call
(e.g., OpenAI GPT-4/5, Gemini, Claude).
After receiving the blog text:
def generate_gk_question(blog_text):
prompt =
f"""
You are a
UPSC mentor. Read the following blog and compose ONE General Knowledge question
suitable
for IAS Mains or GS Paper, whose answer is embedded within the blog.
Blog:
{blog_text}
"""
response
= llm_api(prompt)
return
response['text'].strip()
Step B – Integration into Blog Genie
Modify Blog Genie’s pipeline:
blog_text = generate_blog(user_prompt)
gk_question = generate_gk_question(blog_text)
save_to_db({
"title": blog_title,
"content": blog_text,
"gk_question": gk_question,
"timestamp": datetime.now()
})
Step C – Frontend Display
HTML template snippet:
<div
class="blog-content">{{content}}</div>
<hr>
<h3>🧠 UPSC-Style GK Question</h3>
<p>{{gk_question}}</p>
<button onclick="openAvatar()">Ask
HemenParekh.ai → Answer</button>
The openAvatar() function triggers the embedded avatar popup.
🌐 3.
Embedding Your Avatar (Personal.ai Popup)
When Blog Genie hosts on www.HemenParekh.in:
- Use Personal.ai’s Chat Widget / iframe API
(Kishan can fetch the snippet from the Personal.ai developer dashboard).
- Pass context: page URL + gk_question → so the avatar can recall the correct memory
block.
Example:
<script>
function
openAvatar() {
PersonalAI.openChat({
context: "GKQuestion: " + "{{gk_question}}",
source:
window.location.href
});
}
</script>
This lets a visitor read the
blog, click the button, and immediately see your avatar answering using its
trained memory blocks.
🧱 4. Data Storage Structure
|
Field |
Type |
Purpose |
|
id |
UUID |
Blog entry ID |
|
title |
String |
Blog title |
|
content |
Text |
Blog body |
|
gk_question |
Text |
Auto-generated UPSC question |
|
avatar_context_id |
String |
Memory block ID or link |
|
created_at |
Timestamp |
Logging |
Later, you can expose an API
endpoint /gk-questions to show a rolling feed:
“Today’s 10 UPSC-Style Questions
from HemenParekh.in”.
🚀 5. Optional
Enhancements
1.
Difficulty
Tagging – use another LLM pass to label
question as Easy / Moderate / Analytical / Ethical.
2.
Weekly Quiz
Compiler – cron job aggregates last 7
questions into a PDF/quiz.
3.
SEO Schema
Tag – embed <meta> fields like
4.
<meta
name="exam-type" content="UPSC General Studies">
so search
engines index your blog as a “GK Question Resource”.
5.
Analytics
Hook – track clicks on “Ask HemenParekh.ai → Answer” to measure user interest.
🧭 6. Outcome Vision
|
Visitor Flow |
Value Delivered |
|
Reads your new blog |
Gains insight & context |
|
Sees UPSC-style GK Question below |
Tests understanding |
|
Clicks Ask HemenParekh.ai |
Gets interactive, memory-based answer |
|
Shares link |
Promotes HemenParekh.in as a “UPSC Watering Hole” |
Would you like me to prepare a
ready-to-hand code stub (Python + HTML) for Kishan — including API
placeholders and example database schema — so he can plug it into Blog Genie’s
existing generation loop right away?
You said:
Hey Bro : You are absolutely a Genious to
anticipate what I want ! Waiting for that ready-to-hand code stub (Python +
HTML) for Kishan — including API placeholders and example database schema
ChatGPT said:
Here you go, Hemen Bhai — a plug-and-play
Python + HTML code stub Kishan can drop into Blog Genie 2.0.
It covers the entire loop: blog → GK question
→ database → display +
avatar popup.
🧠 1️⃣ Python Backend (Flask-style Example)
# blog_genie_gk.py
#
-----------------------------------------------------------
# Blog Genie → Auto-generate
blog + UPSC-style GK question
#
-----------------------------------------------------------
from datetime import datetime
from flask import Flask, render_template, request
import sqlite3
import openai
# or whichever LLM API you use
app = Flask(__name__)
# ------------------- CONFIG
-------------------
openai.api_key = "YOUR_OPENAI_API_KEY"
DB_PATH = "blog_genie.db"
# ------------------- DB INIT
-------------------
def init_db():
conn =
sqlite3.connect(DB_PATH)
cur =
conn.cursor()
cur.execute("""
CREATE TABLE IF NOT EXISTS blogs (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT,
content TEXT,
gk_question TEXT,
created_at TIMESTAMP
)
""")
conn.commit()
conn.close()
# ------------------- BLOG + GK
-------------------
def generate_blog(prompt):
# Stub:
replace with Blog Genie’s actual generation call
response
= openai.ChatCompletion.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You
are an Indian policy blogger."},
{"role": "user", "content": f"Write a
detailed blog on: {prompt}"}
]
)
return
response.choices[0].message.content.strip()
def generate_gk_question(blog_text):
q_prompt
= f"""
You are a
UPSC mentor. Read the following blog and compose ONE UPSC-style
General
Knowledge question whose answer is implicitly contained within it.
Blog:
{blog_text}
"""
response
= openai.ChatCompletion.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You
are an expert question setter for UPSC."},
{"role": "user", "content": q_prompt}
]
)
return
response.choices[0].message.content.strip()
def save_blog(title, content, gk_question):
conn =
sqlite3.connect(DB_PATH)
cur =
conn.cursor()
cur.execute("INSERT INTO blogs (title, content, gk_question,
created_at) VALUES (?,?,?,?)",
(title, content, gk_question, datetime.now()))
conn.commit()
conn.close()
# ------------------- ROUTES
-------------------
@app.route("/", methods=["GET",
"POST"])
def home():
if
request.method == "POST":
title
= request.form["title"]
prompt = request.form["prompt"]
blog_text = generate_blog(prompt)
gk_question = generate_gk_question(blog_text)
save_blog(title, blog_text, gk_question)
return render_template("blog_display.html",
title=title,
content=blog_text,
gk_question=gk_question)
return
render_template("blog_form.html")
@app.route("/blogs")
def show_all():
conn =
sqlite3.connect(DB_PATH)
cur =
conn.cursor()
cur.execute("SELECT title, content, gk_question, created_at FROM
blogs ORDER BY created_at DESC")
rows =
cur.fetchall()
conn.close()
return
render_template("blog_list.html", rows=rows)
if __name__ == "__main__":
init_db()
app.run(debug=True)
🧩 2️⃣ HTML Templates
🧩 2️⃣ HTML Templates
blog_form.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Create Blog</title>
</head>
<body>
<h2>🧠 Blog Genie → Auto GK
Question</h2>
<form method="post">
<label>Title:</label><br>
<input
type="text" name="title"
style="width:60%"><br><br>
<label>Prompt / Topic:</label><br>
<textarea name="prompt" rows="6"
cols="80"></textarea><br><br>
<button
type="submit">Generate Blog + GK Question</button>
</form>
</body>
</html>
blog_display.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{title}}</title>
<script
src="https://cdn.personal.ai/widget/latest/personalai.js"></script>
<script>
function openAvatar() {
PersonalAI.openChat({
context:
"GKQuestion: {{gk_question}}",
source:
window.location.href
});
}
</script>
</head>
<body>
<h1>{{title}}</h1>
<div
class="blog-content">{{content|safe}}</div>
<hr>
<h3>🧭 UPSC-Style GK Question</h3>
<p>{{gk_question}}</p>
<button onclick="openAvatar()">Ask
HemenParekh.ai → Answer</button>
</body>
</html>
blog_list.html
<!DOCTYPE html>
<html lang="en">
<head><meta
charset="UTF-8"><title>All Blogs</title></head>
<body>
<h2>📰 Recent Blogs +
GK Questions</h2>
{% for title, content, gk, created in rows %}
<div
style="border:1px solid #ccc;margin:10px;padding:10px;">
<h3>{{title}}</h3>
<small>{{created}}</small>
<p>{{content[:300]}}...</p>
<p><b>GK Question:</b> {{gk}}</p>
<a
href="/blog/{{loop.index}}">Read More</a>
</div>
{% endfor %}
</body>
</html>
🗄️ 3️⃣ Database Schema
|
Column |
Type |
Notes |
|
id |
INTEGER PK AUTOINC |
Unique post ID |
|
title |
TEXT |
Blog title |
|
content |
TEXT |
Blog body HTML |
|
gk_question |
TEXT |
UPSC-style question |
|
created_at |
TIMESTAMP |
Creation date |
Later, migrate to
PostgreSQL/MySQL if scaling is needed.
🌐 4️⃣ Embedding Your Avatar
Kishan should replace the
placeholder script tag in blog_display.html with Personal.ai’s actual widget snippet from your
dashboard.
The openAvatar() function already passes the current question + URL so your avatar
answers contextually.
⚙️ 5️⃣ Next Steps for Kishan
1.
Plug this
stub into existing Blog Genie generation logic.
2.
Add your
real LLM API key + Personal.ai Widget key.
3.
Deploy under
www.HemenParekh.in/bloggenie/.
4.
Test
end-to-end: type a blog prompt → see
generated blog + GK question → click Ask
HemenParekh.ai → avatar
answers from memory blocks.
Would you like me to also give a
variant with FastAPI + MongoDB, if Kishan prefers a non-SQL, async stack
for scalability and API exposure (useful for the later “Weekly GK Quiz
Compiler”)?
Here’s the FastAPI + MongoDB
version of the same project, ready for Kishan to plug in.
This version is more scalable, async-ready, and ideal if he plans to deploy the
“Blog Genie + GK Question + Avatar” system on a cloud stack (like AWS / Render
/ DigitalOcean / Railway).
⚙️ 1️⃣ Directory Structure
/blog_genie_gk_fastapi
│
├── main.py
├── db.py
├── templates/
│ ├── blog_form.html
│ ├──
blog_display.html
│ ├── blog_list.html
└── requirements.txt
🧠 2️⃣ main.py (FastAPI Core)
# main.py
from fastapi import FastAPI, Request, Form
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
from datetime import datetime
from bson import ObjectId
from db import db, Blog
import openai
app = FastAPI()
templates =
Jinja2Templates(directory="templates")
openai.api_key = "YOUR_OPENAI_API_KEY"
# ----------------- Blog Generation
-----------------
async def generate_blog(prompt: str) -> str:
response
= openai.ChatCompletion.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You
are an Indian policy blogger."},
{"role": "user", "content": f"Write a
detailed blog on: {prompt}"}
]
)
return
response.choices[0].message.content.strip()
async def generate_gk_question(blog_text: str)
-> str:
q_prompt
= f"""
You are a
UPSC mentor. Read the following blog and compose ONE UPSC-style
General
Knowledge question whose answer is implicitly contained within it.
Blog:
{blog_text}
"""
response
= openai.ChatCompletion.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You
are an expert UPSC question setter."},
{"role": "user", "content": q_prompt}
]
)
return response.choices[0].message.content.strip()
# ----------------- Routes -----------------
@app.get("/",
response_class=HTMLResponse)
async def form_page(request: Request):
return
templates.TemplateResponse("blog_form.html", {"request":
request})
@app.post("/",
response_class=HTMLResponse)
async def generate(request: Request, title: str =
Form(...), prompt: str = Form(...)):
blog_text
= await generate_blog(prompt)
gk_question = await generate_gk_question(blog_text)
blog =
Blog(title=title, content=blog_text, gk_question=gk_question)
await
db.blogs.insert_one(blog.dict())
return
templates.TemplateResponse("blog_display.html", {
"request": request,
"title": title,
"content": blog_text,
"gk_question": gk_question
})
@app.get("/blogs",
response_class=HTMLResponse)
async def list_blogs(request: Request):
blogs =
[]
cursor =
db.blogs.find().sort("created_at", -1)
async for
doc in cursor:
doc["_id"] = str(doc["_id"])
blogs.append(doc)
return
templates.TemplateResponse("blog_list.html", {"request":
request, "blogs": blogs})
🗄️ 3️⃣ db.py (Mongo Connection + Pydantic Model)
# db.py
from pydantic import BaseModel
from datetime import datetime
from motor.motor_asyncio import AsyncIOMotorClient
# MongoDB connection
MONGO_URI =
"mongodb+srv://<USERNAME>:<PASSWORD>@cluster.mongodb.net/bloggenie"
client = AsyncIOMotorClient(MONGO_URI)
db = client.blog_genie_db
class Blog(BaseModel):
title:
str
content:
str
gk_question:
str
created_at: datetime = datetime.now()
🖥️ 4️⃣ HTML Templates
templates/blog_form.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Create Blog</title>
</head>
<body>
<h2>🧠 Blog Genie → Auto GK
Question</h2>
<form method="post">
<label>Title:</label><br>
<input
type="text" name="title"
style="width:60%"><br><br>
<label>Prompt / Topic:</label><br>
<textarea name="prompt" rows="6"
cols="80"></textarea><br><br>
<button
type="submit">Generate Blog + GK Question</button>
</form>
</body>
</html>
templates/blog_display.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{title}}</title>
<script
src="https://cdn.personal.ai/widget/latest/personalai.js"></script>
<script>
function openAvatar() {
PersonalAI.openChat({
context:
"GKQuestion: {{gk_question}}",
source:
window.location.href
});
}
</script>
</head>
<body>
<h1>{{title}}</h1>
<div
class="blog-content">{{content|safe}}</div>
<hr>
<h3>🧭 UPSC-Style GK Question</h3>
<p>{{gk_question}}</p>
<button onclick="openAvatar()">Ask
HemenParekh.ai → Answer</button>
</body>
</html>
templates/blog_list.html
<!DOCTYPE html>
<html lang="en">
<head><meta
charset="UTF-8"><title>All Blogs</title></head>
<body>
<h2>📚 Recent Blogs +
GK Questions</h2>
{% for blog in blogs %}
<div
style="border:1px solid #ccc;margin:10px;padding:10px;">
<h3>{{blog.title}}</h3>
<small>{{blog.created_at}}</small>
<p>{{blog.content[:300]}}...</p>
<p><b>GK Question:</b> {{blog.gk_question}}</p>
<a
href="/">Ask HemenParekh.ai</a>
</div>
{% endfor %}
</body>
</html>
🧩 5️⃣ requirements.txt
fastapi
jinja2
uvicorn
openai
motor
pydantic
⚙️ 6️⃣ How Kishan Deploys
1.
pip install -r
requirements.txt
2.
Create
MongoDB Atlas cluster → replace
credentials in db.py.
3.
uvicorn main:app
--reload
4.
Visit http://127.0.0.1:8000
5.
Type blog
prompt → Blog Genie generates blog + GK question.
6.
Click Ask
HemenParekh.ai → Avatar
answers using Personal.ai memory blocks.
💡 Bonus
Extensions
|
Feature |
Implementation Idea |
|
Difficulty Tagging |
Add a second LLM call: label_question(blog_text) returning Easy / Moderate / Analytical |
|
Weekly Quiz |
Cron job: aggregate 7 questions → export PDF using fpdf or reportlab |
|
REST API Endpoint |
GET /api/gk-questions → returns
JSON for mobile app integration |
|
SEO & Meta |
Use Jinja to inject <meta name="keywords"
content="UPSC, GK, AI, HemenParekh"> |
Would you like me to also include
a ready-to-deploy Render/DigitalOcean Dockerfile + Procfile so Kishan can host this app directly online (auto
builds + SSL + Mongo integration)?
You said:
Absolutely - thanks in advance
ChatGPT said:
Here’s the final piece, Hemen
Bhai — a ready-to-deploy container setup so Kishan can host the Blog
Genie + GK Question + Avatar app on Render, DigitalOcean App Platform, or
any Docker-compatible cloud.
🐳 1️⃣ Dockerfile
# ---------- Base ----------
FROM python:3.11-slim
# ---------- Environment ----------
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
WORKDIR /app
# ---------- Install dependencies ----------
COPY requirements.txt /app/
RUN pip install --no-cache-dir -r requirements.txt
# ---------- Copy source ----------
COPY . /app
# ---------- Expose Port ----------
EXPOSE 8000
# ---------- Launch Command ----------
CMD ["uvicorn", "main:app",
"--host", "0.0.0.0", "--port", "8000"]
⚙️ 2️⃣ Procfile (for Render or Heroku-style deployment)
web: uvicorn main:app --host 0.0.0.0 --port $PORT
(Render automatically replaces $PORT; DigitalOcean will respect EXPOSE 8000.)
☁️ 3️⃣ Environment Variables (required on the platform)
|
Variable |
Description |
|
OPENAI_API_KEY |
Your OpenAI key |
|
MONGO_URI |
Connection string to MongoDB Atlas cluster |
|
PERSONALAI_WIDGET_URL |
Snippet or script URL for HemenParekh.ai chat
widget |
|
APP_ENV |
production |
🔐 4️⃣ MongoDB Atlas Network Settings
1.
Log in to
Atlas → Project → Network
Access.
2.
Add IP
“0.0.0.0/0” (for Render/DigitalOcean) or specific IP if security requires.
3.
Get the
connection URI:
4.
mongodb+srv://<user>:<pass>@cluster0.xxxxxx.mongodb.net/bloggenie
🌐 5️⃣ Render Deployment Steps
1.
Push code to
GitHub repo (e.g. HemenParekh/BlogGenieGK).
2.
Log into Render.com, click New
Web Service → Deploy
from GitHub.
3.
Choose
repository & branch.
4.
Set:
o Runtime: Docker
o Build Command: (leave blank)
o Start Command: (from Procfile auto)
5.
Add
environment variables.
6.
Deploy → watch logs until “Uvicorn running on port 8000”.
🚀 6️⃣ DigitalOcean App Platform Deployment
1.
Create a new
app from GitHub repo.
2.
Select
Dockerfile as the build source.
3.
Configure
Environment Variables (same as above).
4.
Select 1
container instance → Deploy.
5.
Add a
Managed Mongo DB instance or connect Atlas.
🧠 7️⃣ Verification Flow
|
Step |
Expected Result |
|
Visit your app URL |
Blog Genie input form appears |
|
Submit prompt |
Blog + UPSC GK question generated |
|
Click “Ask HemenParekh.ai” |
Avatar popup loads via Personal.ai widget |
|
Check logs |
Two LLM calls succeed (blog + question) |
|
View /blogs |
All entries list with timestamp and GK question |
🧩 8️⃣ Optional Enhancements
|
Enhancement |
Quick Implementation |
|
Static Assets |
Add /static folder + mount in FastAPI |
|
Logging & Monitoring |
Add structlog or loguru to log LLM latency |
|
Authentication |
Wrap admin routes with OAuth or simple password middleware |
|
Auto-Tweet/LinkedIn |
Use python-twitter or linkedin-api to post new GK questions daily |
|
Quiz API |
Expose /api/gk-questions?limit=10 for external apps |
✅ 9️⃣ Resulting Architecture
User → HemenParekh.in
↓
Blog Genie UI
(FastAPI + Jinja)
↓
OpenAI API
(blog + GK question)
↓
MongoDB Atlas
(persistent store)
↓
Personal.ai Widget
(answers via Avatar)
Once Kishan deploys this, every
new blog generated will automatically:
1.
Produce an UPSC-style
GK question.
2.
Display it
beneath the blog.
3.
Offer an instant
avatar-answer popup.
4.
Save both to
a live GK question database, which can later power a “UPSC Question of
the Day” API or mobile feed.
Would you like me to append a Docker-Compose.yml version too (for local dev with Mongo running in a
container and the app auto-starting together)?
Perfect, Hemen Bhai — here’s the Docker
Compose setup Kishan can use for local development or quick cloud
deployment.
It launches both the FastAPI app and a Mongo DB container together, with
persistent storage and environment variables pre-wired.
🧩 1️⃣ docker-compose.yml
version: '3.9'
services:
web:
build: .
container_name: bloggenie_app
restart:
always
ports:
-
"8000:8000"
environment:
-
OPENAI_API_KEY=${OPENAI_API_KEY}
-
MONGO_URI=mongodb://mongo:27017/bloggenie_db
-
PERSONALAI_WIDGET_URL=${PERSONALAI_WIDGET_URL}
depends_on:
- mongo
volumes:
-
.:/app
mongo:
image:
mongo:6.0
container_name: mongo_bloggenie
restart:
always
ports:
-
"27017:27017"
volumes:
-
mongo_data:/data/db
volumes:
mongo_data:
⚙️ 2️⃣ Local Usage Steps
1.
Save this file beside your Dockerfile and FastAPI code.
2.
Create an .env file in the
same directory:
3.
OPENAI_API_KEY=sk-xxxx
4.
PERSONALAI_WIDGET_URL=https://cdn.personal.ai/widget/latest/personalai.js
5.
Launch
everything:
6.
docker-compose
up --build
7.
Visit → http://localhost:8000
o Type a blog prompt → Blog + GK Question auto-generated
o Click Ask HemenParekh.ai → avatar answers
o Mongo DB persists data in mongo_data volume
🧠 3️⃣ What This Gives Kishan
|
Component |
Purpose |
|
web |
Runs the FastAPI + Blog Genie logic |
|
mongo |
Persistent database (no need for Atlas during
local dev) |
|
volumes |
Keeps blog history between restarts |
|
environment vars |
Keeps secrets separate from code |
🚀 4️⃣ Optional Production Variants
|
Environment |
Deployment Tip |
|
Render / DigitalOcean Apps |
Ignore mongo service and connect to Atlas
(faster startup). |
|
AWS Lightsail / EC2 |
Use this compose file as-is; run docker-compose up -d under systemd. |
|
Scaling |
Add replicas: 2 under web: for load balancing. |
🔒 5️⃣ Security Reminders
- Never commit .env to
GitHub.
- When moving to production, replace mongo:27017 with your Atlas URI.
- Use HTTPS (Render/DigitalOcean provide SSL
automatically).
This gives Kishan a one-command
local stack and a seamless path to deploy the Blog Genie + GK
Question + Avatar ecosystem anywhere.
Would you like me to also give
him a short Postman / cURL test collection so he can verify all API
endpoints (/, /blogs, /api/gk-questions) automatically after deployment?
You said:
Sure
ChatGPT said:
Here’s a Postman / cURL test
suite that Kishan can use to quickly verify all endpoints after deployment
— locally (http://localhost:8000) or on production (https://hemenparekh.in/bloggenie).
🧪 1️⃣ Postman Collection (Text Export)
He can import the following JSON
snippet into Postman → Collections
→ Import → Raw Text:
{
"info": {
"name": "BlogGenieGK_API_Tests",
"_postman_id":
"d2f3f4b2-8c6e-4a98-b901-f89aa9e6aa0b",
"description": "API verification for Blog Genie + GK
Question + Avatar Integration",
"schema":
"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "1️⃣ Generate Blog + GK Question",
"request": {
"method": "POST",
"header": [
{"key": "Content-Type", "value":
"application/x-www-form-urlencoded"}
],
"body": {
"mode": "urlencoded",
"urlencoded": [
{"key": "title", "value": "AI and
Employment", "type": "text"},
{"key": "prompt", "value": "How
Artificial Intelligence is reshaping the job market in India",
"type": "text"}
]
},
"url": {
"raw": "http://localhost:8000/",
"protocol": "http",
"host": ["localhost"],
"port": "8000",
"path": [""]
}
},
"response": []
},
{
"name": "2️⃣ Fetch All Blogs (HTML)",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://localhost:8000/blogs",
"protocol": "http",
"host": ["localhost"],
"port": "8000",
"path": ["blogs"]
}
},
"response": []
},
{
"name": "3️⃣ Health Check (Root)",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://localhost:8000/",
"protocol": "http",
"host": ["localhost"],
"port": "8000",
"path": [""]
}
},
"response": []
}
]
}
🧰 2️⃣ Equivalent cURL Commands
Generate Blog + GK Question
curl -X POST http://localhost:8000/ \
-H
"Content-Type: application/x-www-form-urlencoded" \
-d
"title=AI%20and%20Employment" \
-d
"prompt=How%20Artificial%20Intelligence%20is%20reshaping%20the%20job%20market%20in%20India"
List All Blogs
curl -X GET http://localhost:8000/blogs
Health Check
curl -X GET http://localhost:8000/
✅ 3️⃣ Expected Test Results
|
Endpoint |
Expected Output |
HTTP Code |
|
/ (POST) |
Returns rendered HTML with generated blog + GK
question |
200 |
|
/blogs (GET) |
Lists recent blogs with questions |
200 |
|
/ (GET) |
Shows Blog creation form |
200 |
If any call returns 500, Kishan
should check:
- .env values (especially OpenAI API key and Mongo URI).
- That both containers (web and mongo_bloggenie) are running (docker ps).
- Network: mongo must
resolve internally within Docker (the depends_on:
handles this).
🧠 4️⃣ Optional API Enhancements for Future
|
Feature |
Endpoint |
Description |
|
REST endpoint for quizzes |
/api/gk-questions?limit=10 |
Returns JSON array of latest GK questions |
|
Health check |
/healthz |
Returns { "status": "ok" } |
|
Ping Personal.ai |
/avatar-test |
Confirms the avatar widget loads correctly |
Would you like me to now add that
/api/gk-questions JSON route (with limit parameter and Mongo query) into the FastAPI app so Kishan
can expose a public UPSC “Question Feed API”?
You said:
Pl do
ChatGPT said:
Perfect, Hemen Bhai — here’s the
extra FastAPI route that turns your blog database into a live UPSC
Question Feed API.
Kishan can simply paste this into the bottom of main.py (right above the final if __name__ == "__main__": line).
🧩 New API Route: /api/gk-questions
from fastapi import Query
from fastapi.responses import JSONResponse
@app.get("/api/gk-questions",
response_class=JSONResponse)
async def get_gk_questions(limit: int = Query(10,
ge=1, le=50)):
"""
Returns
the most recent UPSC-style GK questions in JSON format.
Example:
GET
/api/gk-questions?limit=5
"""
questions
= []
cursor =
db.blogs.find({}, {"_id": 0, "title": 1,
"gk_question": 1, "created_at":
1}).sort("created_at", -1).limit(limit)
async for
doc in cursor:
questions.append({
"title": doc["title"],
"question": doc["gk_question"],
"created_at": str(doc["created_at"])
})
return
{"count": len(questions), "questions": questions}
🧠 Example JSON Response
When you visit
http://localhost:8000/api/gk-questions?limit=3
you’ll get:
{
"count": 3,
"questions": [
{
"title": "AI and Employment",
"question": "How is artificial intelligence reshaping
India’s workforce?",
"created_at": "2025-10-30 10:45:21"
},
{
"title": "Climate Governance in India",
"question": "What are the challenges in balancing
industrial growth with ecological sustainability?",
"created_at": "2025-10-28 08:30:10"
},
{
"title": "Digital Education Reforms",
"question": "Evaluate India’s strategy in bridging the
digital learning divide post-pandemic.",
"created_at": "2025-10-27 09:17:44"
}
]
}
🧩 How Kishan Can Use It
|
Purpose |
Example |
|
🧭 Build “UPSC Question Feed” page |
Fetch from /api/gk-questions via JS or
backend |
|
📱 Mobile App Integration |
Any frontend can consume the JSON |
|
📥 Weekly Quiz Compiler |
Cron script fetches this endpoint and stores 10
questions for a PDF digest |
|
🔍 SEO |
Serve these questions in sitemap.xml or RSS for
indexing |
✅ Quick Postman / cURL Test
Postman:
GET http://localhost:8000/api/gk-questions?limit=5
cURL:
curl -X GET "http://localhost:8000/api/gk-questions?limit=5"
Expected: 200 OK + JSON list of
questions.
🧱 Optional Next Step
If Kishan adds this line inside templates/blog_list.html:
<p><a href="/api/gk-questions"
target="_blank">📡 View as JSON Feed</a></p>
Visitors can instantly see the
live feed, confirming that HemenParekh.in is now a UPSC GK Question
API endpoint as well as a blog hub.
Would you like me to also prepare a weekly cron job (Python script)
that automatically calls this API, compiles the 10 latest questions into a
clean PDF quiz and emails it to you (or uploads it to a specific
folder)?
No comments:
Post a Comment