
Applications
NewsLens AI: A Daily Briefing on My Own Model Endpoint
Three feeds in, categorised, summarised per category, and one theme for the day.
A news digest that reads three technology feeds, sorts the articles into categories, writes a summary for each category in parallel, and then writes the connecting theme across the day. It runs on my own Azure OpenAI deployment rather than the platform's built-in model.
The problem
Summarising an article is not hard and has not been hard for some time. What a feed reader cannot do, and what I actually wanted, is the sentence that connects today’s stories to each other: the reason these particular things happened in the same week.
That is a different operation. It needs the articles sorted first, because a theme across six categories is not a theme, and it needs something to read the summaries rather than the articles.
What I built
I wrote the whole application as a specification before I wrote a line of it: three named pages, the fields on each card, the six category colours, the two data entities with their fields, the three default feed addresses, the default article count and the default topic. The first build came back complete against that list.
What took longer was the pipeline underneath, which ended up in three stages:
- One model call fetches the articles from the feeds and sorts them into categories.
- One call per category, all issued at once, writes a focused summary of that category.
- One final call reads those summaries and writes the day’s connecting theme.
Along the way I replaced the platform’s built-in model with my own GPT-4.1 Nano deployment on Azure OpenAI — credentials stored as secrets, a backend function that calls my endpoint, and the front end calling that function instead of the platform’s. A digest is a draft until it is saved, so only the ones worth keeping reach the history.
How it performed
It works, and that is the smaller half of the story.
Thirteen digests have been generated. Eleven of the twelve people with access joined on the day it was built, and almost every digest is dated that same day. The last one is five days later. Then nothing, for eight months.
The application did not fail. The habit never formed — including mine. A daily briefing is only a briefing if something makes you open it daily, and I built a dashboard rather than a delivery.
What I learned
Specification first builds in one pass. Writing the pages, fields, entities and defaults out before starting produced a working application immediately. The applications I built by conversation took many more rounds to reach the same place. The specification is the work; the build is what happens afterwards.
Owning the endpoint is an afternoon, and it changes what you can do. Moving from the platform’s model to my own Azure deployment took one set of secrets and one backend function. It gave me the model choice, the cost visibility and the ability to fan out calls per category — which the three-stage pipeline depends on.
Day-one usage is not usage. Twelve people and thirteen digests look like adoption until you notice they are the same day. The measure worth building into anything with a daily premise is the seventh day, not the first. I have no instrumentation for that, which is why it took reading the records to notice.
More in Applications
- AdSpark AI: A Search Campaign from a URLPaste a website, pick an objective, and get keywords, ad copy and landing page checks.
- Ayekart StratSim: A Resource Allocation Simulation on My Own CaseStudents spend four crore a round across seven decision areas, and find out which choices compound.
- ComputeShare: An Instrument for Studying Donated ComputingLabel some images, then decide whether to lend your device's processing power to research.