Writing
Notes on what I build
Each post walks through one system: how it works, what was measured, and what the measurement changed.
- 14 min readcommentdraft: replying in public on a client's behalfPaid work: drafting public replies under a client's name, where a wrong price is a bill the client pays. The four ways the obvious build fails them, the approval gate that five pasted characters walked straight through, the three platforms whose comment text is not what the person typed, and a measured run where the bargain model billed 27 times more per comment.CLI · Python · Platform APIs · Security · Evaluation · AI/ML
- 9 min readTalos: a document-grounded team assistant, and the retrieval evaluation behind itA walkthrough of Talos, a team chat platform whose assistant answers from a team's own uploaded documents with citations. It covers the retrieval pipeline (hybrid search, cross-encoder reranking, cited generation) and the paired evaluation that found and fixed the chunking bug behind weak answers, raising judged correctness from 0.657 to 0.855 on the workspace's own corpus.RAG · Retrieval · Evaluation · FastAPI · Milvus · AI/ML
- 11 min readMeasuring your own writing voice, one function word at a timeHow I built a tool that turns a few of your writing samples into a measurable fingerprint, scores how far a draft has drifted from it, and nudges it back, with honest numbers about what the signal can and cannot do.NLP · Stylometry · Style Transfer · Python
- 14 min readWhen a speech-emotion model is really just recognizing the actorsA speech-emotion model can look impressive and still be mostly memorizing the 24 RAVDESS actors. Here is the leak, the speaker-independent pipeline that replaced it (frozen WavLM, layer weighting, attentive pooling, calibrated late fusion), and the honest speaker-independent result: 78.8%.Speech · Emotion Recognition · Evaluation · WavLM · Multimodal
- 14 min readHybrid RAG retrieval on a free CPU, and the evaluation where the fancy pipeline did not winA plain-language walkthrough of ContextIQ: dense plus BM25 retrieval, reciprocal rank fusion, cross-encoder reranking, and grounded generation, all on a free CPU, with an honest four-way evaluation where no single arm sweeps every metric.RAG · Retrieval · Embeddings · BM25 · Reranking · Evaluation
- 12 min readThe Virtual Bank System: event-driven microservices and a correct transfer sagaA study guide to the Virtual Bank System: a Spring Cloud Gateway fronting four core services, synchronous REST at the edge and an event-driven transfer saga over Kafka. It explains the architecture, the transfer step by step, and the three mechanisms that keep the money path correct: the transactional outbox, idempotent consumers, and pessimistic locking.Microservices · Event-Driven · Spring Boot · Kafka · Distributed Systems · Backend